react-native-screen-transitions 3.9.0-beta.0 → 3.9.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/shared/adapters/with-screen-transitions/index.js +20 -4
- package/lib/commonjs/shared/adapters/with-screen-transitions/index.js.map +1 -1
- package/lib/commonjs/shared/animation/transition-blocking.js +71 -0
- package/lib/commonjs/shared/animation/transition-blocking.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/components/boundary-target.js +30 -30
- package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/create-boundary-component.js +30 -95
- package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +68 -51
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +14 -2
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-register-target.js +32 -0
- package/lib/commonjs/shared/components/boundary/hooks/use-register-target.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/index.js +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/components/host.js +40 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +14 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +194 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/index.js +44 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/{host.js → boundary-portal/components/host.js} +17 -16
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/{portal-boundary-host.js → boundary-portal/components/portal-boundary-host.js} +11 -11
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js +52 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js +14 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/offset-style.js +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +184 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-host-measurement.js +23 -5
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-placeholder-styles.js +3 -6
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/index.js +33 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-bounds.store.js +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/portal-boundary-host.store.js +7 -12
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/index.js +1 -8
- package/lib/commonjs/shared/components/boundary/portal/index.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/teleport.js +2 -2
- package/lib/commonjs/shared/components/boundary/portal/utils/naming.js +1 -15
- package/lib/commonjs/shared/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js +19 -56
- package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +77 -23
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +41 -12
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/measured-bounds.js +36 -1
- package/lib/commonjs/shared/components/boundary/utils/measured-bounds.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/content.js +1 -1
- package/lib/commonjs/shared/configs/presets.js +2 -2
- package/lib/commonjs/shared/configs/presets.js.map +1 -1
- package/lib/commonjs/shared/index.js +13 -0
- package/lib/commonjs/shared/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +6 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/collect-interpolator-shared-values.js +50 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/collect-interpolator-shared-values.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +7 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +2 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +5 -3
- 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 +1 -1
- package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -1
- package/lib/commonjs/shared/stores/system.store.js +10 -2
- package/lib/commonjs/shared/stores/system.store.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js +15 -9
- package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +2 -2
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +3 -3
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/module/shared/adapters/with-screen-transitions/index.js +19 -5
- package/lib/module/shared/adapters/with-screen-transitions/index.js.map +1 -1
- package/lib/module/shared/animation/transition-blocking.js +66 -0
- package/lib/module/shared/animation/transition-blocking.js.map +1 -0
- package/lib/module/shared/components/boundary/components/boundary-target.js +32 -32
- package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/module/shared/components/boundary/create-boundary-component.js +32 -97
- package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +72 -55
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +1 -0
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-measurer.js +15 -3
- package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-register-target.js +27 -0
- package/lib/module/shared/components/boundary/hooks/use-register-target.js.map +1 -0
- package/lib/module/shared/components/boundary/index.js +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js +35 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +9 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +189 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/index.js +33 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/{host.js → boundary-portal/components/host.js} +17 -16
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/{portal-boundary-host.js → boundary-portal/components/portal-boundary-host.js} +11 -11
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js +47 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js +9 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/offset-style.js +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +179 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-host-measurement.js +23 -5
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-placeholder-styles.js +3 -6
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js +29 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-bounds.store.js +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/portal-boundary-host.store.js +5 -10
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/index.js +1 -2
- package/lib/module/shared/components/boundary/portal/index.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/teleport.js +2 -2
- package/lib/module/shared/components/boundary/portal/utils/naming.js +0 -12
- package/lib/module/shared/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/ownership.js +16 -52
- package/lib/module/shared/components/boundary/portal/utils/ownership.js.map +1 -1
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +74 -20
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/destination-signals.js +39 -10
- package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/measured-bounds.js +34 -0
- package/lib/module/shared/components/boundary/utils/measured-bounds.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/content.js +1 -1
- package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
- package/lib/module/shared/configs/presets.js +2 -2
- package/lib/module/shared/configs/presets.js.map +1 -1
- package/lib/module/shared/index.js +1 -0
- package/lib/module/shared/index.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +6 -1
- package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/collect-interpolator-shared-values.js +45 -0
- package/lib/module/shared/providers/screen/styles/helpers/collect-interpolator-shared-values.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +7 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +2 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/slot.provider.js +5 -3
- 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 +1 -1
- package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -1
- package/lib/module/shared/stores/system.store.js +10 -2
- package/lib/module/shared/stores/system.store.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js +15 -9
- package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/reveal/build.js +2 -2
- package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js +3 -3
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts +4 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts.map +1 -1
- package/lib/typescript/shared/animation/transition-blocking.d.ts +33 -0
- package/lib/typescript/shared/animation/transition-blocking.d.ts.map +1 -0
- 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.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +2 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-register-target.d.ts +10 -0
- package/lib/typescript/shared/components/boundary/hooks/use-register-target.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/index.d.ts +2 -2
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/components/host.d.ts +10 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/components/host.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts +2 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts +12 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/index.d.ts +11 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/index.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts +14 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts +3 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts +2 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/offset-style.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts +12 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-host-measurement.d.ts +5 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts +12 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/index.d.ts +13 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/index.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-bounds.store.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-registry.store.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/portal-boundary-host.store.d.ts +3 -3
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/index.d.ts +1 -2
- package/lib/typescript/shared/components/boundary/portal/index.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts +0 -2
- package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts +9 -10
- package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +21 -21
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts +9 -2
- package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/measured-bounds.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/utils/measured-bounds.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +1 -0
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts +4 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/collect-interpolator-shared-values.d.ts +4 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/collect-interpolator-shared-values.d.ts.map +1 -0
- 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 +1 -0
- package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +1 -0
- 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.map +1 -1
- package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +3 -3
- package/lib/typescript/shared/types/bounds.types.d.ts +7 -2
- package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/types/options.d.ts +6 -2
- package/lib/typescript/shared/utils/bounds/types/options.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/shared/adapters/with-screen-transitions/index.tsx +30 -9
- package/src/shared/animation/transition-blocking.ts +79 -0
- package/src/shared/components/boundary/components/boundary-target.tsx +43 -50
- package/src/shared/components/boundary/create-boundary-component.tsx +35 -150
- package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +103 -81
- package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +1 -0
- package/src/shared/components/boundary/hooks/use-measurer.ts +12 -4
- package/src/shared/components/boundary/hooks/use-register-target.ts +43 -0
- package/src/shared/components/boundary/index.tsx +2 -2
- package/src/shared/components/boundary/portal/components/boundary-content-portal/components/host.tsx +48 -0
- package/src/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.ts +9 -0
- package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +274 -0
- package/src/shared/components/boundary/portal/components/boundary-content-portal/index.tsx +59 -0
- package/src/shared/components/boundary/portal/components/{host.tsx → boundary-portal/components/host.tsx} +14 -15
- package/src/shared/components/boundary/portal/components/{portal-boundary-host.tsx → boundary-portal/components/portal-boundary-host.tsx} +12 -12
- package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.tsx +80 -0
- package/src/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/has-local-slot.ts +1 -1
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.ts +10 -0
- package/src/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/offset-style.ts +2 -2
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +250 -0
- package/src/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-host-measurement.ts +38 -8
- package/src/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-placeholder-styles.ts +4 -15
- package/src/shared/components/boundary/portal/components/boundary-portal/index.tsx +38 -0
- package/src/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-bounds.store.ts +2 -2
- package/src/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/portal-boundary-host.store.ts +10 -15
- package/src/shared/components/boundary/portal/index.ts +1 -2
- package/src/shared/components/boundary/portal/teleport.ts +2 -2
- package/src/shared/components/boundary/portal/utils/naming.ts +0 -19
- package/src/shared/components/boundary/portal/utils/ownership.ts +32 -88
- package/src/shared/components/boundary/providers/boundary-root.provider.tsx +198 -78
- package/src/shared/components/boundary/utils/destination-signals.ts +38 -14
- package/src/shared/components/boundary/utils/measured-bounds.ts +48 -0
- package/src/shared/components/screen-container/layers/content.tsx +1 -1
- package/src/shared/configs/presets.ts +2 -2
- package/src/shared/index.ts +4 -0
- package/src/shared/providers/screen/animation/helpers/read-screen-animation-revisions.ts +14 -0
- package/src/shared/providers/screen/styles/helpers/collect-interpolator-shared-values.ts +75 -0
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +11 -0
- package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +1 -0
- package/src/shared/providers/screen/styles/slot.provider.tsx +4 -2
- package/src/shared/providers/screen/styles/stores/slot-references.store.ts +2 -1
- package/src/shared/stores/system.store.ts +10 -4
- package/src/shared/types/animation.types.ts +3 -3
- package/src/shared/types/bounds.types.ts +9 -2
- package/src/shared/utils/bounds/helpers/create-bounds-accessor-core.ts +18 -11
- package/src/shared/utils/bounds/navigation/reveal/build.ts +2 -2
- package/src/shared/utils/bounds/navigation/zoom/build.ts +3 -3
- package/src/shared/utils/bounds/types/options.ts +9 -2
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js +0 -58
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/components/host.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/components/portal.js +0 -272
- package/lib/commonjs/shared/components/boundary/portal/components/portal.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/hooks/use-placeholder-styles.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/stores/host-bounds.store.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js +0 -53
- package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/components/host.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/components/portal.js +0 -267
- package/lib/module/shared/components/boundary/portal/components/portal.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/hooks/use-placeholder-styles.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/stores/host-bounds.store.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/utils/offset-style.js.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts +0 -8
- package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/components/host.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts +0 -20
- package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/hooks/use-host-measurement.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/hooks/use-placeholder-styles.d.ts +0 -17
- package/lib/typescript/shared/components/boundary/portal/hooks/use-placeholder-styles.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/stores/host-bounds.store.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts +0 -3
- package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts.map +0 -1
- package/src/shared/components/boundary/portal/components/boundary-local-portal-host.tsx +0 -66
- package/src/shared/components/boundary/portal/components/portal.tsx +0 -412
- /package/lib/commonjs/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/has-local-slot.js +0 -0
- /package/lib/commonjs/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-registry.store.js +0 -0
- /package/lib/module/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/has-local-slot.js +0 -0
- /package/lib/module/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-registry.store.js +0 -0
- /package/lib/typescript/shared/components/boundary/portal/components/{host.d.ts → boundary-portal/components/host.d.ts} +0 -0
- /package/lib/typescript/shared/components/boundary/portal/components/{portal-boundary-host.d.ts → boundary-portal/components/portal-boundary-host.d.ts} +0 -0
- /package/lib/typescript/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-registry.store.d.ts +0 -0
- /package/src/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-registry.store.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_descriptors","_styles","_slotReferences","_animation","_state","_naming","_ownership","_shallowEqual","_teleportControl","_visibleHost","_hostName","useBoundaryContentPortalAttachment","boundaryId","enabled","ownScreenSlots","useScreenSlots","sourcePairKey","useDescriptorsStore","s","derivations","currentScreenKey","ownership","setOwnership","useState","styleOwnerScreenKey","ownerScreenKey","ownerScreenSlots","useRegisteredScreenSlots","activeScreenSlots","nextInterpolatorReady","activeNextInterpolatorReady","slotsMap","activeSlotsMap","requestedPortalHostName","useSharedValue","visiblePortalHostName","canSwitchPortalHostImmediately","targetScreenKey","hostScreenKey","settledHostScreenKey","settledHostProgress","AnimationStore","getValue","settledHostAnimating","settledHostWillAnimate","settledHostClosing","handoffHostName","createBoundaryContentPortalHostName","updatePortalOwnership","useCallback","ownerPairKey","current","status","useLayoutEffect","set","useAnimatedReaction","progressAnimating","get","progressSettled","willAnimate","resolveBoundaryPortalOwnership","handoff","isSettledHostClosingComplete","isHandoffHostClosingComplete","closing","isSettledHostReady","pairsState","pairs","signal","previousSignal","shallowEqual","previousOwnerPairKey","undefined","canSwitchImmediately","canSwitchHandoffHostImmediately","hostName","runOnJS","slot","teleport","props","shouldTeleport","shouldAttachBoundaryPortal","requestedName","visibleName","isInterpolatorReady","nextVisibleName","resolveNextVisiblePortalHostName","state","previousState","teleportProps","useAnimatedProps","slotProps","PORTAL_HOST_NAME_RESET_VALUE","exports"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BoundaryContentPortal = void 0;
|
|
7
|
+
Object.defineProperty(exports, "BoundaryContentPortalHost", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _host.BoundaryContentPortalHost;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _react = require("react");
|
|
14
|
+
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
15
|
+
var _teleport = require("../../teleport");
|
|
16
|
+
var _useBoundaryContentPortalAttachment = require("./hooks/use-boundary-content-portal-attachment");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
var _host = require("./components/host");
|
|
19
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
|
+
const AnimatedNativePortal = _teleport.NativePortal ? _reactNativeReanimated.default.createAnimatedComponent(_teleport.NativePortal) : null;
|
|
21
|
+
const BoundaryContentPortal = exports.BoundaryContentPortal = /*#__PURE__*/(0, _react.memo)(function BoundaryContentPortal({
|
|
22
|
+
boundaryId,
|
|
23
|
+
children,
|
|
24
|
+
enabled,
|
|
25
|
+
pointerEvents
|
|
26
|
+
}) {
|
|
27
|
+
const shouldEnablePortal = enabled && boundaryId !== undefined;
|
|
28
|
+
const {
|
|
29
|
+
teleportProps
|
|
30
|
+
} = (0, _useBoundaryContentPortalAttachment.useBoundaryContentPortalAttachment)({
|
|
31
|
+
boundaryId: boundaryId ?? "",
|
|
32
|
+
enabled: shouldEnablePortal
|
|
33
|
+
});
|
|
34
|
+
if (shouldEnablePortal && _teleport.isTeleportAvailable && AnimatedNativePortal) {
|
|
35
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedNativePortal, {
|
|
36
|
+
animatedProps: teleportProps,
|
|
37
|
+
name: boundaryId,
|
|
38
|
+
pointerEvents: pointerEvents,
|
|
39
|
+
children: children
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return children;
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireDefault","_teleport","_useBoundaryContentPortalAttachment","_jsxRuntime","_host","e","__esModule","default","AnimatedNativePortal","NativePortal","Animated","createAnimatedComponent","BoundaryContentPortal","exports","memo","boundaryId","children","enabled","pointerEvents","shouldEnablePortal","undefined","teleportProps","useBoundaryContentPortalAttachment","isTeleportAvailable","jsx","animatedProps","name"],"sourceRoot":"../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-content-portal/index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,mCAAA,GAAAJ,OAAA;AAAoG,IAAAK,WAAA,GAAAL,OAAA;AAEpG,IAAAM,KAAA,GAAAN,OAAA;AAA8D,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAgB9D,MAAMG,oBAAoB,GAAGC,sBAAY,GACtCC,8BAAQ,CAACC,uBAAuB,CAChCF,sBACD,CAAC,GACA,IAAI;AAEA,MAAMG,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,gBAAG,IAAAE,WAAI,EAAC,SAASF,qBAAqBA,CAAC;EACxEG,UAAU;EACVC,QAAQ;EACRC,OAAO;EACPC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,kBAAkB,GAAGF,OAAO,IAAIF,UAAU,KAAKK,SAAS;EAC9D,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,sEAAkC,EAAC;IAC5DP,UAAU,EAAEA,UAAU,IAAI,EAAE;IAC5BE,OAAO,EAAEE;EACV,CAAC,CAAC;EAEF,IAAIA,kBAAkB,IAAII,6BAAmB,IAAIf,oBAAoB,EAAE;IACtE,oBACC,IAAAL,WAAA,CAAAqB,GAAA,EAAChB,oBAAoB;MACpBiB,aAAa,EAAEJ,aAAc;MAC7BK,IAAI,EAAEX,UAAW;MACjBG,aAAa,EAAEA,aAAc;MAAAF,QAAA,EAE5BA;IAAQ,CACY,CAAC;EAEzB;EAEA,OAAOA,QAAQ;AAChB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -7,8 +7,9 @@ exports.ScreenFallbackHost = exports.Host = void 0;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
10
|
-
var _descriptors = require("
|
|
11
|
-
var
|
|
10
|
+
var _descriptors = require("../../../../../../providers/screen/descriptors");
|
|
11
|
+
var _styles = require("../../../../../../providers/screen/styles");
|
|
12
|
+
var _system = require("../../../../../../stores/system.store");
|
|
12
13
|
var _useHostMeasurement = require("../hooks/use-host-measurement");
|
|
13
14
|
var _hostRegistry = require("../stores/host-registry.store");
|
|
14
15
|
var _portalBoundaryHost = require("../stores/portal-boundary-host.store");
|
|
@@ -22,7 +23,7 @@ function HostImpl({
|
|
|
22
23
|
}) {
|
|
23
24
|
const screenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.currentScreenKey);
|
|
24
25
|
const {
|
|
25
|
-
|
|
26
|
+
unblockLifecycleStart
|
|
26
27
|
} = _system.SystemStore.getBag(screenKey).actions;
|
|
27
28
|
const generatedHostKeyRef = (0, _react.useRef)(null);
|
|
28
29
|
if (generatedHostKeyRef.current === null) {
|
|
@@ -31,6 +32,9 @@ function HostImpl({
|
|
|
31
32
|
const hostKey = fallback ? screenKey : generatedHostKeyRef.current;
|
|
32
33
|
const capturesScroll = !fallback;
|
|
33
34
|
const activeBoundaryHosts = (0, _portalBoundaryHost.useActivePortalBoundaryHosts)(hostKey);
|
|
35
|
+
const {
|
|
36
|
+
visibilityBlocked
|
|
37
|
+
} = (0, _styles.useScreenSlots)();
|
|
34
38
|
const {
|
|
35
39
|
height: viewportHeight,
|
|
36
40
|
width: viewportWidth
|
|
@@ -39,7 +43,10 @@ function HostImpl({
|
|
|
39
43
|
capturesScroll,
|
|
40
44
|
enabled: activeBoundaryHosts.length > 0,
|
|
41
45
|
hostKey,
|
|
42
|
-
screenKey
|
|
46
|
+
screenKey,
|
|
47
|
+
visibilityBlocked,
|
|
48
|
+
viewportHeight,
|
|
49
|
+
viewportWidth
|
|
43
50
|
});
|
|
44
51
|
(0, _react.useLayoutEffect)(() => {
|
|
45
52
|
(0, _hostRegistry.registerHost)({
|
|
@@ -53,23 +60,17 @@ function HostImpl({
|
|
|
53
60
|
};
|
|
54
61
|
}, [capturesScroll, fallback, hostKey, screenKey]);
|
|
55
62
|
const handleUnblocking = (0, _react.useCallback)(() => {
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}, [drainLifecycleStartBlocks]);
|
|
62
|
-
const boundaryHosts = measurement.canRenderHosts ? activeBoundaryHosts.map((host, idx, list) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
63
|
+
// Each destination boundary contributes one lifecycle start block. Release
|
|
64
|
+
// only this host's block so unrelated boundary and user blocks stay intact.
|
|
65
|
+
unblockLifecycleStart();
|
|
66
|
+
}, [unblockLifecycleStart]);
|
|
67
|
+
const boundaryHosts = measurement.canRenderHosts ? activeBoundaryHosts.map(host => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
63
68
|
pointerEvents: "none",
|
|
64
69
|
style: [styles.boundaryHostViewport, {
|
|
65
70
|
width: viewportWidth,
|
|
66
71
|
height: viewportHeight
|
|
67
72
|
}],
|
|
68
|
-
onLayout:
|
|
69
|
-
if (list.length - 1 === idx) {
|
|
70
|
-
handleUnblocking();
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
+
onLayout: handleUnblocking,
|
|
73
74
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_portalBoundaryHost2.PortalBoundaryHost, {
|
|
74
75
|
host: host,
|
|
75
76
|
style: _reactNative.StyleSheet.absoluteFill
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_descriptors","_styles","_system","_useHostMeasurement","_hostRegistry","_portalBoundaryHost","_portalBoundaryHost2","_jsxRuntime","e","__esModule","default","nextHostId","HostImpl","fallback","style","screenKey","useDescriptorsStore","s","derivations","currentScreenKey","unblockLifecycleStart","SystemStore","getBag","actions","generatedHostKeyRef","useRef","current","hostKey","capturesScroll","activeBoundaryHosts","useActivePortalBoundaryHosts","visibilityBlocked","useScreenSlots","height","viewportHeight","width","viewportWidth","useWindowDimensions","measurement","useHostMeasurement","enabled","length","useLayoutEffect","registerHost","unregisterHost","handleUnblocking","useCallback","boundaryHosts","canRenderHosts","map","host","jsx","View","pointerEvents","styles","boundaryHostViewport","onLayout","children","PortalBoundaryHost","StyleSheet","absoluteFill","portalHostName","ref","hostRef","collapsable","Host","exports","memo","props","ScreenFallbackHost","create","elevation","left","overflow","position","top","zIndex"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/components/host.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,15 +7,15 @@ exports.PortalBoundaryHost = void 0;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
|
-
var _constants = require("
|
|
11
|
-
var _composeSlotStyle = require("
|
|
12
|
-
var _animation = require("
|
|
13
|
-
var _linkPairs = require("
|
|
14
|
-
var _links = require("
|
|
15
|
-
var _scroll = require("
|
|
16
|
-
var _teleport = require("
|
|
17
|
-
var _hasLocalSlot = require("../
|
|
18
|
-
var _offsetStyle = require("../
|
|
10
|
+
var _constants = require("../../../../../../constants");
|
|
11
|
+
var _composeSlotStyle = require("../../../../../../providers/screen/styles/helpers/compose-slot-style");
|
|
12
|
+
var _animation = require("../../../../../../stores/animation.store");
|
|
13
|
+
var _linkPairs = require("../../../../../../stores/bounds/helpers/link-pairs.helpers");
|
|
14
|
+
var _links = require("../../../../../../stores/bounds/internals/links");
|
|
15
|
+
var _scroll = require("../../../../../../stores/scroll.store");
|
|
16
|
+
var _teleport = require("../../../teleport");
|
|
17
|
+
var _hasLocalSlot = require("../helpers/has-local-slot");
|
|
18
|
+
var _offsetStyle = require("../helpers/offset-style");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
20
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
21
|
const AnimatedPortalBoundaryHost = _teleport.NativePortalHost ? _reactNativeReanimated.default.createAnimatedComponent(_teleport.NativePortalHost) : null;
|
|
@@ -33,7 +33,7 @@ const PortalBoundaryHost = exports.PortalBoundaryHost = /*#__PURE__*/(0, _react.
|
|
|
33
33
|
const hostStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
34
34
|
"worklet";
|
|
35
35
|
|
|
36
|
-
// Strict per-member lookup
|
|
36
|
+
// Strict per-member lookup - a fallback member's source rect would
|
|
37
37
|
// misplace this host's teleported content.
|
|
38
38
|
const link = (0, _links.getLink)(host.pairKey, host.boundaryId);
|
|
39
39
|
if (!link?.source || !link.destination) {
|
|
@@ -101,7 +101,7 @@ const PortalBoundaryHost = exports.PortalBoundaryHost = /*#__PURE__*/(0, _react.
|
|
|
101
101
|
});
|
|
102
102
|
|
|
103
103
|
// Without `react-native-teleport` no portal ever mounts a boundary host, so
|
|
104
|
-
// this never renders
|
|
104
|
+
// this never renders - the guard just narrows the nullable animated host.
|
|
105
105
|
if (!AnimatedPortalBoundaryHost) {
|
|
106
106
|
return null;
|
|
107
107
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_constants","_composeSlotStyle","_animation","_linkPairs","_links","_scroll","_teleport","_hasLocalSlot","_offsetStyle","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnimatedPortalBoundaryHost","NativePortalHost","Animated","createAnimatedComponent","PortalBoundaryHost","exports","memo","host","style","sourceScrollMetadata","ScrollStore","getValue","getSourceScreenKeyFromPairKey","pairKey","hostVisualProgress","AnimationStore","screenKey","hostStyle","useAnimatedStyle","link","getLink","boundaryId","source","destination","NO_STYLES","sourceBounds","bounds","isCrossScreenPortal","landingShift","landingWeight","Math","min","max","liveScroll","capturedScroll","scroll","x","getClampedScrollAxisDelta","y","resolvePortalOffsetStyle","hostKey","placement","contentFrameStyle","height","width","slotStyle","escapeClipping","hasLocalSlot","localStylesMaps","slot","slotsMap","composeSlotStyleWithLocalTransform","undefined","boundsLocalTransform","jsx","View","pointerEvents","collapsable","children","name","portalHostName","styles","content","StyleSheet","create","left","position","top"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BoundaryPortalSlot = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
9
|
+
var _logger = require("../../../../../../utils/logger");
|
|
10
|
+
var _teleport = require("../../../teleport");
|
|
11
|
+
var _usePlaceholderStyles = require("../hooks/use-placeholder-styles");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
+
const AnimatedNativePortal = _teleport.NativePortal ? _reactNativeReanimated.default.createAnimatedComponent(_teleport.NativePortal) : null;
|
|
15
|
+
const BoundaryPortalSlot = exports.BoundaryPortalSlot = /*#__PURE__*/(0, _react.memo)(function BoundaryPortalSlot({
|
|
16
|
+
id,
|
|
17
|
+
children,
|
|
18
|
+
enabled,
|
|
19
|
+
animatedProps,
|
|
20
|
+
pointerEvents,
|
|
21
|
+
placeholderRef
|
|
22
|
+
}) {
|
|
23
|
+
const isPortalEnabled = enabled && _teleport.isTeleportAvailable;
|
|
24
|
+
if (__DEV__ && enabled && !id) {
|
|
25
|
+
_logger.logger.warnOnce("portal:missing-id", "A boundary portal was rendered without an id; rendering inline.");
|
|
26
|
+
}
|
|
27
|
+
const {
|
|
28
|
+
handleOnLayout,
|
|
29
|
+
placeholderStyle
|
|
30
|
+
} = (0, _usePlaceholderStyles.usePlaceholderStyles)();
|
|
31
|
+
if (isPortalEnabled && AnimatedNativePortal) {
|
|
32
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
33
|
+
ref: placeholderRef,
|
|
34
|
+
onLayout: ({
|
|
35
|
+
nativeEvent: {
|
|
36
|
+
layout
|
|
37
|
+
}
|
|
38
|
+
}) => (0, _reactNativeReanimated.runOnUI)(handleOnLayout)(layout),
|
|
39
|
+
style: placeholderStyle,
|
|
40
|
+
pointerEvents: pointerEvents,
|
|
41
|
+
collapsable: false,
|
|
42
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedNativePortal, {
|
|
43
|
+
animatedProps: animatedProps,
|
|
44
|
+
name: id,
|
|
45
|
+
pointerEvents: pointerEvents,
|
|
46
|
+
children: children
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return children;
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=portal-slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_logger","_teleport","_usePlaceholderStyles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnimatedNativePortal","TeleportPortal","Animated","createAnimatedComponent","BoundaryPortalSlot","exports","memo","id","children","enabled","animatedProps","pointerEvents","placeholderRef","isPortalEnabled","isTeleportAvailable","__DEV__","logger","warnOnce","handleOnLayout","placeholderStyle","usePlaceholderStyles","jsx","View","ref","onLayout","nativeEvent","layout","runOnUI","style","collapsable","name"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/components/portal-slot.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAIA,IAAAK,qBAAA,GAAAL,OAAA;AAAuE,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAE,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AASvE,MAAMkB,oBAAoB,GAAGC,sBAAc,GACxCC,8BAAQ,CAACC,uBAAuB,CAChCF,sBACD,CAAC,GACA,IAAI;AAWA,MAAMG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAG,IAAAE,WAAI,EAAC,SAASF,kBAAkBA,CAAC;EAClEG,EAAE;EACFC,QAAQ;EACRC,OAAO;EACPC,aAAa;EACbC,aAAa;EACbC;AACwB,CAAC,EAAE;EAC3B,MAAMC,eAAe,GAAGJ,OAAO,IAAIK,6BAAmB;EAEtD,IAAIC,OAAO,IAAIN,OAAO,IAAI,CAACF,EAAE,EAAE;IAC9BS,cAAM,CAACC,QAAQ,CACd,mBAAmB,EACnB,iEACD,CAAC;EACF;EAEA,MAAM;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAG,IAAAC,0CAAoB,EAAC,CAAC;EAEnE,IAAIP,eAAe,IAAIb,oBAAoB,EAAE;IAC5C,oBACC,IAAApB,WAAA,CAAAyC,GAAA,EAAC9C,sBAAA,CAAAgB,OAAQ,CAAC+B,IAAI;MACbC,GAAG,EAAEX,cAAe;MACpBY,QAAQ,EAAEA,CAAC;QAAEC,WAAW,EAAE;UAAEC;QAAO;MAAE,CAAC,KACrC,IAAAC,8BAAO,EAACT,cAAc,CAAC,CAACQ,MAAM,CAC9B;MACDE,KAAK,EAAET,gBAAiB;MACxBR,aAAa,EAAEA,aAAc;MAC7BkB,WAAW,EAAE,KAAM;MAAArB,QAAA,eAEnB,IAAA5B,WAAA,CAAAyC,GAAA,EAACrB,oBAAoB;QACpBU,aAAa,EAAEA,aAAc;QAC7BoB,IAAI,EAAEvB,EAAG;QACTI,aAAa,EAAEA,aAAc;QAAAH,QAAA,EAE5BA;MAAQ,CACY;IAAC,CACT,CAAC;EAElB;EAEA,OAAOA,QAAQ;AAChB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["hasLocalSlot","localStylesMaps","slotId","index","length","undefined","exports"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.ts"],"mappings":";;;;;;AAEO,MAAMA,YAAY,GAAGA,CAC3BC,eAAiC,EACjCC,MAAc,KACV;EACJ,SAAS;;EAET,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGF,eAAe,CAACG,MAAM,EAAED,KAAK,EAAE,EAAE;IAC5D,IAAIF,eAAe,CAACE,KAAK,CAAC,GAAGD,MAAM,CAAC,KAAKG,SAAS,EAAE;MACnD,OAAO,IAAI;IACZ;EACD;EAEA,OAAO,KAAK;AACb,CAAC;AAACC,OAAA,CAAAN,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createBoundaryPortalHostName = void 0;
|
|
7
|
+
const BOUNDARY_PORTAL_HOST_NAME_SUFFIX = "-portal-host";
|
|
8
|
+
const createBoundaryPortalHostName = (hostKey, boundaryId, pairKey) => {
|
|
9
|
+
"worklet";
|
|
10
|
+
|
|
11
|
+
return `${hostKey}-${pairKey ? `${pairKey}-` : ""}${boundaryId}${BOUNDARY_PORTAL_HOST_NAME_SUFFIX}`;
|
|
12
|
+
};
|
|
13
|
+
exports.createBoundaryPortalHostName = createBoundaryPortalHostName;
|
|
14
|
+
//# sourceMappingURL=host-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BOUNDARY_PORTAL_HOST_NAME_SUFFIX","createBoundaryPortalHostName","hostKey","boundaryId","pairKey","exports"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/helpers/host-name.ts"],"mappings":";;;;;;AAAA,MAAMA,gCAAgC,GAAG,cAAc;AAEhD,MAAMC,4BAA4B,GAAGA,CAC3CC,OAAe,EACfC,UAAkB,EAClBC,OAAuB,KACnB;EACJ,SAAS;;EACT,OAAO,GAAGF,OAAO,IAAIE,OAAO,GAAG,GAAGA,OAAO,GAAG,GAAG,EAAE,GAAGD,UAAU,GAAGH,gCAAgC,EAAE;AACpG,CAAC;AAACK,OAAA,CAAAJ,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.resolvePortalOffsetStyle = void 0;
|
|
7
|
-
var _scroll = require("
|
|
7
|
+
var _scroll = require("../../../../../../stores/scroll.store");
|
|
8
8
|
var _hostBounds = require("../stores/host-bounds.store");
|
|
9
9
|
/**
|
|
10
10
|
* The two portal coordinate cases we support:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_scroll","require","_hostBounds","resolvePortalOffsetStyle","bounds","hostKey","placement","landingShift","hostBounds","getPortalHostBounds","boundsScrollSnapshot","scroll","hostBoundsScrollSnapshot","alignHostToBoundsScroll","hostSnapshotDeltaX","getClampedScrollAxisDelta","hostSnapshotDeltaY","adjustedHostPageX","pageX","adjustedHostPageY","pageY","transform","translateY","y","translateX","x","exports"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBO,MAAME,wBAAwB,GAAGA,CAAC;EACxCC,MAAM;EACNC,OAAO;EACPC,SAAS;EACTC;AAC+B,CAAC,KAAiB;EACjD,SAAS;;EACT,MAAMC,UAAU,GAAG,IAAAC,+BAAmB,EAACJ,OAAO,CAAC;EAC/C,MAAMK,oBAAoB,GAAGN,MAAM,CAACO,MAAM,IAAI,IAAI;EAClD,MAAMC,wBAAwB,GAAGJ,UAAU,EAAEG,MAAM,IAAI,IAAI;;EAE3D;EACA;EACA;EACA,MAAME,uBAAuB,GAAGP,SAAS,KAAK,aAAa;EAE3D,MAAMQ,kBAAkB,GAAGD,uBAAuB,GAC/C,IAAAE,iCAAyB,EACzBL,oBAAoB,EACpBE,wBAAwB,EACxB,YACD,CAAC,GACA,CAAC;EACJ,MAAMI,kBAAkB,GAAGH,uBAAuB,GAC/C,IAAAE,iCAAyB,EACzBL,oBAAoB,EACpBE,wBAAwB,EACxB,UACD,CAAC,GACA,CAAC;;EAEJ;EACA;EACA,MAAMK,iBAAiB,GAAGT,UAAU,GACjCA,UAAU,CAACU,KAAK,GAAGJ,kBAAkB,GACrC,CAAC;EACJ,MAAMK,iBAAiB,GAAGX,UAAU,GACjCA,UAAU,CAACY,KAAK,GAAGJ,kBAAkB,GACrC,CAAC;EAEJ,OAAO;IACNK,SAAS,EAAE,CACV;MAAEC,UAAU,EAAElB,MAAM,CAACgB,KAAK,GAAGD,iBAAiB,IAAIZ,YAAY,EAAEgB,CAAC,IAAI,CAAC;IAAE,CAAC,EACzE;MAAEC,UAAU,EAAEpB,MAAM,CAACc,KAAK,GAAGD,iBAAiB,IAAIV,YAAY,EAAEkB,CAAC,IAAI,CAAC;IAAE,CAAC;EAE3E,CAAC;AACF,CAAC;AAACC,OAAA,CAAAvB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useBoundaryPortalAttachment = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
+
var _descriptors = require("../../../../../../providers/screen/descriptors");
|
|
10
|
+
var _styles = require("../../../../../../providers/screen/styles");
|
|
11
|
+
var _state = require("../../../../../../stores/bounds/internals/state");
|
|
12
|
+
var _naming = require("../../../utils/naming");
|
|
13
|
+
var _ownership = require("../../../utils/ownership");
|
|
14
|
+
var _shallowEqual = require("../../../utils/shallow-equal");
|
|
15
|
+
var _teleportControl = require("../../../utils/teleport-control");
|
|
16
|
+
var _visibleHost = require("../../../utils/visible-host");
|
|
17
|
+
var _hostName = require("../helpers/host-name");
|
|
18
|
+
var _hostRegistry = require("../stores/host-registry.store");
|
|
19
|
+
var _portalBoundaryHost = require("../stores/portal-boundary-host.store");
|
|
20
|
+
const useBoundaryPortalAttachment = ({
|
|
21
|
+
boundaryId,
|
|
22
|
+
enabled
|
|
23
|
+
}) => {
|
|
24
|
+
const sourcePairKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.sourcePairKey);
|
|
25
|
+
const currentScreenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.currentScreenKey);
|
|
26
|
+
const {
|
|
27
|
+
localStylesMaps,
|
|
28
|
+
nextInterpolatorReady,
|
|
29
|
+
slotsMap
|
|
30
|
+
} = (0, _styles.useScreenSlots)();
|
|
31
|
+
const [ownership, setOwnership] = (0, _react.useState)(null);
|
|
32
|
+
const requestedPortalHostName = (0, _reactNativeReanimated.useSharedValue)(null);
|
|
33
|
+
const visiblePortalHostName = (0, _reactNativeReanimated.useSharedValue)(null);
|
|
34
|
+
const mountedPortalBoundaryHostNamesRef = (0, _react.useRef)(new Set());
|
|
35
|
+
const escapeHostKey = (0, _hostRegistry.useActiveHostKey)(enabled ? currentScreenKey : null);
|
|
36
|
+
const updatePortalOwnership = (0, _react.useCallback)((hostScreenKey, ownerPairKey, ownerScreenKey) => {
|
|
37
|
+
if (hostScreenKey && ownerPairKey && ownerScreenKey) {
|
|
38
|
+
setOwnership(current => {
|
|
39
|
+
if (current?.hostScreenKey === hostScreenKey && current.ownerPairKey === ownerPairKey && current.ownerScreenKey === ownerScreenKey) {
|
|
40
|
+
return current;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
hostScreenKey,
|
|
44
|
+
ownerPairKey,
|
|
45
|
+
ownerScreenKey,
|
|
46
|
+
status: "complete"
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
setOwnership(current => current ? null : current);
|
|
52
|
+
}, []);
|
|
53
|
+
const unmountOwnedPortalBoundaryHosts = (0, _react.useCallback)(() => {
|
|
54
|
+
for (const portalHostName of mountedPortalBoundaryHostNamesRef.current) {
|
|
55
|
+
(0, _portalBoundaryHost.unmountPortalBoundaryHostByName)(portalHostName);
|
|
56
|
+
}
|
|
57
|
+
mountedPortalBoundaryHostNamesRef.current.clear();
|
|
58
|
+
}, []);
|
|
59
|
+
(0, _react.useLayoutEffect)(() => {
|
|
60
|
+
if (!enabled || !ownership || !escapeHostKey) {
|
|
61
|
+
requestedPortalHostName.set(null);
|
|
62
|
+
visiblePortalHostName.set(null);
|
|
63
|
+
unmountOwnedPortalBoundaryHosts();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const portalHostName = (0, _hostName.createBoundaryPortalHostName)(escapeHostKey, boundaryId, ownership.ownerPairKey);
|
|
67
|
+
(0, _portalBoundaryHost.mountPortalBoundaryHost)({
|
|
68
|
+
boundaryId,
|
|
69
|
+
escapeClipping: true,
|
|
70
|
+
hostKey: escapeHostKey,
|
|
71
|
+
localStylesMaps,
|
|
72
|
+
pairKey: ownership.ownerPairKey,
|
|
73
|
+
portalHostName,
|
|
74
|
+
screenKey: currentScreenKey,
|
|
75
|
+
slotsMap
|
|
76
|
+
});
|
|
77
|
+
mountedPortalBoundaryHostNamesRef.current.add(portalHostName);
|
|
78
|
+
|
|
79
|
+
// Request the new receiver immediately, but keep the currently visible
|
|
80
|
+
// receiver until the new interpolator is ready. This avoids a no-host gap
|
|
81
|
+
// during rapid close/open retargets.
|
|
82
|
+
requestedPortalHostName.set(portalHostName);
|
|
83
|
+
}, [boundaryId, currentScreenKey, enabled, escapeHostKey, localStylesMaps, ownership, requestedPortalHostName, slotsMap, unmountOwnedPortalBoundaryHosts, visiblePortalHostName]);
|
|
84
|
+
(0, _react.useLayoutEffect)(() => {
|
|
85
|
+
return () => {
|
|
86
|
+
requestedPortalHostName.set(null);
|
|
87
|
+
visiblePortalHostName.set(null);
|
|
88
|
+
unmountOwnedPortalBoundaryHosts();
|
|
89
|
+
};
|
|
90
|
+
}, [requestedPortalHostName, unmountOwnedPortalBoundaryHosts, visiblePortalHostName]);
|
|
91
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => {
|
|
92
|
+
"worklet";
|
|
93
|
+
|
|
94
|
+
if (!enabled || !sourcePairKey) {
|
|
95
|
+
return {
|
|
96
|
+
hostScreenKey: null,
|
|
97
|
+
ownerPairKey: sourcePairKey,
|
|
98
|
+
ownerScreenKey: null,
|
|
99
|
+
status: "clear"
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return (0, _ownership.resolveBoundaryPortalOwnership)({
|
|
103
|
+
boundaryId,
|
|
104
|
+
currentScreenKey,
|
|
105
|
+
handoff: false,
|
|
106
|
+
pairsState: _state.pairs.get(),
|
|
107
|
+
sourcePairKey
|
|
108
|
+
});
|
|
109
|
+
}, (signal, previousSignal) => {
|
|
110
|
+
"worklet";
|
|
111
|
+
|
|
112
|
+
if ((0, _shallowEqual.shallowEqual)(previousSignal, signal)) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
(0, _reactNativeReanimated.runOnJS)(updatePortalOwnership)(signal.hostScreenKey, signal.ownerPairKey, signal.ownerScreenKey ?? undefined);
|
|
116
|
+
});
|
|
117
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => {
|
|
118
|
+
"worklet";
|
|
119
|
+
|
|
120
|
+
const slot = slotsMap.get()[boundaryId];
|
|
121
|
+
const teleport = slot?.props?.teleport;
|
|
122
|
+
const shouldTeleport = (0, _teleportControl.shouldAttachBoundaryPortal)({
|
|
123
|
+
enabled,
|
|
124
|
+
teleport
|
|
125
|
+
});
|
|
126
|
+
const requestedName = requestedPortalHostName.get();
|
|
127
|
+
const visibleName = visiblePortalHostName.get();
|
|
128
|
+
const isInterpolatorReady = nextInterpolatorReady.get();
|
|
129
|
+
const nextVisibleName = (0, _visibleHost.resolveNextVisiblePortalHostName)({
|
|
130
|
+
isInterpolatorReady: isInterpolatorReady === 1,
|
|
131
|
+
requestedName,
|
|
132
|
+
shouldTeleport,
|
|
133
|
+
visibleName
|
|
134
|
+
});
|
|
135
|
+
return {
|
|
136
|
+
isInterpolatorReady,
|
|
137
|
+
nextVisibleName,
|
|
138
|
+
requestedName,
|
|
139
|
+
shouldTeleport,
|
|
140
|
+
teleport,
|
|
141
|
+
visibleName
|
|
142
|
+
};
|
|
143
|
+
}, (state, previousState) => {
|
|
144
|
+
"worklet";
|
|
145
|
+
|
|
146
|
+
if ((0, _shallowEqual.shallowEqual)(previousState, state)) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (state.nextVisibleName !== state.visibleName) {
|
|
150
|
+
visiblePortalHostName.set(state.nextVisibleName);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (state.visibleName && state.visibleName === state.requestedName) {
|
|
154
|
+
(0, _reactNativeReanimated.runOnJS)(_portalBoundaryHost.dropStalePortalBoundaryHosts)({
|
|
155
|
+
boundaryId,
|
|
156
|
+
keepPortalHostName: state.visibleName
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
const teleportProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
161
|
+
"worklet";
|
|
162
|
+
|
|
163
|
+
const slot = slotsMap.get()[boundaryId];
|
|
164
|
+
const {
|
|
165
|
+
teleport,
|
|
166
|
+
...slotProps
|
|
167
|
+
} = slot?.props ?? {};
|
|
168
|
+
const shouldTeleport = (0, _teleportControl.shouldAttachBoundaryPortal)({
|
|
169
|
+
enabled,
|
|
170
|
+
teleport
|
|
171
|
+
});
|
|
172
|
+
const visibleName = visiblePortalHostName.get();
|
|
173
|
+
return {
|
|
174
|
+
...slotProps,
|
|
175
|
+
hostName: shouldTeleport && visibleName ? visibleName : _naming.PORTAL_HOST_NAME_RESET_VALUE
|
|
176
|
+
};
|
|
177
|
+
});
|
|
178
|
+
return {
|
|
179
|
+
teleportProps,
|
|
180
|
+
visiblePortalHostName
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
exports.useBoundaryPortalAttachment = useBoundaryPortalAttachment;
|
|
184
|
+
//# sourceMappingURL=use-boundary-portal-attachment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_descriptors","_styles","_state","_naming","_ownership","_shallowEqual","_teleportControl","_visibleHost","_hostName","_hostRegistry","_portalBoundaryHost","useBoundaryPortalAttachment","boundaryId","enabled","sourcePairKey","useDescriptorsStore","s","derivations","currentScreenKey","localStylesMaps","nextInterpolatorReady","slotsMap","useScreenSlots","ownership","setOwnership","useState","requestedPortalHostName","useSharedValue","visiblePortalHostName","mountedPortalBoundaryHostNamesRef","useRef","Set","escapeHostKey","useActiveHostKey","updatePortalOwnership","useCallback","hostScreenKey","ownerPairKey","ownerScreenKey","current","status","unmountOwnedPortalBoundaryHosts","portalHostName","unmountPortalBoundaryHostByName","clear","useLayoutEffect","set","createBoundaryPortalHostName","mountPortalBoundaryHost","escapeClipping","hostKey","pairKey","screenKey","add","useAnimatedReaction","resolveBoundaryPortalOwnership","handoff","pairsState","pairs","get","signal","previousSignal","shallowEqual","runOnJS","undefined","slot","teleport","props","shouldTeleport","shouldAttachBoundaryPortal","requestedName","visibleName","isInterpolatorReady","nextVisibleName","resolveNextVisiblePortalHostName","state","previousState","dropStalePortalBoundaryHosts","keepPortalHostName","teleportProps","useAnimatedProps","slotProps","hostName","PORTAL_HOST_NAME_RESET_VALUE","exports"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAMA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAIA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAX,OAAA;AACA,IAAAY,mBAAA,GAAAZ,OAAA;AAWO,MAAMa,2BAA2B,GAAGA,CAAC;EAC3CC,UAAU;EACVC;AACkC,CAAC,KAAK;EACxC,MAAMC,aAAa,GAAG,IAAAC,gCAAmB,EAAEC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACH,aAAa,CAAC;EAC7E,MAAMI,gBAAgB,GAAG,IAAAH,gCAAmB,EAC1CC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,gBACtB,CAAC;EACD,MAAM;IAAEC,eAAe;IAAEC,qBAAqB;IAAEC;EAAS,CAAC,GAAG,IAAAC,sBAAc,EAAC,CAAC;EAC7E,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAGhC,IAAI,CAAC;EACf,MAAMC,uBAAuB,GAAG,IAAAC,qCAAc,EAAgB,IAAI,CAAC;EACnE,MAAMC,qBAAqB,GAAG,IAAAD,qCAAc,EAAgB,IAAI,CAAC;EACjE,MAAME,iCAAiC,GAAG,IAAAC,aAAM,EAAC,IAAIC,GAAG,CAAS,CAAC,CAAC;EACnE,MAAMC,aAAa,GAAG,IAAAC,8BAAgB,EAACpB,OAAO,GAAGK,gBAAgB,GAAG,IAAI,CAAC;EAEzE,MAAMgB,qBAAqB,GAAG,IAAAC,kBAAW,EACxC,CACCC,aAA4B,EAC5BC,YAAqB,EACrBC,cAAuB,KACnB;IACJ,IAAIF,aAAa,IAAIC,YAAY,IAAIC,cAAc,EAAE;MACpDd,YAAY,CAAEe,OAAO,IAAK;QACzB,IACCA,OAAO,EAAEH,aAAa,KAAKA,aAAa,IACxCG,OAAO,CAACF,YAAY,KAAKA,YAAY,IACrCE,OAAO,CAACD,cAAc,KAAKA,cAAc,EACxC;UACD,OAAOC,OAAO;QACf;QAEA,OAAO;UACNH,aAAa;UACbC,YAAY;UACZC,cAAc;UACdE,MAAM,EAAE;QACT,CAAC;MACF,CAAC,CAAC;MACF;IACD;IAEAhB,YAAY,CAAEe,OAAO,IAAMA,OAAO,GAAG,IAAI,GAAGA,OAAQ,CAAC;EACtD,CAAC,EACD,EACD,CAAC;EAED,MAAME,+BAA+B,GAAG,IAAAN,kBAAW,EAAC,MAAM;IACzD,KAAK,MAAMO,cAAc,IAAIb,iCAAiC,CAACU,OAAO,EAAE;MACvE,IAAAI,mDAA+B,EAACD,cAAc,CAAC;IAChD;IAEAb,iCAAiC,CAACU,OAAO,CAACK,KAAK,CAAC,CAAC;EAClD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAC,sBAAe,EAAC,MAAM;IACrB,IAAI,CAAChC,OAAO,IAAI,CAACU,SAAS,IAAI,CAACS,aAAa,EAAE;MAC7CN,uBAAuB,CAACoB,GAAG,CAAC,IAAI,CAAC;MACjClB,qBAAqB,CAACkB,GAAG,CAAC,IAAI,CAAC;MAC/BL,+BAA+B,CAAC,CAAC;MACjC;IACD;IAEA,MAAMC,cAAc,GAAG,IAAAK,sCAA4B,EAClDf,aAAa,EACbpB,UAAU,EACVW,SAAS,CAACc,YACX,CAAC;IAED,IAAAW,2CAAuB,EAAC;MACvBpC,UAAU;MACVqC,cAAc,EAAE,IAAI;MACpBC,OAAO,EAAElB,aAAa;MACtBb,eAAe;MACfgC,OAAO,EAAE5B,SAAS,CAACc,YAAY;MAC/BK,cAAc;MACdU,SAAS,EAAElC,gBAAgB;MAC3BG;IACD,CAAC,CAAC;IACFQ,iCAAiC,CAACU,OAAO,CAACc,GAAG,CAACX,cAAc,CAAC;;IAE7D;IACA;IACA;IACAhB,uBAAuB,CAACoB,GAAG,CAACJ,cAAc,CAAC;EAC5C,CAAC,EAAE,CACF9B,UAAU,EACVM,gBAAgB,EAChBL,OAAO,EACPmB,aAAa,EACbb,eAAe,EACfI,SAAS,EACTG,uBAAuB,EACvBL,QAAQ,EACRoB,+BAA+B,EAC/Bb,qBAAqB,CACrB,CAAC;EAEF,IAAAiB,sBAAe,EAAC,MAAM;IACrB,OAAO,MAAM;MACZnB,uBAAuB,CAACoB,GAAG,CAAC,IAAI,CAAC;MACjClB,qBAAqB,CAACkB,GAAG,CAAC,IAAI,CAAC;MAC/BL,+BAA+B,CAAC,CAAC;IAClC,CAAC;EACF,CAAC,EAAE,CACFf,uBAAuB,EACvBe,+BAA+B,EAC/Bb,qBAAqB,CACrB,CAAC;EAEF,IAAA0B,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,IAAI,CAACzC,OAAO,IAAI,CAACC,aAAa,EAAE;MAC/B,OAAO;QACNsB,aAAa,EAAE,IAAI;QACnBC,YAAY,EAAEvB,aAAa;QAC3BwB,cAAc,EAAE,IAAI;QACpBE,MAAM,EAAE;MACT,CAAC;IACF;IAEA,OAAO,IAAAe,yCAA8B,EAAC;MACrC3C,UAAU;MACVM,gBAAgB;MAChBsC,OAAO,EAAE,KAAK;MACdC,UAAU,EAAEC,YAAK,CAACC,GAAG,CAAC,CAAC;MACvB7C;IACD,CAAC,CAAC;EACH,CAAC,EACD,CAAC8C,MAAM,EAAEC,cAAc,KAAK;IAC3B,SAAS;;IACT,IAAI,IAAAC,0BAAY,EAACD,cAAc,EAAED,MAAM,CAAC,EAAE;MACzC;IACD;IAEA,IAAAG,8BAAO,EAAC7B,qBAAqB,CAAC,CAC7B0B,MAAM,CAACxB,aAAa,EACpBwB,MAAM,CAACvB,YAAY,EACnBuB,MAAM,CAACtB,cAAc,IAAI0B,SAC1B,CAAC;EACF,CACD,CAAC;EAED,IAAAV,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,MAAMW,IAAI,GAAG5C,QAAQ,CAACsC,GAAG,CAAC,CAAC,CAAC/C,UAAU,CAAC;IACvC,MAAMsD,QAAQ,GAAGD,IAAI,EAAEE,KAAK,EAAED,QAAQ;IACtC,MAAME,cAAc,GAAG,IAAAC,2CAA0B,EAAC;MACjDxD,OAAO;MACPqD;IACD,CAAC,CAAC;IACF,MAAMI,aAAa,GAAG5C,uBAAuB,CAACiC,GAAG,CAAC,CAAC;IACnD,MAAMY,WAAW,GAAG3C,qBAAqB,CAAC+B,GAAG,CAAC,CAAC;IAC/C,MAAMa,mBAAmB,GAAGpD,qBAAqB,CAACuC,GAAG,CAAC,CAAC;IACvD,MAAMc,eAAe,GAAG,IAAAC,6CAAgC,EAAC;MACxDF,mBAAmB,EAAEA,mBAAmB,KAAK,CAAC;MAC9CF,aAAa;MACbF,cAAc;MACdG;IACD,CAAC,CAAC;IAEF,OAAO;MACNC,mBAAmB;MACnBC,eAAe;MACfH,aAAa;MACbF,cAAc;MACdF,QAAQ;MACRK;IACD,CAAC;EACF,CAAC,EACD,CAACI,KAAK,EAAEC,aAAa,KAAK;IACzB,SAAS;;IACT,IAAI,IAAAd,0BAAY,EAACc,aAAa,EAAED,KAAK,CAAC,EAAE;MACvC;IACD;IAEA,IAAIA,KAAK,CAACF,eAAe,KAAKE,KAAK,CAACJ,WAAW,EAAE;MAChD3C,qBAAqB,CAACkB,GAAG,CAAC6B,KAAK,CAACF,eAAe,CAAC;MAChD;IACD;IAEA,IAAIE,KAAK,CAACJ,WAAW,IAAII,KAAK,CAACJ,WAAW,KAAKI,KAAK,CAACL,aAAa,EAAE;MACnE,IAAAP,8BAAO,EAACc,gDAA4B,CAAC,CAAC;QACrCjE,UAAU;QACVkE,kBAAkB,EAAEH,KAAK,CAACJ;MAC3B,CAAC,CAAC;IACH;EACD,CACD,CAAC;EAED,MAAMQ,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC5C,SAAS;;IAET,MAAMf,IAAI,GAAG5C,QAAQ,CAACsC,GAAG,CAAC,CAAC,CAAC/C,UAAU,CAAC;IACvC,MAAM;MAAEsD,QAAQ;MAAE,GAAGe;IAAU,CAAC,GAAGhB,IAAI,EAAEE,KAAK,IAAI,CAAC,CAAC;IACpD,MAAMC,cAAc,GAAG,IAAAC,2CAA0B,EAAC;MACjDxD,OAAO;MACPqD;IACD,CAAC,CAAC;IACF,MAAMK,WAAW,GAAG3C,qBAAqB,CAAC+B,GAAG,CAAC,CAAC;IAE/C,OAAO;MACN,GAAGsB,SAAS;MACZC,QAAQ,EACPd,cAAc,IAAIG,WAAW,GAC1BA,WAAW,GACXY;IACL,CAAC;EACF,CAAC,CAAC;EAEF,OAAO;IACNJ,aAAa;IACbnD;EACD,CAAC;AACF,CAAC;AAACwD,OAAA,CAAAzE,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
|
@@ -6,16 +6,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useHostMeasurement = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
-
var _origin = require("
|
|
10
|
-
var _scroll = require("
|
|
11
|
-
var
|
|
9
|
+
var _origin = require("../../../../../../providers/screen/origin.provider");
|
|
10
|
+
var _scroll = require("../../../../../../stores/scroll.store");
|
|
11
|
+
var _visibilityBlockOffset = require("../../../../../../utils/visibility-block-offset");
|
|
12
|
+
var _measuredBounds = require("../../../../utils/measured-bounds");
|
|
12
13
|
var _hostBounds = require("../stores/host-bounds.store");
|
|
13
14
|
const HOST_MEASUREMENT_RETRY_DELAY_MS = 16;
|
|
14
15
|
const useHostMeasurement = ({
|
|
15
16
|
capturesScroll,
|
|
16
17
|
enabled,
|
|
17
18
|
hostKey,
|
|
18
|
-
screenKey
|
|
19
|
+
screenKey,
|
|
20
|
+
visibilityBlocked,
|
|
21
|
+
viewportHeight,
|
|
22
|
+
viewportWidth
|
|
19
23
|
}) => {
|
|
20
24
|
const hostRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
21
25
|
const scrollMetadata = _scroll.ScrollStore.getValue(screenKey, "metadata");
|
|
@@ -60,7 +64,21 @@ const useHostMeasurement = ({
|
|
|
60
64
|
// position instead; clamped scroll deltas share that basis.
|
|
61
65
|
const currentScroll = scrollMetadata.get();
|
|
62
66
|
const overscrollNormalized = capturesScroll ? (0, _measuredBounds.adjustedMeasuredBoundsForOverscrollDeltas)(measured, currentScroll) : measured;
|
|
63
|
-
const normalizedMeasured = (0, _measuredBounds.
|
|
67
|
+
const normalizedMeasured = (0, _measuredBounds.normalizeMeasuredBoundsWithVisibilityGate)({
|
|
68
|
+
measured: overscrollNormalized,
|
|
69
|
+
origin: measuredOrigin,
|
|
70
|
+
visibilityBlocked: visibilityBlocked.get(),
|
|
71
|
+
visibilityBlockOffset: (0, _visibilityBlockOffset.getVisibilityBlockOffset)(viewportHeight),
|
|
72
|
+
viewportWidth,
|
|
73
|
+
viewportHeight
|
|
74
|
+
});
|
|
75
|
+
if (!(0, _measuredBounds.isMeasurementInViewport)(normalizedMeasured, viewportWidth, viewportHeight)) {
|
|
76
|
+
(0, _reactNativeReanimated.cancelAnimation)(retryToken);
|
|
77
|
+
retryToken.set((0, _reactNativeReanimated.withDelay)(HOST_MEASUREMENT_RETRY_DELAY_MS, (0, _reactNativeReanimated.withTiming)(retryToken.get() + 1, {
|
|
78
|
+
duration: 0
|
|
79
|
+
})));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
64
82
|
(0, _hostBounds.setPortalHostBounds)(hostKey, {
|
|
65
83
|
x: normalizedMeasured.x,
|
|
66
84
|
y: normalizedMeasured.y,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_origin","_scroll","_visibilityBlockOffset","_measuredBounds","_hostBounds","HOST_MEASUREMENT_RETRY_DELAY_MS","useHostMeasurement","capturesScroll","enabled","hostKey","screenKey","visibilityBlocked","viewportHeight","viewportWidth","hostRef","useAnimatedRef","scrollMetadata","ScrollStore","getValue","canRenderHosts","setCanRenderHosts","useState","originRef","useOriginContext","hasMeasuredHost","useSharedValue","retryToken","useAnimatedReaction","get","state","cancelAnimation","hasAlreadyMeasured","measured","measure","measuredOrigin","set","withDelay","withTiming","duration","currentScroll","overscrollNormalized","adjustedMeasuredBoundsForOverscrollDeltas","normalizedMeasured","normalizeMeasuredBoundsWithVisibilityGate","origin","visibilityBlockOffset","getVisibilityBlockOffset","isMeasurementInViewport","setPortalHostBounds","x","y","width","height","pageX","pageY","scroll","runOnJS","useLayoutEffect","runOnUI","clearPortalHostBounds","exports"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,22 +6,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.usePlaceholderStyles = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
-
const usePlaceholderStyles = ({
|
|
10
|
-
visiblePortalHostName
|
|
11
|
-
}) => {
|
|
9
|
+
const usePlaceholderStyles = () => {
|
|
12
10
|
const placeholderWidth = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
13
11
|
const placeholderHeight = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
14
12
|
// Pin the placeholder to its measured size while content lives in the host,
|
|
15
|
-
// in the same UI frame the host name flips
|
|
13
|
+
// in the same UI frame the host name flips - no commit in between. Until the
|
|
16
14
|
// first layout lands (dims 0) sizing stays natural so an instant attach
|
|
17
15
|
// cannot collapse the slot.
|
|
18
16
|
const placeholderStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
19
17
|
"worklet";
|
|
20
18
|
|
|
21
|
-
const isAttached = visiblePortalHostName.get() !== null;
|
|
22
19
|
const width = placeholderWidth.get();
|
|
23
20
|
const height = placeholderHeight.get();
|
|
24
|
-
if (
|
|
21
|
+
if (width === 0) {
|
|
25
22
|
return {
|
|
26
23
|
width: "auto",
|
|
27
24
|
height: "auto"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","usePlaceholderStyles","placeholderWidth","useSharedValue","placeholderHeight","placeholderStyle","useAnimatedStyle","width","get","height","handleOnLayout","useCallback","layout","hasValidDimensions","set","exports"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AAEO,MAAME,oBAAoB,GAAGA,CAAA,KAAM;EACzC,MAAMC,gBAAgB,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EAC1C,MAAMC,iBAAiB,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EAC3C;EACA;EACA;EACA;EACA,MAAME,gBAAgB,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC/C,SAAS;;IACT,MAAMC,KAAK,GAAGL,gBAAgB,CAACM,GAAG,CAAC,CAAC;IACpC,MAAMC,MAAM,GAAGL,iBAAiB,CAACI,GAAG,CAAC,CAAC;IAEtC,IAAID,KAAK,KAAK,CAAC,EAAE;MAChB,OAAO;QAAEA,KAAK,EAAE,MAAM;QAAEE,MAAM,EAAE;MAAO,CAAC;IACzC;IAEA,OAAO;MAAEF,KAAK;MAAEE;IAAO,CAAC;EACzB,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG,IAAAC,kBAAW,EAChCC,MAAuB,IAAK;IAC5B,SAAS;;IACT,MAAM;MAAEL,KAAK;MAAEE;IAAO,CAAC,GAAGG,MAAM;IAChC,IAAIL,KAAK,KAAK,CAAC,IAAIE,MAAM,KAAK,CAAC,EAAE;MAChC;IACD;IAEA,MAAMI,kBAAkB,GACvBT,iBAAiB,CAACI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAIN,gBAAgB,CAACM,GAAG,CAAC,CAAC,KAAK,CAAC;IAE9D,IAAI,CAACK,kBAAkB,EAAE;MACxBX,gBAAgB,CAACY,GAAG,CAACP,KAAK,CAAC;MAC3BH,iBAAiB,CAACU,GAAG,CAACL,MAAM,CAAC;IAC9B;EACD,CAAC,EACD,CAACL,iBAAiB,EAAEF,gBAAgB,CACrC,CAAC;EAED,OAAO;IAAEG,gBAAgB;IAAEK;EAAe,CAAC;AAC5C,CAAC;AAACK,OAAA,CAAAd,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|