react-native-screen-transitions 4.1.0-beta.0 → 4.1.0-beta.1
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/components/boundary/components/boundary-lifecycle.js +40 -8
- package/lib/commonjs/components/boundary/components/boundary-lifecycle.js.map +1 -1
- package/lib/commonjs/components/boundary/components/boundary-target.js +10 -17
- package/lib/commonjs/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/commonjs/components/boundary/create-boundary-component.js +13 -16
- package/lib/commonjs/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/commonjs/components/boundary/helpers/presentation.js +56 -0
- package/lib/commonjs/components/boundary/helpers/presentation.js.map +1 -0
- package/lib/commonjs/components/boundary/hooks/use-boundary-presentation.js +65 -0
- package/lib/commonjs/components/boundary/hooks/use-boundary-presentation.js.map +1 -0
- package/lib/commonjs/components/boundary/hooks/use-composed-boundary-style.js +43 -0
- package/lib/commonjs/components/boundary/hooks/use-composed-boundary-style.js.map +1 -0
- package/lib/commonjs/components/boundary/index.js +2 -3
- package/lib/commonjs/components/boundary/index.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/portal-host.js +39 -0
- package/lib/commonjs/components/boundary/portal/components/portal-host.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/components/portal-overlay.js +170 -0
- package/lib/commonjs/components/boundary/portal/components/portal-overlay.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/components/portal.js +88 -0
- package/lib/commonjs/components/boundary/portal/components/portal.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/helpers/offset-style.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/hooks/use-active-portal-boundary-host.js +35 -0
- package/lib/commonjs/components/boundary/portal/hooks/use-active-portal-boundary-host.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/hooks/use-host-measurement.js +83 -0
- package/lib/commonjs/components/boundary/portal/hooks/use-host-measurement.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/hooks/use-placeholder-styles.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/hooks/use-portal-destination.js +58 -0
- package/lib/commonjs/components/boundary/portal/hooks/use-portal-destination.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/index.js +0 -7
- package/lib/commonjs/components/boundary/portal/index.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.js +1 -12
- package/lib/commonjs/components/boundary/portal/stores/host-registry.store.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.js +17 -17
- package/lib/commonjs/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/utils/naming.js +8 -1
- package/lib/commonjs/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js +7 -27
- package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js.map +1 -1
- package/lib/commonjs/components/boundary/providers/boundary-root.provider.js +13 -7
- package/lib/commonjs/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/commonjs/components/screen/container/helpers/layer-component.js +39 -0
- package/lib/commonjs/components/screen/container/helpers/layer-component.js.map +1 -0
- package/lib/commonjs/components/screen/container/{layers/render-component.js → helpers/uses-layer-render-props.js} +1 -1
- package/lib/commonjs/components/screen/container/helpers/uses-layer-render-props.js.map +1 -0
- package/lib/commonjs/components/screen/container/layers/backdrop.js +4 -13
- package/lib/commonjs/components/screen/container/layers/backdrop.js.map +1 -1
- package/lib/commonjs/components/screen/container/layers/clip.js +117 -0
- package/lib/commonjs/components/screen/container/layers/clip.js.map +1 -0
- package/lib/commonjs/components/screen/container/layers/content.js +17 -33
- package/lib/commonjs/components/screen/container/layers/content.js.map +1 -1
- package/lib/commonjs/components/screen/container/layers/surface.js +3 -15
- package/lib/commonjs/components/screen/container/layers/surface.js.map +1 -1
- package/lib/commonjs/components/screen/lifecycle/hooks/use-open-transition-intent.js +15 -0
- package/lib/commonjs/components/screen/lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/commonjs/constants.js +3 -1
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/hooks/navigation/use-navigation-helpers.js +16 -4
- package/lib/commonjs/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/commonjs/providers/screen/motion/animation/helpers/build-screen-transition-options.js +0 -1
- package/lib/commonjs/providers/screen/motion/animation/helpers/build-screen-transition-options.js.map +1 -1
- package/lib/commonjs/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js +3 -2
- package/lib/commonjs/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/commonjs/providers/screen/motion/options/helpers.js +1 -3
- package/lib/commonjs/providers/screen/motion/options/helpers.js.map +1 -1
- package/lib/commonjs/providers/screen/orchestrator/helpers/use-interpolator-state.js +4 -2
- package/lib/commonjs/providers/screen/orchestrator/helpers/use-interpolator-state.js.map +1 -1
- package/lib/commonjs/providers/screen/orchestrator/helpers/use-pair-presentation.js +79 -0
- package/lib/commonjs/providers/screen/orchestrator/helpers/use-pair-presentation.js.map +1 -0
- package/lib/commonjs/providers/screen/orchestrator/orchestrator.provider.js +3 -0
- package/lib/commonjs/providers/screen/orchestrator/orchestrator.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/orchestrator/styles/constants.js +1 -0
- package/lib/commonjs/providers/screen/orchestrator/styles/constants.js.map +1 -1
- package/lib/commonjs/providers/screen/orchestrator/styles/hooks/slot-resolvers.js +5 -8
- package/lib/commonjs/providers/screen/orchestrator/styles/hooks/slot-resolvers.js.map +1 -1
- package/lib/commonjs/utils/bounds/navigation/reveal/build.js +28 -61
- package/lib/commonjs/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/commonjs/utils/bounds/navigation/reveal/config.js +3 -4
- package/lib/commonjs/utils/bounds/navigation/reveal/config.js.map +1 -1
- package/lib/commonjs/utils/bounds/navigation/reveal/math.js +8 -8
- package/lib/commonjs/utils/bounds/navigation/reveal/math.js.map +1 -1
- package/lib/commonjs/utils/bounds/navigation/reveal/types.js +3 -1
- package/lib/commonjs/utils/bounds/navigation/reveal/types.js.map +1 -1
- package/lib/commonjs/utils/bounds/navigation/zoom/build.js +4 -6
- package/lib/commonjs/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/commonjs/utils/bounds/navigation/zoom/clip.js +64 -0
- package/lib/commonjs/utils/bounds/navigation/zoom/clip.js.map +1 -0
- package/lib/commonjs/utils/bounds/navigation/zoom/drag.js +1 -1
- package/lib/commonjs/utils/bounds/navigation/zoom/drag.js.map +1 -1
- package/lib/commonjs/utils/bounds/navigation/zoom/types.js +3 -1
- package/lib/commonjs/utils/bounds/navigation/zoom/types.js.map +1 -1
- package/lib/module/components/boundary/components/boundary-lifecycle.js +41 -9
- package/lib/module/components/boundary/components/boundary-lifecycle.js.map +1 -1
- package/lib/module/components/boundary/components/boundary-target.js +10 -17
- package/lib/module/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/module/components/boundary/create-boundary-component.js +13 -16
- package/lib/module/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/module/components/boundary/helpers/presentation.js +50 -0
- package/lib/module/components/boundary/helpers/presentation.js.map +1 -0
- package/lib/module/components/boundary/hooks/use-boundary-presentation.js +62 -0
- package/lib/module/components/boundary/hooks/use-boundary-presentation.js.map +1 -0
- package/lib/module/components/boundary/hooks/use-composed-boundary-style.js +39 -0
- package/lib/module/components/boundary/hooks/use-composed-boundary-style.js.map +1 -0
- package/lib/module/components/boundary/index.js +2 -3
- package/lib/module/components/boundary/index.js.map +1 -1
- package/lib/module/components/boundary/portal/components/portal-host.js +34 -0
- package/lib/module/components/boundary/portal/components/portal-host.js.map +1 -0
- package/lib/module/components/boundary/portal/components/portal-overlay.js +165 -0
- package/lib/module/components/boundary/portal/components/portal-overlay.js.map +1 -0
- package/lib/module/components/boundary/portal/components/portal.js +83 -0
- package/lib/module/components/boundary/portal/components/portal.js.map +1 -0
- package/lib/module/components/boundary/portal/helpers/offset-style.js.map +1 -0
- package/lib/module/components/boundary/portal/hooks/use-active-portal-boundary-host.js +31 -0
- package/lib/module/components/boundary/portal/hooks/use-active-portal-boundary-host.js.map +1 -0
- package/lib/module/components/boundary/portal/hooks/use-host-measurement.js +78 -0
- package/lib/module/components/boundary/portal/hooks/use-host-measurement.js.map +1 -0
- package/lib/module/components/boundary/portal/hooks/use-placeholder-styles.js.map +1 -0
- package/lib/module/components/boundary/portal/hooks/use-portal-destination.js +54 -0
- package/lib/module/components/boundary/portal/hooks/use-portal-destination.js.map +1 -0
- package/lib/module/components/boundary/portal/index.js +0 -1
- package/lib/module/components/boundary/portal/index.js.map +1 -1
- package/lib/module/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.js +1 -12
- package/lib/module/components/boundary/portal/stores/host-registry.store.js.map +1 -0
- package/lib/module/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.js +17 -17
- package/lib/module/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -0
- package/lib/module/components/boundary/portal/utils/naming.js +6 -0
- package/lib/module/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/module/components/boundary/portal/utils/resolve-portal.js +7 -27
- package/lib/module/components/boundary/portal/utils/resolve-portal.js.map +1 -1
- package/lib/module/components/boundary/providers/boundary-root.provider.js +13 -7
- package/lib/module/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/module/components/screen/container/helpers/layer-component.js +35 -0
- package/lib/module/components/screen/container/helpers/layer-component.js.map +1 -0
- package/lib/module/components/screen/container/{layers/render-component.js → helpers/uses-layer-render-props.js} +1 -1
- package/lib/module/components/screen/container/helpers/uses-layer-render-props.js.map +1 -0
- package/lib/module/components/screen/container/layers/backdrop.js +5 -13
- package/lib/module/components/screen/container/layers/backdrop.js.map +1 -1
- package/lib/module/components/screen/container/layers/clip.js +112 -0
- package/lib/module/components/screen/container/layers/clip.js.map +1 -0
- package/lib/module/components/screen/container/layers/content.js +18 -33
- package/lib/module/components/screen/container/layers/content.js.map +1 -1
- package/lib/module/components/screen/container/layers/surface.js +4 -15
- package/lib/module/components/screen/container/layers/surface.js.map +1 -1
- package/lib/module/components/screen/lifecycle/hooks/use-open-transition-intent.js +17 -2
- package/lib/module/components/screen/lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/module/constants.js +3 -1
- package/lib/module/constants.js.map +1 -1
- package/lib/module/hooks/navigation/use-navigation-helpers.js +16 -4
- package/lib/module/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/module/providers/screen/motion/animation/helpers/build-screen-transition-options.js +0 -1
- package/lib/module/providers/screen/motion/animation/helpers/build-screen-transition-options.js.map +1 -1
- package/lib/module/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js +3 -2
- package/lib/module/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/module/providers/screen/motion/options/helpers.js +1 -3
- package/lib/module/providers/screen/motion/options/helpers.js.map +1 -1
- package/lib/module/providers/screen/orchestrator/helpers/use-interpolator-state.js +6 -4
- package/lib/module/providers/screen/orchestrator/helpers/use-interpolator-state.js.map +1 -1
- package/lib/module/providers/screen/orchestrator/helpers/use-pair-presentation.js +73 -0
- package/lib/module/providers/screen/orchestrator/helpers/use-pair-presentation.js.map +1 -0
- package/lib/module/providers/screen/orchestrator/orchestrator.provider.js +3 -0
- package/lib/module/providers/screen/orchestrator/orchestrator.provider.js.map +1 -1
- package/lib/module/providers/screen/orchestrator/styles/constants.js +1 -0
- package/lib/module/providers/screen/orchestrator/styles/constants.js.map +1 -1
- package/lib/module/providers/screen/orchestrator/styles/hooks/slot-resolvers.js +5 -8
- package/lib/module/providers/screen/orchestrator/styles/hooks/slot-resolvers.js.map +1 -1
- package/lib/module/types/animation.types.js +3 -1
- package/lib/module/types/animation.types.js.map +1 -1
- package/lib/module/utils/bounds/navigation/reveal/build.js +30 -63
- package/lib/module/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/module/utils/bounds/navigation/reveal/config.js +2 -3
- package/lib/module/utils/bounds/navigation/reveal/config.js.map +1 -1
- package/lib/module/utils/bounds/navigation/reveal/math.js +7 -7
- package/lib/module/utils/bounds/navigation/reveal/math.js.map +1 -1
- package/lib/module/utils/bounds/navigation/reveal/types.js +1 -1
- package/lib/module/utils/bounds/navigation/reveal/types.js.map +1 -1
- package/lib/module/utils/bounds/navigation/zoom/build.js +5 -7
- package/lib/module/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/module/utils/bounds/navigation/zoom/clip.js +59 -0
- package/lib/module/utils/bounds/navigation/zoom/clip.js.map +1 -0
- package/lib/module/utils/bounds/navigation/zoom/drag.js +1 -1
- package/lib/module/utils/bounds/navigation/zoom/drag.js.map +1 -1
- package/lib/module/utils/bounds/navigation/zoom/types.js +1 -1
- package/lib/module/utils/bounds/navigation/zoom/types.js.map +1 -1
- package/lib/typescript/components/boundary/components/boundary-lifecycle.d.ts.map +1 -1
- package/lib/typescript/components/boundary/components/boundary-target.d.ts.map +1 -1
- package/lib/typescript/components/boundary/create-boundary-component.d.ts.map +1 -1
- package/lib/typescript/components/boundary/helpers/presentation.d.ts +14 -0
- package/lib/typescript/components/boundary/helpers/presentation.d.ts.map +1 -0
- package/lib/typescript/components/boundary/hooks/use-boundary-presentation.d.ts +9 -0
- package/lib/typescript/components/boundary/hooks/use-boundary-presentation.d.ts.map +1 -0
- package/lib/typescript/components/boundary/hooks/use-composed-boundary-style.d.ts +4 -0
- package/lib/typescript/components/boundary/hooks/use-composed-boundary-style.d.ts.map +1 -0
- package/lib/typescript/components/boundary/index.d.ts +3 -2
- package/lib/typescript/components/boundary/index.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/portal-host.d.ts +15 -0
- package/lib/typescript/components/boundary/portal/components/portal-host.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/components/portal-overlay.d.ts +20 -0
- package/lib/typescript/components/boundary/portal/components/portal-overlay.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/components/portal.d.ts +23 -0
- package/lib/typescript/components/boundary/portal/components/portal.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/helpers/offset-style.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/hooks/use-active-portal-boundary-host.d.ts +11 -0
- package/lib/typescript/components/boundary/portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/hooks/use-host-measurement.d.ts +13 -0
- package/lib/typescript/components/boundary/portal/hooks/use-host-measurement.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/hooks/use-placeholder-styles.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/hooks/use-portal-destination.d.ts +8 -0
- package/lib/typescript/components/boundary/portal/hooks/use-portal-destination.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/index.d.ts +0 -1
- package/lib/typescript/components/boundary/portal/index.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/stores/host-registry.store.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.d.ts +2 -3
- package/lib/typescript/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/utils/naming.d.ts +1 -0
- package/lib/typescript/components/boundary/portal/utils/naming.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts +2 -7
- package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -1
- package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts +5 -2
- package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
- package/lib/typescript/components/screen/container/helpers/layer-component.d.ts +10 -0
- package/lib/typescript/components/screen/container/helpers/layer-component.d.ts.map +1 -0
- package/lib/typescript/components/screen/container/{layers/render-component.d.ts → helpers/uses-layer-render-props.d.ts} +1 -1
- package/lib/typescript/components/screen/container/helpers/uses-layer-render-props.d.ts.map +1 -0
- package/lib/typescript/components/screen/container/layers/backdrop.d.ts.map +1 -1
- package/lib/typescript/components/screen/container/layers/clip.d.ts +7 -0
- package/lib/typescript/components/screen/container/layers/clip.d.ts.map +1 -0
- package/lib/typescript/components/screen/container/layers/content.d.ts.map +1 -1
- package/lib/typescript/components/screen/container/layers/surface.d.ts.map +1 -1
- package/lib/typescript/components/screen/lifecycle/hooks/use-open-transition-intent.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts +3 -1
- package/lib/typescript/constants.d.ts.map +1 -1
- package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/motion/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
- package/lib/typescript/providers/screen/motion/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/motion/options/helpers.d.ts.map +1 -1
- package/lib/typescript/providers/screen/motion/options/types.d.ts +0 -1
- package/lib/typescript/providers/screen/motion/options/types.d.ts.map +1 -1
- package/lib/typescript/providers/screen/orchestrator/helpers/use-interpolator-state.d.ts.map +1 -1
- package/lib/typescript/providers/screen/orchestrator/helpers/use-pair-presentation.d.ts +21 -0
- package/lib/typescript/providers/screen/orchestrator/helpers/use-pair-presentation.d.ts.map +1 -0
- package/lib/typescript/providers/screen/orchestrator/orchestrator.provider.d.ts +2 -0
- package/lib/typescript/providers/screen/orchestrator/orchestrator.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/orchestrator/styles/constants.d.ts.map +1 -1
- package/lib/typescript/providers/screen/orchestrator/styles/hooks/slot-resolvers.d.ts +1 -1
- package/lib/typescript/providers/screen/orchestrator/styles/hooks/slot-resolvers.d.ts.map +1 -1
- package/lib/typescript/providers/screen/orchestrator/styles/types.d.ts +1 -1
- package/lib/typescript/providers/screen/orchestrator/styles/types.d.ts.map +1 -1
- package/lib/typescript/types/animation.types.d.ts +16 -4
- package/lib/typescript/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/types/bounds.types.d.ts +7 -15
- package/lib/typescript/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/types/index.d.ts +1 -1
- package/lib/typescript/types/index.d.ts.map +1 -1
- package/lib/typescript/types/screen.types.d.ts +1 -8
- package/lib/typescript/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/navigation/reveal/build.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/navigation/reveal/config.d.ts +2 -3
- package/lib/typescript/utils/bounds/navigation/reveal/config.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/navigation/reveal/math.d.ts +3 -3
- package/lib/typescript/utils/bounds/navigation/reveal/types.d.ts +1 -5
- package/lib/typescript/utils/bounds/navigation/reveal/types.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/navigation/zoom/{mask.d.ts → clip.d.ts} +5 -5
- package/lib/typescript/utils/bounds/navigation/zoom/clip.d.ts.map +1 -0
- package/lib/typescript/utils/bounds/navigation/zoom/drag.d.ts +1 -1
- package/lib/typescript/utils/bounds/navigation/zoom/types.d.ts +1 -5
- package/lib/typescript/utils/bounds/navigation/zoom/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/boundary/components/boundary-lifecycle.tsx +44 -8
- package/src/components/boundary/components/boundary-target.tsx +14 -36
- package/src/components/boundary/create-boundary-component.tsx +16 -17
- package/src/components/boundary/helpers/presentation.ts +88 -0
- package/src/components/boundary/hooks/use-boundary-presentation.ts +82 -0
- package/src/components/boundary/hooks/use-composed-boundary-style.ts +58 -0
- package/src/components/boundary/index.tsx +10 -5
- package/src/components/boundary/portal/components/portal-host.tsx +36 -0
- package/src/components/boundary/portal/components/portal-overlay.tsx +223 -0
- package/src/components/boundary/portal/components/portal.tsx +124 -0
- package/src/components/boundary/portal/hooks/use-active-portal-boundary-host.ts +52 -0
- package/src/components/boundary/portal/hooks/use-host-measurement.ts +101 -0
- package/src/components/boundary/portal/hooks/use-portal-destination.ts +53 -0
- package/src/components/boundary/portal/index.ts +0 -1
- package/src/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.ts +1 -20
- package/src/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.ts +19 -26
- package/src/components/boundary/portal/utils/naming.ts +10 -0
- package/src/components/boundary/portal/utils/resolve-portal.ts +9 -48
- package/src/components/boundary/providers/boundary-root.provider.tsx +34 -22
- package/src/components/screen/container/helpers/layer-component.tsx +38 -0
- package/src/components/screen/container/layers/backdrop.tsx +8 -31
- package/src/components/screen/container/layers/clip.tsx +124 -0
- package/src/components/screen/container/layers/content.tsx +21 -62
- package/src/components/screen/container/layers/surface.tsx +5 -23
- package/src/components/screen/lifecycle/hooks/use-open-transition-intent.ts +26 -2
- package/src/constants.ts +3 -1
- package/src/hooks/navigation/use-navigation-helpers.ts +13 -7
- package/src/index.ts +1 -0
- package/src/providers/screen/motion/animation/helpers/build-screen-transition-options.ts +0 -1
- package/src/providers/screen/motion/animation/helpers/hydrate-transition-state/index.ts +3 -2
- package/src/providers/screen/motion/options/helpers.ts +0 -6
- package/src/providers/screen/motion/options/types.ts +0 -1
- package/src/providers/screen/orchestrator/helpers/use-interpolator-state.ts +13 -8
- package/src/providers/screen/orchestrator/helpers/use-pair-presentation.ts +103 -0
- package/src/providers/screen/orchestrator/orchestrator.provider.tsx +4 -0
- package/src/providers/screen/orchestrator/styles/constants.ts +1 -0
- package/src/providers/screen/orchestrator/styles/hooks/slot-resolvers.tsx +8 -11
- package/src/providers/screen/orchestrator/styles/types.ts +1 -0
- package/src/types/animation.types.ts +35 -4
- package/src/types/bounds.types.ts +7 -15
- package/src/types/index.ts +1 -0
- package/src/types/screen.types.ts +1 -8
- package/src/utils/bounds/navigation/reveal/build.ts +46 -80
- package/src/utils/bounds/navigation/reveal/config.ts +2 -4
- package/src/utils/bounds/navigation/reveal/math.ts +9 -9
- package/src/utils/bounds/navigation/reveal/types.ts +1 -8
- package/src/utils/bounds/navigation/zoom/build.ts +16 -26
- package/src/utils/bounds/navigation/zoom/{mask.ts → clip.ts} +42 -48
- package/src/utils/bounds/navigation/zoom/drag.ts +2 -2
- package/src/utils/bounds/navigation/zoom/types.ts +1 -8
- package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js +0 -83
- package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/components/host.js +0 -45
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/components/host.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +0 -119
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js +0 -20
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +0 -14
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +0 -136
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js +0 -53
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js +0 -99
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +0 -104
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +0 -13
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +0 -82
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +0 -58
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +0 -67
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js +0 -68
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +0 -1
- package/lib/commonjs/components/screen/container/layers/maybe-masked-navigation-container.js +0 -83
- package/lib/commonjs/components/screen/container/layers/maybe-masked-navigation-container.js.map +0 -1
- package/lib/commonjs/components/screen/container/layers/render-component.js.map +0 -1
- package/lib/commonjs/utils/bounds/navigation/zoom/mask.js +0 -73
- package/lib/commonjs/utils/bounds/navigation/zoom/mask.js.map +0 -1
- package/lib/module/components/boundary/hooks/use-boundary-measurement.js +0 -78
- package/lib/module/components/boundary/hooks/use-boundary-measurement.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-content-portal/components/host.js +0 -40
- package/lib/module/components/boundary/portal/components/boundary-content-portal/components/host.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +0 -110
- package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js +0 -16
- package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +0 -9
- package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +0 -131
- package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js +0 -42
- package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js +0 -94
- package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +0 -99
- package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +0 -8
- package/lib/module/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +0 -76
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +0 -53
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +0 -62
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/index.js +0 -63
- package/lib/module/components/boundary/portal/components/boundary-portal/index.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +0 -1
- package/lib/module/components/screen/container/layers/maybe-masked-navigation-container.js +0 -78
- package/lib/module/components/screen/container/layers/maybe-masked-navigation-container.js.map +0 -1
- package/lib/module/components/screen/container/layers/render-component.js.map +0 -1
- package/lib/module/utils/bounds/navigation/zoom/mask.js +0 -68
- package/lib/module/utils/bounds/navigation/zoom/mask.js.map +0 -1
- package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts +0 -28
- package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/components/host.d.ts +0 -10
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/components/host.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +0 -45
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.d.ts +0 -8
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts +0 -2
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts +0 -10
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/index.d.ts +0 -9
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/index.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts +0 -7
- package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts +0 -13
- package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts +0 -4
- package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +0 -21
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts +0 -10
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +0 -12
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts +0 -12
- package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/host-registry.store.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +0 -1
- package/lib/typescript/components/screen/container/layers/maybe-masked-navigation-container.d.ts +0 -9
- package/lib/typescript/components/screen/container/layers/maybe-masked-navigation-container.d.ts.map +0 -1
- package/lib/typescript/components/screen/container/layers/render-component.d.ts.map +0 -1
- package/lib/typescript/utils/bounds/navigation/zoom/mask.d.ts.map +0 -1
- package/src/components/boundary/hooks/use-boundary-measurement.ts +0 -98
- package/src/components/boundary/portal/components/boundary-content-portal/components/host.tsx +0 -56
- package/src/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +0 -192
- package/src/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.ts +0 -23
- package/src/components/boundary/portal/components/boundary-content-portal/helpers/host-name.ts +0 -9
- package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +0 -252
- package/src/components/boundary/portal/components/boundary-content-portal/index.tsx +0 -81
- package/src/components/boundary/portal/components/boundary-portal/components/host.tsx +0 -119
- package/src/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +0 -139
- package/src/components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts +0 -10
- package/src/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +0 -118
- package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +0 -64
- package/src/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +0 -90
- package/src/components/boundary/portal/components/boundary-portal/index.tsx +0 -97
- package/src/components/screen/container/layers/maybe-masked-navigation-container.tsx +0 -113
- /package/lib/commonjs/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.js +0 -0
- /package/lib/commonjs/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.js +0 -0
- /package/lib/module/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.js +0 -0
- /package/lib/module/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.js +0 -0
- /package/lib/typescript/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.d.ts +0 -0
- /package/lib/typescript/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.d.ts +0 -0
- /package/lib/typescript/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.d.ts +0 -0
- /package/src/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.ts +0 -0
- /package/src/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.ts +0 -0
- /package/src/components/screen/container/{layers/render-component.ts → helpers/uses-layer-render-props.ts} +0 -0
|
@@ -7,12 +7,8 @@ import {
|
|
|
7
7
|
getLocalTransformForSlotComposition,
|
|
8
8
|
} from "../helpers/compose-slot-style";
|
|
9
9
|
|
|
10
|
-
const useCurrentScreenSlotsMap = () => {
|
|
11
|
-
return useOrchestratorStore((store) => store.slotsMap);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
10
|
export const useSlotStyles = (slotId: string | undefined) => {
|
|
15
|
-
const slotsMap =
|
|
11
|
+
const slotsMap = useOrchestratorStore((store) => store.slotsMap);
|
|
16
12
|
|
|
17
13
|
return useAnimatedStyle(() => {
|
|
18
14
|
const slot = slotId ? slotsMap.get()[slotId] : undefined;
|
|
@@ -30,7 +26,7 @@ export const useComposedSlotStyles = (
|
|
|
30
26
|
slotId: string | undefined,
|
|
31
27
|
style: unknown,
|
|
32
28
|
) => {
|
|
33
|
-
const slotsMap =
|
|
29
|
+
const slotsMap = useOrchestratorStore((store) => store.slotsMap);
|
|
34
30
|
const localTransform = useMemo(
|
|
35
31
|
() => getLocalTransformForSlotComposition(style),
|
|
36
32
|
[style],
|
|
@@ -54,7 +50,7 @@ export const useComposedSlotStyles = (
|
|
|
54
50
|
* target takes the full associated style. Yields `NO_STYLES` when neither is set.
|
|
55
51
|
*/
|
|
56
52
|
export const useSlotStackingStyles = (slotId: string | undefined) => {
|
|
57
|
-
const slotsMap =
|
|
53
|
+
const slotsMap = useOrchestratorStore((store) => store.slotsMap);
|
|
58
54
|
|
|
59
55
|
return useAnimatedStyle(() => {
|
|
60
56
|
const baseStyle = slotId ? slotsMap.get()[slotId]?.style : undefined;
|
|
@@ -70,7 +66,7 @@ export const useSlotStackingStyles = (slotId: string | undefined) => {
|
|
|
70
66
|
};
|
|
71
67
|
|
|
72
68
|
export const useSlotLayoutStyles = (slotId: string | undefined) => {
|
|
73
|
-
const slotsMap =
|
|
69
|
+
const slotsMap = useOrchestratorStore((store) => store.slotsMap);
|
|
74
70
|
|
|
75
71
|
return useAnimatedStyle(() => {
|
|
76
72
|
const baseStyle = slotId ? slotsMap.get()[slotId]?.style : undefined;
|
|
@@ -107,9 +103,10 @@ export const useSlotLayoutStyles = (slotId: string | undefined) => {
|
|
|
107
103
|
};
|
|
108
104
|
|
|
109
105
|
export const useSlotProps = (slotId: string | undefined) => {
|
|
110
|
-
const slotsMap =
|
|
106
|
+
const slotsMap = useOrchestratorStore((store) => store.slotsMap);
|
|
111
107
|
|
|
112
108
|
return useAnimatedProps(() => {
|
|
113
|
-
return (slotId ? slotsMap.get()[slotId]?.props : undefined) ??
|
|
114
|
-
|
|
109
|
+
return ((slotId ? slotsMap.get()[slotId]?.props : undefined) ??
|
|
110
|
+
NO_PROPS) as any;
|
|
111
|
+
}) as any;
|
|
115
112
|
};
|
|
@@ -303,7 +303,7 @@ export type TransitionSlotStyle = AnimatedViewStyle | TransitionSlotDefinition;
|
|
|
303
303
|
*
|
|
304
304
|
* These values are not style slots. They are derived per frame and consumed by
|
|
305
305
|
* the transition runtime. Structural options that change the React tree, such
|
|
306
|
-
* as `
|
|
306
|
+
* as `gestureTracking`, must be configured statically on the screen.
|
|
307
307
|
*
|
|
308
308
|
* If `gestureSensitivity` is derived from the current gesture, prefer
|
|
309
309
|
* `active.gesture.raw` so the sensitivity calculation does not feed back into
|
|
@@ -314,6 +314,30 @@ export type TransitionInterpolatorOptions = Omit<
|
|
|
314
314
|
"navigationMaskEnabled" | "gestureTracking"
|
|
315
315
|
>;
|
|
316
316
|
|
|
317
|
+
/** A clipping rectangle in the content layer's local coordinates. */
|
|
318
|
+
export type TransitionClip = {
|
|
319
|
+
x: number;
|
|
320
|
+
y: number;
|
|
321
|
+
width: number;
|
|
322
|
+
height: number;
|
|
323
|
+
} & Pick<
|
|
324
|
+
ViewStyle,
|
|
325
|
+
| "borderRadius"
|
|
326
|
+
| "borderCurve"
|
|
327
|
+
| "borderTopLeftRadius"
|
|
328
|
+
| "borderTopRightRadius"
|
|
329
|
+
| "borderBottomLeftRadius"
|
|
330
|
+
| "borderBottomRightRadius"
|
|
331
|
+
| "borderTopStartRadius"
|
|
332
|
+
| "borderTopEndRadius"
|
|
333
|
+
| "borderBottomStartRadius"
|
|
334
|
+
| "borderBottomEndRadius"
|
|
335
|
+
| "borderStartStartRadius"
|
|
336
|
+
| "borderStartEndRadius"
|
|
337
|
+
| "borderEndStartRadius"
|
|
338
|
+
| "borderEndEndRadius"
|
|
339
|
+
>;
|
|
340
|
+
|
|
317
341
|
/**
|
|
318
342
|
* Internal normalized slot format.
|
|
319
343
|
* Always uses the explicit `{ style, props }` shape (with Reanimated's full StyleProps).
|
|
@@ -329,6 +353,7 @@ export type NormalizedTransitionSlotStyle = {
|
|
|
329
353
|
* All slots use the explicit `{ style, props }` shape.
|
|
330
354
|
*/
|
|
331
355
|
export type NormalizedTransitionInterpolatedStyle = {
|
|
356
|
+
clip?: { style?: Partial<TransitionClip> };
|
|
332
357
|
/** Animated style and props for the main screen content view. */
|
|
333
358
|
content?: NormalizedTransitionSlotStyle;
|
|
334
359
|
/** Animated style and props for the backdrop layer between screens. */
|
|
@@ -345,6 +370,8 @@ export type NormalizedTransitionInterpolatedStyle = {
|
|
|
345
370
|
* The return type of `screenStyleInterpolator`.
|
|
346
371
|
*/
|
|
347
372
|
export type TransitionInterpolatedStyle = {
|
|
373
|
+
/** Visible rectangle. Omit to disable clipping. Content retains its layout size. */
|
|
374
|
+
clip?: TransitionClip;
|
|
348
375
|
/**
|
|
349
376
|
* Runtime options for the current frame.
|
|
350
377
|
*
|
|
@@ -363,12 +390,16 @@ export type TransitionInterpolatedStyle = {
|
|
|
363
390
|
content?: TransitionSlotStyle;
|
|
364
391
|
/** Animated style and props for the backdrop layer between screens. */
|
|
365
392
|
backdrop?: TransitionSlotStyle;
|
|
366
|
-
/**
|
|
393
|
+
/** @deprecated Ignored. Return `clip` geometry instead. */
|
|
367
394
|
[NAVIGATION_MASK_CONTAINER_STYLE_ID]?: TransitionSlotStyle;
|
|
368
|
-
/**
|
|
395
|
+
/** @deprecated Ignored. Return `clip` geometry instead. */
|
|
369
396
|
[NAVIGATION_MASK_ELEMENT_STYLE_ID]?: TransitionSlotStyle;
|
|
370
397
|
/** Custom styles/props by id for Transition.View components. */
|
|
371
|
-
[id: string]:
|
|
398
|
+
[id: string]:
|
|
399
|
+
| TransitionSlotStyle
|
|
400
|
+
| TransitionInterpolatorOptions
|
|
401
|
+
| TransitionClip
|
|
402
|
+
| undefined;
|
|
372
403
|
};
|
|
373
404
|
|
|
374
405
|
/**
|
|
@@ -87,7 +87,7 @@ export type BoundsNavigationZoomOptions = {
|
|
|
87
87
|
*
|
|
88
88
|
* Zoom interpolates from the measured source radius to this value while the
|
|
89
89
|
* screen is animating. This controls the visible clipping result regardless
|
|
90
|
-
* of
|
|
90
|
+
* of the clipping rectangle.
|
|
91
91
|
*
|
|
92
92
|
* @default 64
|
|
93
93
|
*/
|
|
@@ -120,13 +120,15 @@ export type BoundsNavigationZoomOptions = {
|
|
|
120
120
|
|
|
121
121
|
export type BoundsNavigationZoomStyle = TransitionInterpolatedStyle & {
|
|
122
122
|
content?: TransitionSlotStyle;
|
|
123
|
+
/** @deprecated Ignored. Return `clip` geometry instead. */
|
|
123
124
|
[NAVIGATION_MASK_CONTAINER_STYLE_ID]?: TransitionSlotStyle;
|
|
125
|
+
/** @deprecated Ignored. Return `clip` geometry instead. */
|
|
124
126
|
[NAVIGATION_MASK_ELEMENT_STYLE_ID]?: TransitionSlotStyle;
|
|
125
127
|
};
|
|
126
128
|
|
|
127
129
|
export type BoundsNavigationRevealOptions = {
|
|
128
130
|
/**
|
|
129
|
-
* Destination
|
|
131
|
+
* Destination clip border radius.
|
|
130
132
|
*
|
|
131
133
|
* Reveal interpolates from the measured source border radius to this value.
|
|
132
134
|
*
|
|
@@ -134,7 +136,7 @@ export type BoundsNavigationRevealOptions = {
|
|
|
134
136
|
*/
|
|
135
137
|
borderRadius?: number;
|
|
136
138
|
/**
|
|
137
|
-
* Whether the reveal
|
|
139
|
+
* Whether the reveal clip should use React Native's continuous border curve.
|
|
138
140
|
*
|
|
139
141
|
* @default true
|
|
140
142
|
*/
|
|
@@ -142,7 +144,7 @@ export type BoundsNavigationRevealOptions = {
|
|
|
142
144
|
/**
|
|
143
145
|
* Maximum dynamic gesture sensitivity applied by reveal.
|
|
144
146
|
*
|
|
145
|
-
* Reveal lowers gesture sensitivity as the drag gets deeper so the
|
|
147
|
+
* Reveal lowers gesture sensitivity as the drag gets deeper so the clipped
|
|
146
148
|
* container can keep its source-to-destination handoff stable. This value
|
|
147
149
|
* controls the starting/highest sensitivity in that curve.
|
|
148
150
|
*
|
|
@@ -189,17 +191,7 @@ export type BoundsNavigationRevealOptions = {
|
|
|
189
191
|
* @default true
|
|
190
192
|
*/
|
|
191
193
|
disablePointerEventsTillElementTransition?: boolean;
|
|
192
|
-
/**
|
|
193
|
-
* How reveal should resize the navigation mask element.
|
|
194
|
-
*
|
|
195
|
-
* `"auto"` uses the platform default. Android defaults to transform-based
|
|
196
|
-
* resizing to avoid masked-size animation cost, while other platforms animate
|
|
197
|
-
* width and height. Transform-based resizing can make large border radii look
|
|
198
|
-
* less natural on Android; use `"size"` to force width/height animation when
|
|
199
|
-
* radius quality is more important than that optimization.
|
|
200
|
-
*
|
|
201
|
-
* @default "auto"
|
|
202
|
-
*/
|
|
194
|
+
/** @deprecated Ignored. Reveal uses built-in clipping on every platform. */
|
|
203
195
|
maskSizingMode?: "auto" | "transform" | "size";
|
|
204
196
|
};
|
|
205
197
|
|
package/src/types/index.ts
CHANGED
|
@@ -228,14 +228,7 @@ export type ScreenTransitionConfig = {
|
|
|
228
228
|
*/
|
|
229
229
|
transitionSpec?: TransitionSpec;
|
|
230
230
|
|
|
231
|
-
/**
|
|
232
|
-
* Pre-mounts the masked view wrapper so navigation bounds masking
|
|
233
|
-
* (e.g. `bounds().navigation.zoom()`) is ready from the first frame.
|
|
234
|
-
*
|
|
235
|
-
* Requires `@react-native-masked-view/masked-view` to be installed.
|
|
236
|
-
*
|
|
237
|
-
* @default false
|
|
238
|
-
*/
|
|
231
|
+
/** @deprecated Ignored. Return `clip` from the interpolator to enable clipping. */
|
|
239
232
|
navigationMaskEnabled?: boolean;
|
|
240
233
|
|
|
241
234
|
/**
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { interpolate } from "react-native-reanimated";
|
|
2
|
-
import { NAVIGATION_MASK_ELEMENT_STYLE_ID } from "../../../../constants";
|
|
3
2
|
import { createBoundsAccessorCore } from "../../helpers/create-bounds-accessor-core";
|
|
4
3
|
import { getSourceBorderRadius } from "../helpers";
|
|
5
4
|
import {
|
|
@@ -10,20 +9,19 @@ import {
|
|
|
10
9
|
CONTENT_ENTERING_OPACITY_RANGE,
|
|
11
10
|
CONTENT_SHADOW_OPACITY_OUTPUT,
|
|
12
11
|
DISMISS_SCALE_ORBIT_DEPTH,
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
DRAG_CLIP_HEIGHT_COLLAPSE_END,
|
|
13
|
+
HORIZONTAL_DRAG_CLIP_COLLAPSE_SCALE,
|
|
15
14
|
IDENTITY_DRAG_SCALE_OUTPUT,
|
|
16
15
|
REVEAL_BACKGROUND_SCALE,
|
|
17
16
|
REVEAL_BORDER_RADIUS,
|
|
18
17
|
REVEAL_SHADOW_OFFSET,
|
|
19
|
-
REVEAL_USES_TRANSFORM_MASK,
|
|
20
18
|
UNFOCUSED_ELEMENT_OPACITY_OUTPUT,
|
|
21
19
|
ZERO_TO_ONE_RANGE,
|
|
22
20
|
} from "./config";
|
|
23
21
|
import {
|
|
24
22
|
interpolateClamped,
|
|
25
23
|
mixUnit,
|
|
26
|
-
|
|
24
|
+
resolveAspectRatioClipHeight,
|
|
27
25
|
resolveDismissScaleHandoff,
|
|
28
26
|
resolveRevealContentBaseTransform,
|
|
29
27
|
resolveRevealDirectionalDragScale,
|
|
@@ -66,15 +64,10 @@ export function buildRevealStyles({
|
|
|
66
64
|
revealOptions?.velocityDepth ?? DISMISS_SCALE_ORBIT_DEPTH;
|
|
67
65
|
const disablePointerEventsTillElementTransition =
|
|
68
66
|
revealOptions?.disablePointerEventsTillElementTransition ?? true;
|
|
69
|
-
const maskSizingMode = revealOptions?.maskSizingMode ?? "auto";
|
|
70
67
|
const backgroundScale =
|
|
71
68
|
revealOptions?.backgroundScale ?? REVEAL_BACKGROUND_SCALE;
|
|
72
69
|
const shouldBackgroundScaleResetOnSettled =
|
|
73
70
|
revealOptions?.shouldBackgroundScaleResetOnSettled ?? true;
|
|
74
|
-
const usesTransformMask =
|
|
75
|
-
maskSizingMode === "auto"
|
|
76
|
-
? REVEAL_USES_TRANSFORM_MASK
|
|
77
|
-
: maskSizingMode === "transform";
|
|
78
71
|
|
|
79
72
|
const bounds = createBoundsAccessorCore({
|
|
80
73
|
getProps: () => props,
|
|
@@ -140,7 +133,7 @@ export function buildRevealStyles({
|
|
|
140
133
|
progress: transitionProgress,
|
|
141
134
|
});
|
|
142
135
|
|
|
143
|
-
const
|
|
136
|
+
const clipRaw = scopedBounds.values({
|
|
144
137
|
scaleMode: "uniform",
|
|
145
138
|
method: "size",
|
|
146
139
|
space: "absolute",
|
|
@@ -148,21 +141,21 @@ export function buildRevealStyles({
|
|
|
148
141
|
progress: transitionProgress,
|
|
149
142
|
});
|
|
150
143
|
|
|
151
|
-
const
|
|
144
|
+
const clipBorderRadius = mixUnit(
|
|
152
145
|
sourceBorderRadius,
|
|
153
146
|
borderRadius,
|
|
154
147
|
activeTransitionProgress,
|
|
155
148
|
);
|
|
156
|
-
const
|
|
149
|
+
const clipBorderCurve = borderContinuous
|
|
157
150
|
? ("continuous" as const)
|
|
158
151
|
: undefined;
|
|
159
152
|
|
|
160
|
-
const
|
|
153
|
+
const clipSizeMultiplier = props.active.closing
|
|
161
154
|
? mixUnit(0.9, 1, activeTransitionProgress)
|
|
162
155
|
: 1;
|
|
163
156
|
|
|
164
|
-
const
|
|
165
|
-
const
|
|
157
|
+
const clipWidth = Math.max(1, clipRaw.width * clipSizeMultiplier);
|
|
158
|
+
const clipHeight = Math.max(1, clipRaw.height * clipSizeMultiplier);
|
|
166
159
|
|
|
167
160
|
const contentBaseScale = contentRaw.scale;
|
|
168
161
|
const safeContentBaseScale = resolveSafeScale(contentBaseScale);
|
|
@@ -205,97 +198,72 @@ export function buildRevealStyles({
|
|
|
205
198
|
? 1 - activeTransitionProgress
|
|
206
199
|
: 0;
|
|
207
200
|
|
|
208
|
-
const
|
|
201
|
+
const clipHeightCollapseDrag =
|
|
209
202
|
isHorizontalDismiss || isVerticalDismiss
|
|
210
203
|
? Math.max(
|
|
211
204
|
0,
|
|
212
205
|
isHorizontalDismiss
|
|
213
|
-
? liveHorizontalDismissDrag *
|
|
206
|
+
? liveHorizontalDismissDrag * HORIZONTAL_DRAG_CLIP_COLLAPSE_SCALE
|
|
214
207
|
: 0,
|
|
215
208
|
isVerticalDismiss ? liveVerticalDismissDrag : 0,
|
|
216
209
|
dismissProgressDrag,
|
|
217
210
|
)
|
|
218
211
|
: 0;
|
|
219
212
|
|
|
220
|
-
const
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
targetWidth:
|
|
225
|
-
targetHeight:
|
|
213
|
+
const clipAspectBounds = link.initialSource?.bounds ?? link.source.bounds;
|
|
214
|
+
const minClipHeight = resolveAspectRatioClipHeight({
|
|
215
|
+
clipWidth,
|
|
216
|
+
clipHeight,
|
|
217
|
+
targetWidth: clipAspectBounds.width,
|
|
218
|
+
targetHeight: clipAspectBounds.height,
|
|
226
219
|
});
|
|
227
220
|
|
|
228
|
-
const
|
|
229
|
-
|
|
221
|
+
const renderedClipHeight = interpolateClamped(
|
|
222
|
+
clipHeightCollapseDrag,
|
|
230
223
|
0,
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
224
|
+
DRAG_CLIP_HEIGHT_COLLAPSE_END,
|
|
225
|
+
clipHeight,
|
|
226
|
+
minClipHeight,
|
|
234
227
|
);
|
|
235
228
|
|
|
236
|
-
const
|
|
237
|
-
const
|
|
238
|
-
const maskCenteringOffsetX = (maskRaw.width - maskWidth) / 2;
|
|
239
|
-
const maskCenteringOffsetY = (maskRaw.height - maskHeight) / 2;
|
|
229
|
+
const clipCenteringOffsetX = (clipRaw.width - clipWidth) / 2;
|
|
230
|
+
const clipCenteringOffsetY = (clipRaw.height - clipHeight) / 2;
|
|
240
231
|
const verticalCollapseOffsetY =
|
|
241
232
|
initialGesture === "vertical-inverted"
|
|
242
|
-
?
|
|
233
|
+
? clipHeight - renderedClipHeight
|
|
243
234
|
: 0;
|
|
244
235
|
|
|
245
236
|
const contentCenterX = screenLayout.width / 2;
|
|
246
237
|
const contentCenterY = screenLayout.height / 2;
|
|
247
238
|
|
|
248
|
-
// The
|
|
239
|
+
// The clip lives inside the transformed content container. Compensate only
|
|
249
240
|
// for the reveal's base content scale; drag scale should be inherited from
|
|
250
241
|
// the same parent transform as the screen content.
|
|
251
|
-
const
|
|
252
|
-
(
|
|
242
|
+
const compensatedClipTranslateX =
|
|
243
|
+
(clipRaw.translateX -
|
|
253
244
|
contentRaw.translateX +
|
|
254
|
-
|
|
255
|
-
(1 - contentBaseScale) *
|
|
245
|
+
clipCenteringOffsetX -
|
|
246
|
+
(1 - contentBaseScale) * contentCenterX) /
|
|
256
247
|
safeContentBaseScale;
|
|
257
248
|
|
|
258
|
-
const
|
|
259
|
-
(
|
|
249
|
+
const compensatedClipTranslateY =
|
|
250
|
+
(clipRaw.translateY -
|
|
260
251
|
contentRaw.translateY +
|
|
261
|
-
|
|
262
|
-
verticalCollapseOffsetY
|
|
263
|
-
(1 - contentBaseScale) *
|
|
252
|
+
clipCenteringOffsetY +
|
|
253
|
+
verticalCollapseOffsetY -
|
|
254
|
+
(1 - contentBaseScale) * contentCenterY) /
|
|
264
255
|
safeContentBaseScale;
|
|
265
256
|
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
? {
|
|
277
|
-
width: maskBaseWidth,
|
|
278
|
-
height: maskBaseHeight,
|
|
279
|
-
borderRadius: props.active.settled ? 0 : maskBorderRadius,
|
|
280
|
-
borderCurve: maskBorderCurve,
|
|
281
|
-
transform: [
|
|
282
|
-
{ translateX: transformMaskTranslateX },
|
|
283
|
-
{ translateY: transformMaskTranslateY },
|
|
284
|
-
{ scaleX: maskScaleX * compensatedMaskScale },
|
|
285
|
-
{ scaleY: maskScaleY * compensatedMaskScale },
|
|
286
|
-
],
|
|
287
|
-
}
|
|
288
|
-
: {
|
|
289
|
-
width: maskWidth,
|
|
290
|
-
height: renderedMaskHeight,
|
|
291
|
-
borderRadius: props.active.settled ? 0 : maskBorderRadius,
|
|
292
|
-
borderCurve: maskBorderCurve,
|
|
293
|
-
transform: [
|
|
294
|
-
{ translateX: compensatedMaskTranslateX },
|
|
295
|
-
{ translateY: compensatedMaskTranslateY },
|
|
296
|
-
{ scale: compensatedMaskScale },
|
|
297
|
-
],
|
|
298
|
-
};
|
|
257
|
+
const clip = {
|
|
258
|
+
x: compensatedClipTranslateX,
|
|
259
|
+
y: compensatedClipTranslateY,
|
|
260
|
+
width: clipWidth / safeContentBaseScale,
|
|
261
|
+
height: renderedClipHeight / safeContentBaseScale,
|
|
262
|
+
borderRadius: props.active.settled
|
|
263
|
+
? 0
|
|
264
|
+
: clipBorderRadius / safeContentBaseScale,
|
|
265
|
+
borderCurve: clipBorderCurve,
|
|
266
|
+
};
|
|
299
267
|
|
|
300
268
|
const elementOffsetX = initialDestinationTarget
|
|
301
269
|
? initialDestinationTarget.pageX - link.destination.bounds.pageX
|
|
@@ -364,9 +332,7 @@ export function buildRevealStyles({
|
|
|
364
332
|
),
|
|
365
333
|
},
|
|
366
334
|
},
|
|
367
|
-
|
|
368
|
-
style: maskElementStyle,
|
|
369
|
-
},
|
|
335
|
+
clip,
|
|
370
336
|
[link.id]: {
|
|
371
337
|
style: {
|
|
372
338
|
transform: [{ translateX: elementTX }, { translateY: elementY }],
|
|
@@ -6,13 +6,11 @@ export const REVEAL_BORDER_RADIUS = Platform.select({
|
|
|
6
6
|
default: 36,
|
|
7
7
|
});
|
|
8
8
|
|
|
9
|
-
export const REVEAL_USES_TRANSFORM_MASK = Platform.OS === "android";
|
|
10
|
-
|
|
11
9
|
export const DRAG_DIRECTIONAL_SCALE_MIN = 0.25;
|
|
12
10
|
export const DRAG_DIRECTIONAL_SCALE_MAX = 1.06;
|
|
13
11
|
export const DRAG_DIRECTIONAL_SCALE_EXPONENT = 2;
|
|
14
|
-
export const
|
|
15
|
-
export const
|
|
12
|
+
export const DRAG_CLIP_HEIGHT_COLLAPSE_END = 0.7;
|
|
13
|
+
export const HORIZONTAL_DRAG_CLIP_COLLAPSE_SCALE = 0.5;
|
|
16
14
|
export const DISMISS_SCALE_ORBIT_DEPTH = 0.5;
|
|
17
15
|
export const CLOSE_SOURCE_HANDOFF_PROGRESS = 0.25;
|
|
18
16
|
export const REVEAL_BACKGROUND_SCALE = 0.9375;
|
|
@@ -153,27 +153,27 @@ export function resolveDismissScaleHandoff({
|
|
|
153
153
|
return baseScale * orbitScale;
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
-
export function
|
|
157
|
-
|
|
158
|
-
|
|
156
|
+
export function resolveAspectRatioClipHeight({
|
|
157
|
+
clipWidth,
|
|
158
|
+
clipHeight,
|
|
159
159
|
targetWidth,
|
|
160
160
|
targetHeight,
|
|
161
161
|
}: {
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
clipWidth: number;
|
|
163
|
+
clipHeight: number;
|
|
164
164
|
targetWidth: number;
|
|
165
165
|
targetHeight: number;
|
|
166
166
|
}) {
|
|
167
167
|
"worklet";
|
|
168
168
|
|
|
169
|
-
const
|
|
170
|
-
const
|
|
169
|
+
const safeClipWidth = Math.max(1, Math.abs(clipWidth));
|
|
170
|
+
const safeClipHeight = Math.max(1, Math.abs(clipHeight));
|
|
171
171
|
const safeTargetWidth = Math.max(Math.abs(targetWidth), EPSILON);
|
|
172
172
|
const safeTargetHeight = Math.max(Math.abs(targetHeight), EPSILON);
|
|
173
173
|
const targetAspectHeight =
|
|
174
|
-
|
|
174
|
+
safeClipWidth * (safeTargetHeight / safeTargetWidth);
|
|
175
175
|
|
|
176
|
-
return Math.min(
|
|
176
|
+
return Math.min(safeClipHeight, Math.max(1, targetAspectHeight));
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
function getBoundsCenterX(bounds: MeasuredDimensions) {
|
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
NAVIGATION_MASK_CONTAINER_STYLE_ID,
|
|
3
|
-
NAVIGATION_MASK_ELEMENT_STYLE_ID,
|
|
4
|
-
} from "../../../../constants";
|
|
5
1
|
import type {
|
|
6
2
|
BoundsInterpolationProps,
|
|
7
3
|
BoundsNavigationRevealOptions,
|
|
8
4
|
BoundsNavigationRevealStyle,
|
|
9
5
|
} from "../../../../types/bounds.types";
|
|
10
6
|
|
|
11
|
-
export type RevealInterpolatedStyle = BoundsNavigationRevealStyle
|
|
12
|
-
[NAVIGATION_MASK_CONTAINER_STYLE_ID]?: BoundsNavigationRevealStyle[typeof NAVIGATION_MASK_CONTAINER_STYLE_ID];
|
|
13
|
-
[NAVIGATION_MASK_ELEMENT_STYLE_ID]?: BoundsNavigationRevealStyle[typeof NAVIGATION_MASK_ELEMENT_STYLE_ID];
|
|
14
|
-
};
|
|
7
|
+
export type RevealInterpolatedStyle = BoundsNavigationRevealStyle;
|
|
15
8
|
|
|
16
9
|
export type BuildRevealStylesParams = {
|
|
17
10
|
tag?: string;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { interpolate } from "react-native-reanimated";
|
|
2
|
-
import {
|
|
3
|
-
EPSILON,
|
|
4
|
-
NAVIGATION_MASK_ELEMENT_STYLE_ID,
|
|
5
|
-
} from "../../../../constants";
|
|
2
|
+
import { EPSILON } from "../../../../constants";
|
|
6
3
|
import { getVisualScrollAxisDelta } from "../../../../stores/scroll.store";
|
|
7
4
|
import type { ScrollMetadataState } from "../../../../types/gesture.types";
|
|
8
5
|
import { createBoundsAccessorCore } from "../../helpers/create-bounds-accessor-core";
|
|
9
6
|
import { computeContentTransformGeometry } from "../../helpers/geometry";
|
|
10
7
|
import { getSourceBorderRadius } from "../helpers";
|
|
11
8
|
import { resolveRevealContentBaseTransformFromGeometry } from "../reveal/math";
|
|
9
|
+
import { resolveZoomClip, ZOOM_NAVIGATION_CLIP_BORDER_RADIUS } from "./clip";
|
|
12
10
|
import {
|
|
13
11
|
ZOOM_BACKDROP_MAX_OPACITY,
|
|
14
12
|
ZOOM_BACKGROUND_SCALE,
|
|
@@ -25,10 +23,6 @@ import {
|
|
|
25
23
|
resolveZoomPinchFocalOffset,
|
|
26
24
|
resolveZoomTrackedSourceTransform,
|
|
27
25
|
} from "./helpers";
|
|
28
|
-
import {
|
|
29
|
-
resolveZoomNavigationMaskStyle,
|
|
30
|
-
ZOOM_NAVIGATION_MASK_BORDER_RADIUS,
|
|
31
|
-
} from "./mask";
|
|
32
26
|
import {
|
|
33
27
|
getZoomContentAnchor,
|
|
34
28
|
getZoomContentTarget,
|
|
@@ -51,7 +45,7 @@ export function buildZoomStyles({
|
|
|
51
45
|
const keepFocusedVisible = zoomOptions?.keepFocusedVisible === true;
|
|
52
46
|
const expandedBorderRadius = Math.max(
|
|
53
47
|
0,
|
|
54
|
-
zoomOptions?.borderRadius ??
|
|
48
|
+
zoomOptions?.borderRadius ?? ZOOM_NAVIGATION_CLIP_BORDER_RADIUS,
|
|
55
49
|
);
|
|
56
50
|
const backgroundScale = zoomOptions?.backgroundScale ?? ZOOM_BACKGROUND_SCALE;
|
|
57
51
|
const backdropColor = zoomOptions?.backdropColor ?? "black";
|
|
@@ -60,7 +54,6 @@ export function buildZoomStyles({
|
|
|
60
54
|
|
|
61
55
|
const {
|
|
62
56
|
active,
|
|
63
|
-
current,
|
|
64
57
|
focused,
|
|
65
58
|
transitionProgress,
|
|
66
59
|
layouts: { screen: screenLayout },
|
|
@@ -178,7 +171,6 @@ export function buildZoomStyles({
|
|
|
178
171
|
"vertical",
|
|
179
172
|
) * sourceScrollWeight;
|
|
180
173
|
const sourceBorderRadius = getSourceBorderRadius(link);
|
|
181
|
-
const navigationMaskEnabled = current.options.navigationMaskEnabled;
|
|
182
174
|
const backdropOpacity = resolveZoomBackdropOpacity({
|
|
183
175
|
transitionProgress,
|
|
184
176
|
dismissalDrag: drag.dismissNorm,
|
|
@@ -251,21 +243,19 @@ export function buildZoomStyles({
|
|
|
251
243
|
overflow: "hidden" as const,
|
|
252
244
|
},
|
|
253
245
|
},
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
})
|
|
268
|
-
: {},
|
|
246
|
+
clip: resolveZoomClip({
|
|
247
|
+
scopedBounds,
|
|
248
|
+
link,
|
|
249
|
+
sourceBounds,
|
|
250
|
+
screenLayout,
|
|
251
|
+
transitionProgress,
|
|
252
|
+
drag,
|
|
253
|
+
contentTransform: contentRaw,
|
|
254
|
+
sourceBorderRadius,
|
|
255
|
+
expandedBorderRadius,
|
|
256
|
+
active,
|
|
257
|
+
anchor: zoomContentAnchor,
|
|
258
|
+
}),
|
|
269
259
|
};
|
|
270
260
|
}
|
|
271
261
|
|