react-native-screen-transitions 3.9.0-alpha.1 → 3.9.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/shared/components/boundary/components/boundary-target.js +21 -16
- package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/create-boundary-component.js +88 -114
- package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/{use-boundary-presence.js → lifecycles/use-boundary-presence.js} +14 -7
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +51 -24
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +7 -10
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +10 -7
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +82 -0
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +10 -13
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/index.js +27 -30
- package/lib/commonjs/shared/components/boundary/index.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js +58 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/host.js +20 -4
- package/lib/commonjs/shared/components/boundary/portal/components/host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js +53 -32
- package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/portal.js +206 -96
- package/lib/commonjs/shared/components/boundary/portal/components/portal.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js +14 -2
- package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js +5 -44
- package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js +37 -5
- package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/teleport.js +15 -2
- package/lib/commonjs/shared/components/boundary/portal/teleport.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js +18 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/naming.js +10 -3
- package/lib/commonjs/shared/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js +28 -49
- package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js +254 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js +38 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js +29 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js +10 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js +25 -0
- package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +65 -0
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +12 -2
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +0 -21
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/source-signals.js +4 -9
- package/lib/commonjs/shared/components/boundary/utils/source-signals.js.map +1 -1
- package/lib/commonjs/shared/components/create-transition-aware-component.js +2 -20
- package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +1 -1
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +2 -14
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/content.js +4 -16
- package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js +4 -15
- package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +4 -16
- package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -1
- package/lib/commonjs/shared/index.js.map +1 -1
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +6 -3
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +143 -24
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/screen-composer.js +1 -1
- package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js +95 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
- package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/opening-phase.js +32 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/opening-phase.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +16 -11
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +1 -20
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js +1 -11
- package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +96 -0
- package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +36 -36
- 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 +1 -19
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +8 -3
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/index.js +38 -7
- package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/{styles.provider.js → slot.provider.js} +34 -21
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js +53 -0
- package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +37 -2
- package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/entries.js +11 -4
- package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/links.js +134 -51
- package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js +1 -3
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
- package/lib/commonjs/shared/stores/system.store.js +5 -0
- package/lib/commonjs/shared/stores/system.store.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js +10 -69
- package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js +59 -0
- package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +8 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js +59 -0
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
- package/lib/commonjs/shared/utils/logger.js +11 -0
- package/lib/commonjs/shared/utils/logger.js.map +1 -1
- package/lib/module/shared/components/boundary/components/boundary-target.js +19 -14
- package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/module/shared/components/boundary/create-boundary-component.js +93 -119
- package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js +30 -0
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +51 -24
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +7 -10
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +10 -7
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +77 -0
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/use-measurer.js +10 -13
- package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/module/shared/components/boundary/index.js +27 -30
- package/lib/module/shared/components/boundary/index.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js +53 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/host.js +21 -5
- package/lib/module/shared/components/boundary/portal/components/host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js +53 -32
- package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/portal.js +213 -103
- package/lib/module/shared/components/boundary/portal/components/portal.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js +15 -3
- package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js +4 -41
- package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js +35 -4
- package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/teleport.js +16 -2
- package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js +13 -0
- package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/utils/naming.js +8 -2
- package/lib/module/shared/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/offset-style.js +29 -49
- package/lib/module/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/ownership.js +246 -0
- package/lib/module/shared/components/boundary/portal/utils/ownership.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js +33 -0
- package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js +24 -0
- package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/utils/teleport-control.js +8 -0
- package/lib/module/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/visible-host.js +20 -0
- package/lib/module/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +57 -0
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -0
- package/lib/module/shared/components/boundary/utils/destination-signals.js +12 -2
- package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/refresh-signals.js +0 -21
- package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/source-signals.js +4 -9
- package/lib/module/shared/components/boundary/utils/source-signals.js.map +1 -1
- package/lib/module/shared/components/create-transition-aware-component.js +4 -22
- package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/float-overlay.js +2 -2
- package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/backdrop.js +4 -16
- package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/content.js +4 -16
- package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js +5 -16
- package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/surface-container.js +4 -16
- package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -1
- package/lib/module/shared/index.js.map +1 -1
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js +6 -3
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/derivations.js +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +144 -25
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/module/shared/providers/screen/screen-composer.js +2 -2
- package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js +89 -0
- package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
- package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/opening-phase.js +26 -0
- package/lib/module/shared/providers/screen/styles/helpers/opening-phase.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +16 -11
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +0 -18
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js +0 -9
- package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +87 -0
- package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +36 -36
- 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 +1 -19
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +9 -4
- package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/index.js +2 -1
- package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/slot.provider.js +66 -0
- package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js +47 -0
- package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
- package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +33 -1
- package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/entries.js +11 -4
- package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/links.js +135 -53
- package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/resolver.js +1 -3
- package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
- package/lib/module/shared/stores/system.store.js +5 -0
- package/lib/module/shared/stores/system.store.js.map +1 -1
- package/lib/module/shared/types/animation.types.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/styles/compute.js +10 -69
- package/lib/module/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js +52 -0
- package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js +9 -2
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js +58 -0
- package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
- package/lib/module/shared/utils/logger.js +11 -0
- package/lib/module/shared/utils/logger.js.map +1 -1
- package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts +0 -1
- package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts +11 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +10 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts +10 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +28 -0
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +5 -6
- package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/index.d.ts +36 -229
- package/lib/typescript/shared/components/boundary/index.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts +4 -3
- package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/hooks/use-host-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts +0 -7
- package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts +16 -1
- package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts +3 -0
- package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts +2 -1
- package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts +16 -32
- package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts +35 -0
- package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts +12 -0
- package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts +4 -0
- package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +37 -0
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/types.d.ts +9 -36
- package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts +1 -0
- package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts +0 -1
- package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +3 -215
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts +3 -3
- package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts +4 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/normalize-slots.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/opening-phase.d.ts +16 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/opening-phase.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +3 -4
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts +2 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts +0 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts +0 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts +11 -0
- package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +4 -6
- 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 +0 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/index.d.ts +2 -1
- package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +18 -0
- package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts +6 -0
- package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +8 -1
- package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts +4 -3
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/types.d.ts +22 -20
- package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
- package/lib/typescript/shared/stores/system.store.d.ts +1 -0
- package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +7 -1
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/styles/compute.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts +6 -0
- package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts +9 -0
- package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -1
- package/lib/typescript/shared/utils/logger.d.ts +6 -0
- package/lib/typescript/shared/utils/logger.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/shared/components/boundary/components/boundary-target.tsx +30 -16
- package/src/shared/components/boundary/create-boundary-component.tsx +132 -164
- package/src/shared/components/boundary/hooks/lifecycles/use-boundary-presence.ts +41 -0
- package/src/shared/components/boundary/hooks/{use-initial-destination-measurement.ts → lifecycles/use-initial-destination-measurement.ts} +65 -22
- package/src/shared/components/boundary/hooks/{use-initial-source-measurement.ts → lifecycles/use-initial-source-measurement.ts} +10 -12
- package/src/shared/components/boundary/hooks/{use-refresh-boundary.ts → lifecycles/use-refresh-boundary.ts} +10 -10
- package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +97 -0
- package/src/shared/components/boundary/hooks/use-measurer.ts +16 -24
- package/src/shared/components/boundary/index.tsx +56 -30
- package/src/shared/components/boundary/portal/components/boundary-local-portal-host.tsx +66 -0
- package/src/shared/components/boundary/portal/components/host.tsx +20 -5
- package/src/shared/components/boundary/portal/components/portal-boundary-host.tsx +67 -52
- package/src/shared/components/boundary/portal/components/portal.tsx +281 -120
- package/src/shared/components/boundary/portal/hooks/use-host-measurement.ts +23 -2
- package/src/shared/components/boundary/portal/stores/host-registry.store.ts +4 -51
- package/src/shared/components/boundary/portal/stores/portal-boundary-host.store.ts +59 -6
- package/src/shared/components/boundary/portal/teleport.ts +28 -3
- package/src/shared/components/boundary/portal/utils/has-local-slot.ts +16 -0
- package/src/shared/components/boundary/portal/utils/naming.ts +11 -1
- package/src/shared/components/boundary/portal/utils/offset-style.ts +37 -139
- package/src/shared/components/boundary/portal/utils/ownership.ts +371 -0
- package/src/shared/components/boundary/portal/utils/resolve-portal.ts +50 -0
- package/src/shared/components/boundary/portal/utils/shallow-equal.ts +25 -0
- package/src/shared/components/boundary/portal/utils/teleport-control.ts +12 -0
- package/src/shared/components/boundary/portal/utils/visible-host.ts +24 -0
- package/src/shared/components/boundary/providers/{boundary-owner.provider.tsx → boundary-root.provider.tsx} +33 -47
- package/src/shared/components/boundary/types.ts +9 -39
- package/src/shared/components/boundary/utils/destination-signals.ts +22 -2
- package/src/shared/components/boundary/utils/refresh-signals.ts +0 -41
- package/src/shared/components/boundary/utils/source-signals.ts +5 -17
- package/src/shared/components/create-transition-aware-component.tsx +3 -25
- package/src/shared/components/overlay/variations/float-overlay.tsx +3 -3
- package/src/shared/components/screen-container/layers/backdrop.tsx +4 -17
- package/src/shared/components/screen-container/layers/content.tsx +4 -16
- package/src/shared/components/screen-container/layers/maybe-masked-navigation-container.tsx +8 -18
- package/src/shared/components/screen-container/layers/surface-container.tsx +4 -17
- package/src/shared/index.ts +0 -5
- package/src/shared/providers/helpers/measured-bounds-writes.ts +6 -11
- package/src/shared/providers/screen/animation/helpers/derivations.ts +3 -0
- package/src/shared/providers/screen/animation/helpers/pipeline.ts +251 -68
- package/src/shared/providers/screen/screen-composer.tsx +3 -3
- package/src/shared/providers/screen/styles/helpers/compose-slot-style.ts +129 -0
- package/src/shared/providers/screen/styles/helpers/normalize-slots.ts +45 -8
- package/src/shared/providers/screen/styles/helpers/opening-phase.ts +25 -0
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +22 -12
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts +3 -1
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.ts +0 -24
- package/src/shared/providers/screen/styles/helpers/visibility-gate.ts +0 -12
- package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +111 -0
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +48 -38
- package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +0 -18
- package/src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx +17 -4
- package/src/shared/providers/screen/styles/index.tsx +13 -4
- package/src/shared/providers/screen/styles/slot.provider.tsx +93 -0
- package/src/shared/providers/screen/styles/stores/slot-references.store.ts +71 -0
- package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +41 -1
- package/src/shared/stores/bounds/internals/entries.ts +13 -5
- package/src/shared/stores/bounds/internals/links.ts +167 -85
- package/src/shared/stores/bounds/internals/resolver.ts +0 -2
- package/src/shared/stores/bounds/types.ts +24 -22
- package/src/shared/stores/system.store.ts +6 -0
- package/src/shared/types/animation.types.ts +8 -1
- package/src/shared/utils/bounds/helpers/styles/compute.ts +22 -124
- package/src/shared/utils/bounds/helpers/styles/local-transform.ts +86 -0
- package/src/shared/utils/bounds/navigation/zoom/build.ts +9 -1
- package/src/shared/utils/bounds/navigation/zoom/helpers.ts +96 -0
- package/src/shared/utils/logger.ts +12 -0
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js +0 -40
- package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/providers/boundary-owner.provider.js +0 -68
- package/lib/commonjs/shared/components/boundary/providers/boundary-owner.provider.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +0 -26
- package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/styles/styles.provider.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js +0 -23
- package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/utils/attachment.js +0 -35
- package/lib/module/shared/components/boundary/portal/utils/attachment.js.map +0 -1
- package/lib/module/shared/components/boundary/providers/boundary-owner.provider.js +0 -60
- package/lib/module/shared/components/boundary/providers/boundary-owner.provider.js.map +0 -1
- package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +0 -21
- package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +0 -1
- package/lib/module/shared/providers/screen/styles/styles.provider.js +0 -53
- package/lib/module/shared/providers/screen/styles/styles.provider.js.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts +0 -8
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts +0 -9
- package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts +0 -9
- package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts +0 -10
- package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts +0 -21
- package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/providers/boundary-owner.provider.d.ts +0 -44
- package/lib/typescript/shared/components/boundary/providers/boundary-owner.provider.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts +0 -3
- package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/styles/styles.provider.d.ts +0 -14
- package/lib/typescript/shared/providers/screen/styles/styles.provider.d.ts.map +0 -1
- package/src/shared/components/boundary/hooks/use-boundary-presence.ts +0 -28
- package/src/shared/components/boundary/portal/utils/attachment.ts +0 -48
- package/src/shared/providers/screen/styles/helpers/preserve-animated-props-only.ts +0 -22
- package/src/shared/providers/screen/styles/styles.provider.tsx +0 -60
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useWindowDimensions","useAnimatedProps","useAnimatedReaction","useAnimatedStyle","useSharedValue","AnimationStore","SystemStore","getVisibilityBlockOffset","useDescriptorDerivations","resolveScreenVisibilityGate","useMaybeBlockVisibility","isFloatingOverlay","height","currentScreenKey","entering","transitionProgress","getBag","pendingLifecycleStartBlockCount","pendingLifecycleRequestKind","hasVisibilityGateOpened","shouldBlockVisibility","get","progress","gate","shouldOpenGate","set","shouldBlock","animatedStyle","offset","transform","translateY","animatedProps","pointerEvents"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAClD,SACCC,gBAAgB,EAChBC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,wBAAwB,QAAQ,2CAA2C;AACpF,SAASC,wBAAwB,QAAQ,mBAAmB;AAC5D,SAASC,2BAA2B,QAAQ,4BAA4B;AAExE,OAAO,MAAMC,uBAAuB,GAAIC,iBAA2B,IAAK;EACvE,MAAM;IAAEC;EAAO,CAAC,GAAGZ,mBAAmB,CAAC,CAAC;EACxC,MAAM;IAAEa;EAAiB,CAAC,GAAGL,wBAAwB,CAAC,CAAC;EACvD,MAAM;IAAEM,QAAQ;IAAEC;EAAmB,CAAC,GACrCV,cAAc,CAACW,MAAM,CAACH,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"names":["useWindowDimensions","useAnimatedProps","useAnimatedReaction","useAnimatedStyle","useSharedValue","AnimationStore","SystemStore","getVisibilityBlockOffset","useDescriptorDerivations","resolveScreenVisibilityGate","useMaybeBlockVisibility","isFloatingOverlay","height","currentScreenKey","entering","transitionProgress","getBag","pendingLifecycleStartBlockCount","pendingLifecycleRequestKind","hasVisibilityGateOpened","shouldBlockVisibility","get","progress","gate","shouldOpenGate","set","shouldBlock","animatedStyle","offset","transform","translateY","animatedProps","pointerEvents"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAClD,SACCC,gBAAgB,EAChBC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,wBAAwB,QAAQ,2CAA2C;AACpF,SAASC,wBAAwB,QAAQ,mBAAmB;AAC5D,SAASC,2BAA2B,QAAQ,4BAA4B;AAExE,OAAO,MAAMC,uBAAuB,GAAIC,iBAA2B,IAAK;EACvE,MAAM;IAAEC;EAAO,CAAC,GAAGZ,mBAAmB,CAAC,CAAC;EACxC,MAAM;IAAEa;EAAiB,CAAC,GAAGL,wBAAwB,CAAC,CAAC;EACvD,MAAM;IAAEM,QAAQ;IAAEC;EAAmB,CAAC,GACrCV,cAAc,CAACW,MAAM,CAACH,gBAAgB,CAAC;EACxC,MAAM;IAAEI,+BAA+B;IAAEC;EAA4B,CAAC,GACrEZ,WAAW,CAACU,MAAM,CAACH,gBAAgB,CAAC;EAErC,MAAMM,uBAAuB,GAAGf,cAAc,CAAC,KAAK,CAAC;EACrD,MAAMgB,qBAAqB,GAAGhB,cAAc,CAAC,CAACO,iBAAiB,CAAC;EAEhET,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,OAAOO,2BAA2B,CAAC;MAClCE,iBAAiB;MACjBQ,uBAAuB,EAAEA,uBAAuB,CAACE,GAAG,CAAC,CAAC;MACtDJ,+BAA+B,EAAEA,+BAA+B,CAACI,GAAG,CAAC,CAAC;MACtEH,2BAA2B,EAAEA,2BAA2B,CAACG,GAAG,CAAC,CAAC;MAC9DC,QAAQ,EAAEP,kBAAkB,CAACM,GAAG,CAAC,CAAC;MAClCP,QAAQ,EAAEA,QAAQ,CAACO,GAAG,CAAC;IACxB,CAAC,CAAC;EACH,CAAC,EACAE,IAAI,IAAK;IACT,SAAS;;IAET,IAAIA,IAAI,CAACC,cAAc,EAAE;MACxBL,uBAAuB,CAACM,GAAG,CAAC,IAAI,CAAC;IAClC;IAEAL,qBAAqB,CAACK,GAAG,CAACF,IAAI,CAACG,WAAW,CAAC;EAC5C,CACD,CAAC;EAED,MAAMC,aAAa,GAAGxB,gBAAgB,CAAC,MAAM;IAC5C,SAAS;;IACT,MAAMyB,MAAM,GAAGrB,wBAAwB,CAACK,MAAM,CAAC;IAE/C,OAAO;MACNiB,SAAS,EAAE,CACV;QACCC,UAAU,EAAEV,qBAAqB,CAACC,GAAG,CAAC,CAAC,GAAGO,MAAM,GAAG;MACpD,CAAC;IAEH,CAAC;EACF,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAG9B,gBAAgB,CAAC,MAAM;IAC5C,SAAS;;IACT,OAAO;MACN+B,aAAa,EAAEZ,qBAAqB,CAACC,GAAG,CAAC,CAAC,GACtC,MAAM,GACN;IACL,CAAC;EACF,CAAC,CAAC;EAEF,OAAO;IACNM,aAAa;IACbI;EACD,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { useDerivedValue, useSharedValue } from "react-native-reanimated";
|
|
4
4
|
import { NO_PROPS, NO_STYLES } from "../../../../constants";
|
|
5
|
-
import { resolveSlotStyles, reuseEqualResolvedSlots } from "../helpers/resolve-slot-styles";
|
|
5
|
+
import { areResettableStatesBySlotEqual, resolveSlotStyles, reuseEqualResolvedSlots } from "../helpers/resolve-slot-styles";
|
|
6
6
|
export const useResolvedStylesMap = ({
|
|
7
7
|
localStylesMaps,
|
|
8
8
|
ancestorStylesMap
|
|
@@ -20,12 +20,17 @@ export const useResolvedStylesMap = ({
|
|
|
20
20
|
ancestorStylesMap: ancestorStylesMap?.get() ?? NO_STYLES,
|
|
21
21
|
previousStyleStatesBySlot: previousStyleStatesBySlot.get()
|
|
22
22
|
});
|
|
23
|
-
previousStyleStatesBySlot.
|
|
23
|
+
if (!areResettableStatesBySlotEqual(previousStyleStatesBySlot.get(), nextPreviousStyleStatesBySlot)) {
|
|
24
|
+
previousStyleStatesBySlot.set(nextPreviousStyleStatesBySlot);
|
|
25
|
+
}
|
|
26
|
+
const previousResolvedStyles = previousResolvedStylesMap.get();
|
|
24
27
|
const stableResolvedStylesMap = reuseEqualResolvedSlots({
|
|
25
28
|
resolvedStylesMap,
|
|
26
|
-
previousResolvedStylesMap:
|
|
29
|
+
previousResolvedStylesMap: previousResolvedStyles
|
|
27
30
|
});
|
|
28
|
-
|
|
31
|
+
if (stableResolvedStylesMap !== previousResolvedStyles) {
|
|
32
|
+
previousResolvedStylesMap.set(stableResolvedStylesMap);
|
|
33
|
+
}
|
|
29
34
|
return stableResolvedStylesMap;
|
|
30
35
|
});
|
|
31
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useDerivedValue","useSharedValue","NO_PROPS","NO_STYLES","resolveSlotStyles","reuseEqualResolvedSlots","useResolvedStylesMap","localStylesMaps","ancestorStylesMap","previousStyleStatesBySlot","previousResolvedStylesMap","resolvedStylesMap","nextPreviousStyleStatesBySlot","get","set","stableResolvedStylesMap"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx"],"mappings":";;AAAA,SAECA,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,QAAQ,EAAEC,SAAS,QAAQ,uBAAuB;AAE3D,
|
|
1
|
+
{"version":3,"names":["useDerivedValue","useSharedValue","NO_PROPS","NO_STYLES","areResettableStatesBySlotEqual","resolveSlotStyles","reuseEqualResolvedSlots","useResolvedStylesMap","localStylesMaps","ancestorStylesMap","previousStyleStatesBySlot","previousResolvedStylesMap","resolvedStylesMap","nextPreviousStyleStatesBySlot","get","set","previousResolvedStyles","stableResolvedStylesMap"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx"],"mappings":";;AAAA,SAECA,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,QAAQ,EAAEC,SAAS,QAAQ,uBAAuB;AAE3D,SACCC,8BAA8B,EAG9BC,iBAAiB,EACjBC,uBAAuB,QACjB,gCAAgC;AAOvC,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACpCC,eAAe;EACfC;AAC2B,CAAC,KAAK;EACjC,MAAMC,yBAAyB,GAC9BT,cAAc,CAA8BC,QAAQ,CAAC;EACtD,MAAMS,yBAAyB,GAC9BV,cAAc,CAAwCE,SAAS,CAAC;EAEjE,OAAOH,eAAe,CAAwC,MAAM;IACnE,SAAS;;IACT,MAAM;MAAEY,iBAAiB;MAAEC;IAA8B,CAAC,GACzDR,iBAAiB,CAAC;MACjBG,eAAe,EAAEA,eAAe,CAACM,GAAG,CAAC,CAAC;MACtCL,iBAAiB,EAAEA,iBAAiB,EAAEK,GAAG,CAAC,CAAC,IAAIX,SAAS;MACxDO,yBAAyB,EAAEA,yBAAyB,CAACI,GAAG,CAAC;IAC1D,CAAC,CAAC;IAEH,IACC,CAACV,8BAA8B,CAC9BM,yBAAyB,CAACI,GAAG,CAAC,CAAC,EAC/BD,6BACD,CAAC,EACA;MACDH,yBAAyB,CAACK,GAAG,CAACF,6BAA6B,CAAC;IAC7D;IAEA,MAAMG,sBAAsB,GAAGL,yBAAyB,CAACG,GAAG,CAAC,CAAC;IAC9D,MAAMG,uBAAuB,GAAGX,uBAAuB,CAAC;MACvDM,iBAAiB;MACjBD,yBAAyB,EAAEK;IAC5B,CAAC,CAAC;IAEF,IAAIC,uBAAuB,KAAKD,sBAAsB,EAAE;MACvDL,yBAAyB,CAACI,GAAG,CAACE,uBAAuB,CAAC;IACvD;IAEA,OAAOA,uBAAuB;EAC/B,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { useComposedSlotStyles, useSlotLayoutStyles, useSlotProps, useSlotStackingStyles, useSlotStyles } from "./hooks/slot-resolvers";
|
|
4
|
+
export { ScreenSlotContext, ScreenSlotProvider, useScreenSlots } from "./slot.provider";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useComposedSlotStyles","useSlotLayoutStyles","useSlotProps","useSlotStackingStyles","useSlotStyles","ScreenSlotContext","ScreenSlotProvider","useScreenSlots"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/styles/index.tsx"],"mappings":";;AAAA,SACCA,qBAAqB,EACrBC,mBAAmB,EACnBC,YAAY,EACZC,qBAAqB,EACrBC,aAAa,QACP,wBAAwB;AAE/B,SACCC,iBAAiB,EAEjBC,kBAAkB,EAClBC,cAAc,QACR,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useContext, useLayoutEffect, useMemo } from "react";
|
|
4
|
+
import { StyleSheet } from "react-native";
|
|
5
|
+
import Animated from "react-native-reanimated";
|
|
6
|
+
import createProvider from "../../../utils/create-provider";
|
|
7
|
+
import { useDescriptorsStore } from "../descriptors";
|
|
8
|
+
import { FloatingOverlayLayer } from "./components/floating-overlay-layer";
|
|
9
|
+
import { useInterpolatedStylesMap } from "./hooks/use-interpolated-style-maps";
|
|
10
|
+
import { useMaybeBlockVisibility } from "./hooks/use-maybe-block-visibility";
|
|
11
|
+
import { useResolvedStylesMap } from "./hooks/use-resolved-slot-style-map";
|
|
12
|
+
import { registerScreenSlots, unregisterScreenSlots } from "./stores/slot-references.store";
|
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
export const {
|
|
15
|
+
ScreenSlotProvider,
|
|
16
|
+
ScreenSlotContext,
|
|
17
|
+
useScreenSlotContext: useScreenSlots
|
|
18
|
+
} = createProvider("ScreenSlot", {
|
|
19
|
+
guarded: true
|
|
20
|
+
})(({
|
|
21
|
+
children,
|
|
22
|
+
isFloatingOverlay
|
|
23
|
+
}) => {
|
|
24
|
+
const parentContext = useContext(ScreenSlotContext);
|
|
25
|
+
const currentScreenKey = useDescriptorsStore(s => s.derivations.currentScreenKey);
|
|
26
|
+
const {
|
|
27
|
+
localStylesMaps,
|
|
28
|
+
nextInterpolatorReady
|
|
29
|
+
} = useInterpolatedStylesMap();
|
|
30
|
+
const slotsMap = useResolvedStylesMap({
|
|
31
|
+
localStylesMaps,
|
|
32
|
+
ancestorStylesMap: parentContext?.slotsMap
|
|
33
|
+
});
|
|
34
|
+
const {
|
|
35
|
+
animatedStyle,
|
|
36
|
+
animatedProps
|
|
37
|
+
} = useMaybeBlockVisibility(isFloatingOverlay);
|
|
38
|
+
const value = useMemo(() => ({
|
|
39
|
+
localStylesMaps,
|
|
40
|
+
nextInterpolatorReady,
|
|
41
|
+
slotsMap
|
|
42
|
+
}), [localStylesMaps, nextInterpolatorReady, slotsMap]);
|
|
43
|
+
useLayoutEffect(() => {
|
|
44
|
+
registerScreenSlots(currentScreenKey, value);
|
|
45
|
+
return () => {
|
|
46
|
+
unregisterScreenSlots(currentScreenKey, value);
|
|
47
|
+
};
|
|
48
|
+
}, [currentScreenKey, value]);
|
|
49
|
+
return {
|
|
50
|
+
value,
|
|
51
|
+
children: /*#__PURE__*/_jsx(FloatingOverlayLayer, {
|
|
52
|
+
enabled: isFloatingOverlay,
|
|
53
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
54
|
+
style: [styles.container, animatedStyle],
|
|
55
|
+
animatedProps: animatedProps,
|
|
56
|
+
children: children
|
|
57
|
+
})
|
|
58
|
+
})
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
const styles = StyleSheet.create({
|
|
62
|
+
container: {
|
|
63
|
+
flex: 1
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=slot.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useContext","useLayoutEffect","useMemo","StyleSheet","Animated","createProvider","useDescriptorsStore","FloatingOverlayLayer","useInterpolatedStylesMap","useMaybeBlockVisibility","useResolvedStylesMap","registerScreenSlots","unregisterScreenSlots","jsx","_jsx","ScreenSlotProvider","ScreenSlotContext","useScreenSlotContext","useScreenSlots","guarded","children","isFloatingOverlay","parentContext","currentScreenKey","s","derivations","localStylesMaps","nextInterpolatorReady","slotsMap","ancestorStylesMap","animatedStyle","animatedProps","value","enabled","View","style","styles","container","create","flex"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/styles/slot.provider.tsx"],"mappings":";;AAAA,SAAyBA,UAAU,EAAEC,eAAe,EAAEC,OAAO,QAAQ,OAAO;AAC5E,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,MAA4B,yBAAyB;AAMpE,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,oBAAoB,QAAQ,qCAAqC;AAE1E,SAASC,wBAAwB,QAAQ,qCAAqC;AAC9E,SAASC,uBAAuB,QAAQ,oCAAoC;AAC5E,SAASC,oBAAoB,QAAQ,qCAAqC;AAC1E,SACCC,mBAAmB,EACnBC,qBAAqB,QACf,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAoBxC,OAAO,MAAM;EACZC,kBAAkB;EAClBC,iBAAiB;EACjBC,oBAAoB,EAAEC;AACvB,CAAC,GAAGb,cAAc,CAAC,YAAY,EAAE;EAChCc,OAAO,EAAE;AACV,CAAC,CAAC,CAAgC,CAAC;EAAEC,QAAQ;EAAEC;AAAkB,CAAC,KAAK;EACtE,MAAMC,aAAa,GAAGtB,UAAU,CAACgB,iBAAiB,CAAC;EACnD,MAAMO,gBAAgB,GAAGjB,mBAAmB,CAC1CkB,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EAED,MAAM;IAAEG,eAAe;IAAEC;EAAsB,CAAC,GAAGnB,wBAAwB,CAAC,CAAC;EAE7E,MAAMoB,QAAQ,GAAGlB,oBAAoB,CAAC;IACrCgB,eAAe;IACfG,iBAAiB,EAAEP,aAAa,EAAEM;EACnC,CAAC,CAAC;EACF,MAAM;IAAEE,aAAa;IAAEC;EAAc,CAAC,GACrCtB,uBAAuB,CAACY,iBAAiB,CAAC;EAC3C,MAAMW,KAAK,GAAG9B,OAAO,CACpB,OAAO;IACNwB,eAAe;IACfC,qBAAqB;IACrBC;EACD,CAAC,CAAC,EACF,CAACF,eAAe,EAAEC,qBAAqB,EAAEC,QAAQ,CAClD,CAAC;EAED3B,eAAe,CAAC,MAAM;IACrBU,mBAAmB,CAACY,gBAAgB,EAAES,KAAK,CAAC;IAE5C,OAAO,MAAM;MACZpB,qBAAqB,CAACW,gBAAgB,EAAES,KAAK,CAAC;IAC/C,CAAC;EACF,CAAC,EAAE,CAACT,gBAAgB,EAAES,KAAK,CAAC,CAAC;EAE7B,OAAO;IACNA,KAAK;IACLZ,QAAQ,eACPN,IAAA,CAACP,oBAAoB;MAAC0B,OAAO,EAAEZ,iBAAkB;MAAAD,QAAA,eAChDN,IAAA,CAACV,QAAQ,CAAC8B,IAAI;QACbC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAEP,aAAa,CAAE;QACzCC,aAAa,EAAEA,aAAc;QAAAX,QAAA,EAE5BA;MAAQ,CACK;IAAC,CACK;EAExB,CAAC;AACF,CAAC,CAAC;AAEF,MAAMgB,MAAM,GAAGjC,UAAU,CAACmC,MAAM,CAAC;EAChCD,SAAS,EAAE;IAAEE,IAAI,EAAE;EAAE;AACtB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useSyncExternalStore } from "react";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Screen-owned slot reference registry.
|
|
7
|
+
*
|
|
8
|
+
* This is important for portals: a teleported component can render outside the
|
|
9
|
+
* screen provider that owns its active transition, but it still needs references
|
|
10
|
+
* to that provider's shared values. This store does not copy or own styles; it
|
|
11
|
+
* only exposes the existing ScreenSlotProvider value by screen key.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const listeners = new Set();
|
|
15
|
+
const slotsByScreenKey = new Map();
|
|
16
|
+
let snapshot = {};
|
|
17
|
+
const emit = () => {
|
|
18
|
+
snapshot = Object.fromEntries(slotsByScreenKey);
|
|
19
|
+
for (const listener of listeners) {
|
|
20
|
+
listener();
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
export const registerScreenSlots = (screenKey, slots) => {
|
|
24
|
+
const previous = slotsByScreenKey.get(screenKey);
|
|
25
|
+
if (previous?.localStylesMaps === slots.localStylesMaps && previous.nextInterpolatorReady === slots.nextInterpolatorReady && previous.slotsMap === slots.slotsMap) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
slotsByScreenKey.set(screenKey, slots);
|
|
29
|
+
emit();
|
|
30
|
+
};
|
|
31
|
+
export const unregisterScreenSlots = (screenKey, slots) => {
|
|
32
|
+
if (slotsByScreenKey.get(screenKey) !== slots) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
slotsByScreenKey.delete(screenKey);
|
|
36
|
+
emit();
|
|
37
|
+
};
|
|
38
|
+
const subscribe = listener => {
|
|
39
|
+
listeners.add(listener);
|
|
40
|
+
return () => {
|
|
41
|
+
listeners.delete(listener);
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export const useRegisteredScreenSlots = screenKey => {
|
|
45
|
+
return useSyncExternalStore(subscribe, () => screenKey ? snapshot[screenKey] ?? null : null, () => null);
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=slot-references.store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSyncExternalStore","listeners","Set","slotsByScreenKey","Map","snapshot","emit","Object","fromEntries","listener","registerScreenSlots","screenKey","slots","previous","get","localStylesMaps","nextInterpolatorReady","slotsMap","set","unregisterScreenSlots","delete","subscribe","add","useRegisteredScreenSlots"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/stores/slot-references.store.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;;AAI5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;AACvC,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAoC,CAAC;AAErE,IAAIC,QAA6B,GAAG,CAAC,CAAC;AAEtC,MAAMC,IAAI,GAAGA,CAAA,KAAM;EAClBD,QAAQ,GAAGE,MAAM,CAACC,WAAW,CAACL,gBAAgB,CAAC;EAE/C,KAAK,MAAMM,QAAQ,IAAIR,SAAS,EAAE;IACjCQ,QAAQ,CAAC,CAAC;EACX;AACD,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAGA,CAClCC,SAAoB,EACpBC,KAA6B,KACzB;EACJ,MAAMC,QAAQ,GAAGV,gBAAgB,CAACW,GAAG,CAACH,SAAS,CAAC;EAChD,IACCE,QAAQ,EAAEE,eAAe,KAAKH,KAAK,CAACG,eAAe,IACnDF,QAAQ,CAACG,qBAAqB,KAAKJ,KAAK,CAACI,qBAAqB,IAC9DH,QAAQ,CAACI,QAAQ,KAAKL,KAAK,CAACK,QAAQ,EACnC;IACD;EACD;EAEAd,gBAAgB,CAACe,GAAG,CAACP,SAAS,EAAEC,KAAK,CAAC;EACtCN,IAAI,CAAC,CAAC;AACP,CAAC;AAED,OAAO,MAAMa,qBAAqB,GAAGA,CACpCR,SAAoB,EACpBC,KAA6B,KACzB;EACJ,IAAIT,gBAAgB,CAACW,GAAG,CAACH,SAAS,CAAC,KAAKC,KAAK,EAAE;IAC9C;EACD;EAEAT,gBAAgB,CAACiB,MAAM,CAACT,SAAS,CAAC;EAClCL,IAAI,CAAC,CAAC;AACP,CAAC;AAED,MAAMe,SAAS,GAAIZ,QAAoB,IAAK;EAC3CR,SAAS,CAACqB,GAAG,CAACb,QAAQ,CAAC;EAEvB,OAAO,MAAM;IACZR,SAAS,CAACmB,MAAM,CAACX,QAAQ,CAAC;EAC3B,CAAC;AACF,CAAC;AAED,OAAO,MAAMc,wBAAwB,GAAIZ,SAA4B,IAAK;EACzE,OAAOX,oBAAoB,CAC1BqB,SAAS,EACT,MAAOV,SAAS,GAAIN,QAAQ,CAACM,SAAS,CAAC,IAAI,IAAI,GAAI,IAAK,EACxD,MAAM,IACP,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -18,6 +18,13 @@ export const getSourceScreenKeyFromPairKey = pairKey => {
|
|
|
18
18
|
if (separatorIndex === -1) return pairKey;
|
|
19
19
|
return pairKey.slice(0, separatorIndex);
|
|
20
20
|
};
|
|
21
|
+
export const getDestinationScreenKeyFromPairKey = pairKey => {
|
|
22
|
+
"worklet";
|
|
23
|
+
|
|
24
|
+
const separatorIndex = pairKey.indexOf(PAIR_SEPARATOR);
|
|
25
|
+
if (separatorIndex === -1) return "";
|
|
26
|
+
return pairKey.slice(separatorIndex + PAIR_SEPARATOR.length);
|
|
27
|
+
};
|
|
21
28
|
export const isScreenPairKeyForScreen = (pairKey, screenKey) => {
|
|
22
29
|
"worklet";
|
|
23
30
|
|
|
@@ -42,6 +49,20 @@ export const createGroupTag = (group, linkKey) => {
|
|
|
42
49
|
|
|
43
50
|
return `${group}:${linkKey}`;
|
|
44
51
|
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Builds the {@link BoundTag} identity for a boundary. The combined `tag` is
|
|
55
|
+
* group-prefixed only when a group is present, matching how links are keyed.
|
|
56
|
+
*/
|
|
57
|
+
export const createBoundTag = (linkKey, group) => {
|
|
58
|
+
"worklet";
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
tag: group ? createGroupTag(group, linkKey) : linkKey,
|
|
62
|
+
linkKey,
|
|
63
|
+
group
|
|
64
|
+
};
|
|
65
|
+
};
|
|
45
66
|
const ensurePairState = (state, pairKey) => {
|
|
46
67
|
"worklet";
|
|
47
68
|
|
|
@@ -51,7 +72,9 @@ const ensurePairState = (state, pairKey) => {
|
|
|
51
72
|
groups: {}
|
|
52
73
|
};
|
|
53
74
|
}
|
|
54
|
-
state[pairKey].groups
|
|
75
|
+
if (!state[pairKey].groups) {
|
|
76
|
+
state[pairKey].groups = {};
|
|
77
|
+
}
|
|
55
78
|
return state[pairKey];
|
|
56
79
|
};
|
|
57
80
|
export const ensurePairLinks = (state, pairKey) => {
|
|
@@ -64,6 +87,15 @@ export const ensurePairGroups = (state, pairKey) => {
|
|
|
64
87
|
|
|
65
88
|
return ensurePairState(state, pairKey).groups;
|
|
66
89
|
};
|
|
90
|
+
export const ensurePairSourceRequests = (state, pairKey) => {
|
|
91
|
+
"worklet";
|
|
92
|
+
|
|
93
|
+
const pair = ensurePairState(state, pairKey);
|
|
94
|
+
if (!pair.sourceRequests) {
|
|
95
|
+
pair.sourceRequests = {};
|
|
96
|
+
}
|
|
97
|
+
return pair.sourceRequests;
|
|
98
|
+
};
|
|
67
99
|
export const removePairLink = (state, pairKey, linkKey) => {
|
|
68
100
|
"worklet";
|
|
69
101
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PAIR_SEPARATOR","createScreenPairKey","sourceScreenKey","destinationScreenKey","createPendingPairKey","getSourceScreenKeyFromPairKey","pairKey","separatorIndex","indexOf","slice","isScreenPairKeyForScreen","screenKey","startsWith","endsWith","getLinkKeyFromTag","tag","getGroupKeyFromTag","createGroupTag","group","linkKey","ensurePairState","state","links","groups","ensurePairLinks","ensurePairGroups","
|
|
1
|
+
{"version":3,"names":["PAIR_SEPARATOR","createScreenPairKey","sourceScreenKey","destinationScreenKey","createPendingPairKey","getSourceScreenKeyFromPairKey","pairKey","separatorIndex","indexOf","slice","getDestinationScreenKeyFromPairKey","length","isScreenPairKeyForScreen","screenKey","startsWith","endsWith","getLinkKeyFromTag","tag","getGroupKeyFromTag","createGroupTag","group","linkKey","createBoundTag","ensurePairState","state","links","groups","ensurePairLinks","ensurePairGroups","ensurePairSourceRequests","pair","sourceRequests","removePairLink","key","getLink","getSource","source","getDestination","destination","getActiveGroupId","activeId"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/helpers/link-pairs.helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -33,14 +33,21 @@ const applyEntryPatch = (entry, patch) => {
|
|
|
33
33
|
if (patch.styles !== undefined) {
|
|
34
34
|
entry.styles = patch.styles ?? {};
|
|
35
35
|
}
|
|
36
|
-
if (patch.boundaryConfig === undefined) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
36
|
if (patch.boundaryConfig === null) {
|
|
40
37
|
delete entry.boundaryConfig;
|
|
41
|
-
} else {
|
|
38
|
+
} else if (patch.boundaryConfig !== undefined) {
|
|
42
39
|
entry.boundaryConfig = patch.boundaryConfig;
|
|
43
40
|
}
|
|
41
|
+
if (patch.handoff === null) {
|
|
42
|
+
delete entry.handoff;
|
|
43
|
+
} else if (patch.handoff !== undefined) {
|
|
44
|
+
entry.handoff = patch.handoff;
|
|
45
|
+
}
|
|
46
|
+
if (patch.escapeClipping === null) {
|
|
47
|
+
delete entry.escapeClipping;
|
|
48
|
+
} else if (patch.escapeClipping !== undefined) {
|
|
49
|
+
entry.escapeClipping = patch.escapeClipping;
|
|
50
|
+
}
|
|
44
51
|
};
|
|
45
52
|
function getEntry(tag, key) {
|
|
46
53
|
"worklet";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hasAnyKeys","boundaryRegistry","ensureBoundaryState","state","tag","screens","ensureScreenEntry","screenKey","tagState","bounds","styles","applyEntryPatch","entry","patch","undefined","boundaryConfig","getEntry","key","get","setEntry","modify","removeEntry"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/entries.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAE5C,SAAoCC,gBAAgB,QAAQ,SAAS;AAErE,MAAMC,mBAAmB,GAAGA,CAACC,KAA2B,EAAEC,GAAU,KAAK;EACxE,SAAS;;EACT,IAAI,CAACD,KAAK,CAACC,GAAG,CAAC,EAAE;IAChBD,KAAK,CAACC,GAAG,CAAC,GAAG;MACZC,OAAO,EAAE,CAAC;IACX,CAAC;EACF;EACA,OAAOF,KAAK,CAACC,GAAG,CAAC;AAClB,CAAC;AAED,MAAME,iBAAiB,GAAGA,CACzBH,KAA2B,EAC3BC,GAAU,EACVG,SAAoB,KACT;EACX,SAAS;;EACT,MAAMC,QAAQ,GAAGN,mBAAmB,CAACC,KAAK,EAAEC,GAAG,CAAC;EAChD,IAAI,CAACI,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC,EAAE;IACjCC,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC,GAAG;MAC7BE,MAAM,EAAE,IAAI;MACZC,MAAM,EAAE,CAAC;IACV,CAAC;EACF;EACA,OAAOF,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC;AACnC,CAAC;AAED,MAAMI,eAAe,GAAGA,CAACC,KAAY,EAAEC,KAAiB,KAAK;EAC5D,SAAS;;EACT,IAAIA,KAAK,CAACJ,MAAM,KAAKK,SAAS,EAAE;IAC/BF,KAAK,CAACH,MAAM,GAAGI,KAAK,CAACJ,MAAM;EAC5B;EAEA,IAAII,KAAK,CAACH,MAAM,KAAKI,SAAS,EAAE;IAC/BF,KAAK,CAACF,MAAM,GAAGG,KAAK,CAACH,MAAM,IAAI,CAAC,CAAC;EAClC;EAEA,IAAIG,KAAK,CAACE,cAAc,KAAKD,SAAS,EAAE;
|
|
1
|
+
{"version":3,"names":["hasAnyKeys","boundaryRegistry","ensureBoundaryState","state","tag","screens","ensureScreenEntry","screenKey","tagState","bounds","styles","applyEntryPatch","entry","patch","undefined","boundaryConfig","handoff","escapeClipping","getEntry","key","get","setEntry","modify","removeEntry"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/entries.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,19 +1,124 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { createGroupTag,
|
|
3
|
+
import { createGroupTag, ensurePairGroups, ensurePairLinks, ensurePairSourceRequests, getGroupKeyFromTag, getLinkKeyFromTag, getActiveGroupId as getPairActiveGroupId, getDestination as getPairDestination, getLink as getPairLink, getSource as getPairSource } from "../helpers/link-pairs.helpers";
|
|
4
4
|
import { pairs } from "./state";
|
|
5
5
|
const syncLinkStatus = link => {
|
|
6
6
|
"worklet";
|
|
7
7
|
|
|
8
8
|
link.status = link.source ? link.destination ? "complete" : "destination-incomplete" : "source-incomplete";
|
|
9
9
|
};
|
|
10
|
-
const
|
|
10
|
+
const isSharedValueLike = value => {
|
|
11
|
+
"worklet";
|
|
12
|
+
|
|
13
|
+
return value?._isReanimatedSharedValue === true;
|
|
14
|
+
};
|
|
15
|
+
const snapshotSharedValue = value => {
|
|
16
|
+
"worklet";
|
|
17
|
+
|
|
18
|
+
return value.value;
|
|
19
|
+
};
|
|
20
|
+
const snapshotTransformArrayValue = value => {
|
|
21
|
+
"worklet";
|
|
22
|
+
|
|
23
|
+
const snapshot = [];
|
|
24
|
+
for (let index = 0; index < value.length; index++) {
|
|
25
|
+
const snapshotValue = snapshotTransformEntryValue(value[index]);
|
|
26
|
+
if (snapshotValue !== undefined) {
|
|
27
|
+
snapshot.push(snapshotValue);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return snapshot;
|
|
31
|
+
};
|
|
32
|
+
const snapshotTransformEntryValue = value => {
|
|
33
|
+
"worklet";
|
|
34
|
+
|
|
35
|
+
if (isSharedValueLike(value)) {
|
|
36
|
+
return snapshotSharedValue(value);
|
|
37
|
+
}
|
|
38
|
+
if (Array.isArray(value)) {
|
|
39
|
+
return snapshotTransformArrayValue(value);
|
|
40
|
+
}
|
|
41
|
+
if (typeof value === "function") {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
return value === null || typeof value !== "object" ? value : undefined;
|
|
45
|
+
};
|
|
46
|
+
const snapshotTransformItem = value => {
|
|
47
|
+
"worklet";
|
|
48
|
+
|
|
49
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
50
|
+
return snapshotTransformEntryValue(value);
|
|
51
|
+
}
|
|
52
|
+
const snapshot = {};
|
|
53
|
+
const source = value;
|
|
54
|
+
let hasValue = false;
|
|
55
|
+
for (const key in source) {
|
|
56
|
+
const snapshotValue = snapshotTransformEntryValue(source[key]);
|
|
57
|
+
if (snapshotValue !== undefined) {
|
|
58
|
+
snapshot[key] = snapshotValue;
|
|
59
|
+
hasValue = true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return hasValue ? snapshot : undefined;
|
|
63
|
+
};
|
|
64
|
+
const snapshotTransform = value => {
|
|
65
|
+
"worklet";
|
|
66
|
+
|
|
67
|
+
if (!Array.isArray(value)) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
const snapshot = [];
|
|
71
|
+
for (let index = 0; index < value.length; index++) {
|
|
72
|
+
const snapshotValue = snapshotTransformItem(value[index]);
|
|
73
|
+
if (snapshotValue !== undefined) {
|
|
74
|
+
snapshot.push(snapshotValue);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return snapshot;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Link styles are measurement metadata, not a general style serializer.
|
|
82
|
+
* Snapshot only the fields bounds currently consume: primitives, top-level
|
|
83
|
+
* shared values, and transform entries. Object-valued non-transform styles are
|
|
84
|
+
* intentionally omitted to avoid retaining opaque/native style objects.
|
|
85
|
+
*/
|
|
86
|
+
const snapshotStyles = styles => {
|
|
87
|
+
"worklet";
|
|
88
|
+
|
|
89
|
+
if (!styles || typeof styles !== "object" || Array.isArray(styles)) {
|
|
90
|
+
return {};
|
|
91
|
+
}
|
|
92
|
+
const snapshot = {};
|
|
93
|
+
const source = styles;
|
|
94
|
+
for (const key in source) {
|
|
95
|
+
const value = source[key];
|
|
96
|
+
if (key === "transform") {
|
|
97
|
+
const transform = snapshotTransform(value);
|
|
98
|
+
if (transform !== undefined) {
|
|
99
|
+
snapshot.transform = transform;
|
|
100
|
+
}
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
if (isSharedValueLike(value)) {
|
|
104
|
+
snapshot[key] = snapshotSharedValue(value);
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (value === null || typeof value !== "object") {
|
|
108
|
+
snapshot[key] = value;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return snapshot;
|
|
112
|
+
};
|
|
113
|
+
const createLinkSide = (screenKey, bounds, styles, runtimeFlags = {}) => {
|
|
11
114
|
"worklet";
|
|
12
115
|
|
|
13
116
|
return {
|
|
14
117
|
screenKey,
|
|
15
118
|
bounds,
|
|
16
|
-
styles
|
|
119
|
+
styles: snapshotStyles(styles),
|
|
120
|
+
handoff: runtimeFlags.handoff ? true : undefined,
|
|
121
|
+
escapeClipping: runtimeFlags.escapeClipping ? true : undefined
|
|
17
122
|
};
|
|
18
123
|
};
|
|
19
124
|
const writePairLink = (state, pairKey, linkKey, link) => {
|
|
@@ -44,32 +149,16 @@ const writeDestination = (state, pairKey, linkKey, screenKey, bounds, styles, gr
|
|
|
44
149
|
};
|
|
45
150
|
link.group = group ?? link.group;
|
|
46
151
|
link.destination = destination;
|
|
47
|
-
link.initialDestination
|
|
152
|
+
if (!link.initialDestination) {
|
|
153
|
+
link.initialDestination = destination;
|
|
154
|
+
}
|
|
48
155
|
syncLinkStatus(link);
|
|
49
156
|
writePairLink(state, pairKey, linkKey, link);
|
|
50
157
|
if (link.group) {
|
|
51
158
|
writeGroup(state, pairKey, link.group, linkKey);
|
|
52
159
|
}
|
|
53
160
|
};
|
|
54
|
-
|
|
55
|
-
"worklet";
|
|
56
|
-
|
|
57
|
-
if (getPairLink(state, pairKey, linkKey)) return;
|
|
58
|
-
const sourceScreenKey = getSourceScreenKeyFromPairKey(pairKey);
|
|
59
|
-
const pendingPairKey = createPendingPairKey(sourceScreenKey);
|
|
60
|
-
if (pendingPairKey === pairKey) return;
|
|
61
|
-
const pendingLink = getPairLink(state, pendingPairKey, linkKey);
|
|
62
|
-
if (!pendingLink) return;
|
|
63
|
-
writePairLink(state, pairKey, linkKey, pendingLink);
|
|
64
|
-
if (pendingLink.group) {
|
|
65
|
-
const pendingGroupState = state[pendingPairKey]?.groups?.[pendingLink.group];
|
|
66
|
-
if (pendingGroupState) {
|
|
67
|
-
writeGroup(state, pairKey, pendingLink.group, pendingGroupState.activeId, pendingGroupState.initialId);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
removePairLink(state, pendingPairKey, linkKey);
|
|
71
|
-
};
|
|
72
|
-
function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, portalAttachTarget, sourceHost) {
|
|
161
|
+
function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, runtimeFlags = {}) {
|
|
73
162
|
"worklet";
|
|
74
163
|
|
|
75
164
|
pairs.modify(state => {
|
|
@@ -78,13 +167,8 @@ function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, portalAt
|
|
|
78
167
|
const linkKey = getLinkKeyFromTag(tag);
|
|
79
168
|
const pairLinks = ensurePairLinks(state, pairKey);
|
|
80
169
|
const existingLink = pairLinks[linkKey];
|
|
81
|
-
|
|
82
|
-
// Refresh paths may re-measure the source without portal context;
|
|
83
|
-
// keep the previously recorded host in that case.
|
|
84
170
|
const source = {
|
|
85
|
-
...createLinkSide(screenKey, bounds, styles)
|
|
86
|
-
portalAttachTarget: portalAttachTarget ?? existingLink?.source?.portalAttachTarget,
|
|
87
|
-
sourceHost: sourceHost ?? existingLink?.source?.sourceHost
|
|
171
|
+
...createLinkSide(screenKey, bounds, styles, runtimeFlags)
|
|
88
172
|
};
|
|
89
173
|
const link = existingLink ?? {
|
|
90
174
|
group,
|
|
@@ -95,13 +179,12 @@ function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, portalAt
|
|
|
95
179
|
};
|
|
96
180
|
link.group = group ?? link.group;
|
|
97
181
|
link.source = source;
|
|
98
|
-
link.initialSource
|
|
182
|
+
if (!link.initialSource) {
|
|
183
|
+
link.initialSource = source;
|
|
184
|
+
}
|
|
99
185
|
syncLinkStatus(link);
|
|
100
186
|
pairLinks[linkKey] = link;
|
|
101
|
-
|
|
102
|
-
if (pendingPairKey !== pairKey) {
|
|
103
|
-
removePairLink(state, pendingPairKey, linkKey);
|
|
104
|
-
}
|
|
187
|
+
delete state[pairKey]?.sourceRequests?.[linkKey];
|
|
105
188
|
return state;
|
|
106
189
|
});
|
|
107
190
|
}
|
|
@@ -112,7 +195,6 @@ function setDestination(pairKey, tag, screenKey, bounds, styles = {}, group) {
|
|
|
112
195
|
"worklet";
|
|
113
196
|
|
|
114
197
|
const linkKey = getLinkKeyFromTag(tag);
|
|
115
|
-
promotePendingSource(state, pairKey, linkKey);
|
|
116
198
|
writeDestination(state, pairKey, linkKey, screenKey, bounds, styles, group);
|
|
117
199
|
return state;
|
|
118
200
|
});
|
|
@@ -127,6 +209,21 @@ function setActiveGroupId(pairKey, group, tag) {
|
|
|
127
209
|
return state;
|
|
128
210
|
});
|
|
129
211
|
}
|
|
212
|
+
function requestSourceMeasure(pairKey, tag) {
|
|
213
|
+
"worklet";
|
|
214
|
+
|
|
215
|
+
pairs.modify(state => {
|
|
216
|
+
"worklet";
|
|
217
|
+
|
|
218
|
+
const linkKey = getLinkKeyFromTag(tag);
|
|
219
|
+
const link = getPairLink(state, pairKey, linkKey);
|
|
220
|
+
if (link?.source || state[pairKey]?.sourceRequests?.[linkKey]) {
|
|
221
|
+
return state;
|
|
222
|
+
}
|
|
223
|
+
ensurePairSourceRequests(state, pairKey)[linkKey] = true;
|
|
224
|
+
return state;
|
|
225
|
+
});
|
|
226
|
+
}
|
|
130
227
|
function getActiveGroupId(pairKey, group) {
|
|
131
228
|
"worklet";
|
|
132
229
|
|
|
@@ -142,28 +239,13 @@ const hasSourceLink = link => {
|
|
|
142
239
|
|
|
143
240
|
return !!link?.source;
|
|
144
241
|
};
|
|
145
|
-
const getPendingSourceLink = (state, pairKey, linkKey) => {
|
|
146
|
-
"worklet";
|
|
147
|
-
|
|
148
|
-
const sourceScreenKey = getSourceScreenKeyFromPairKey(pairKey);
|
|
149
|
-
const pendingPairKey = createPendingPairKey(sourceScreenKey);
|
|
150
|
-
if (pendingPairKey === pairKey) return null;
|
|
151
|
-
return getPairLink(state, pendingPairKey, linkKey);
|
|
152
|
-
};
|
|
153
242
|
function getResolvedLink(pairKey, tag) {
|
|
154
243
|
"worklet";
|
|
155
244
|
|
|
156
245
|
const state = pairs.get();
|
|
157
246
|
const linkKey = getLinkKeyFromTag(tag);
|
|
158
247
|
const group = getGroupKeyFromTag(tag);
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
// Press-triggered zoom captures the source before navigation under a pending
|
|
162
|
-
// source<> pair. If the destination screen has no Boundary.View, nothing
|
|
163
|
-
// promotes that source into source<>destination, but zoom can still animate to
|
|
164
|
-
// its default top target from the pending source bounds.
|
|
165
|
-
const fallbackPendingLink = requestedLink ? null : getPendingSourceLink(state, pairKey, linkKey);
|
|
166
|
-
const link = requestedLink ?? fallbackPendingLink;
|
|
248
|
+
const link = getPairLink(state, pairKey, linkKey);
|
|
167
249
|
|
|
168
250
|
// Group active ids can update before the new member has a full source/destination
|
|
169
251
|
// link. As soon as the requested member has source bounds, prefer it; only
|
|
@@ -176,7 +258,7 @@ function getResolvedLink(pairKey, tag) {
|
|
|
176
258
|
}
|
|
177
259
|
const initialId = state[pairKey]?.groups?.[group]?.initialId;
|
|
178
260
|
if (initialId) {
|
|
179
|
-
const initialLink = getPairLink(state, pairKey, initialId)
|
|
261
|
+
const initialLink = getPairLink(state, pairKey, initialId);
|
|
180
262
|
if (hasSourceLink(initialLink)) {
|
|
181
263
|
return {
|
|
182
264
|
tag: createGroupTag(group, initialId),
|
|
@@ -199,5 +281,5 @@ function getDestination(pairKey, tag) {
|
|
|
199
281
|
|
|
200
282
|
return getPairDestination(pairs.get(), pairKey, getLinkKeyFromTag(tag));
|
|
201
283
|
}
|
|
202
|
-
export { getActiveGroupId, getDestination, getLink, getResolvedLink, getSource, setActiveGroupId, setDestination, setSource };
|
|
284
|
+
export { getActiveGroupId, getDestination, getLink, getResolvedLink, getSource, requestSourceMeasure, setActiveGroupId, setDestination, setSource };
|
|
203
285
|
//# sourceMappingURL=links.js.map
|