react-native-screen-transitions 3.0.0-beta.8 → 3.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -5
- package/lib/commonjs/blank-stack/components/Overlay.js +7 -4
- package/lib/commonjs/blank-stack/components/Overlay.js.map +1 -1
- package/lib/commonjs/blank-stack/components/Screens.js +2 -2
- package/lib/commonjs/blank-stack/components/Screens.js.map +1 -1
- package/lib/commonjs/blank-stack/components/StackView.js +9 -5
- package/lib/commonjs/blank-stack/components/StackView.js.map +1 -1
- package/lib/commonjs/blank-stack/hooks/use-overlay-animation.js +5 -9
- package/lib/commonjs/blank-stack/hooks/use-overlay-animation.js.map +1 -1
- package/lib/commonjs/blank-stack/index.js +7 -0
- package/lib/commonjs/blank-stack/index.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +4 -3
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js +9 -9
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/components/create-transition-aware-component.js +11 -14
- package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/shared/components/root-transition-aware.js +1 -1
- package/lib/commonjs/shared/components/root-transition-aware.js.map +1 -1
- package/lib/commonjs/shared/configs/presets.js +20 -9
- package/lib/commonjs/shared/configs/presets.js.map +1 -1
- package/lib/commonjs/shared/constants.js +0 -1
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/shared/hooks/animation/use-associated-style.js +9 -10
- package/lib/commonjs/shared/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +10 -25
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +11 -11
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js +2 -4
- package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +1 -1
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -0
- package/lib/commonjs/shared/hooks/use-stable-callback-value.js.map +1 -1
- package/lib/commonjs/shared/hooks/use-stable-callback.js.map +1 -1
- package/lib/commonjs/shared/providers/{gestures.js → gestures.provider.js} +1 -1
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/{keys.js → keys.provider.js} +1 -1
- package/lib/commonjs/shared/providers/keys.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/register-bounds.provider.js +211 -0
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/{screen-transition-provider.js → screen-transition.provider.js} +4 -4
- package/lib/commonjs/shared/providers/{screen-transition-provider.js.map → screen-transition.provider.js.map} +1 -1
- package/lib/commonjs/shared/providers/{transition-styles.js → transition-styles.provider.js} +9 -9
- package/lib/commonjs/shared/providers/transition-styles.provider.js.map +1 -0
- package/lib/commonjs/shared/stores/{animation-store.js → animation.store.js} +1 -1
- package/lib/commonjs/shared/stores/{animation-store.js.map → animation.store.js.map} +1 -1
- package/lib/commonjs/shared/stores/bounds.store.js +141 -0
- package/lib/commonjs/shared/stores/bounds.store.js.map +1 -0
- package/lib/commonjs/shared/stores/{gesture-store.js → gesture.store.js} +1 -1
- package/lib/commonjs/shared/stores/{gesture-store.js.map → gesture.store.js.map} +1 -1
- package/lib/commonjs/shared/types/{core.js → animation.types.js} +1 -1
- package/lib/commonjs/shared/types/animation.types.js.map +1 -0
- package/lib/commonjs/shared/types/{bounds.js → bounds.types.js} +1 -1
- package/lib/commonjs/shared/types/bounds.types.js.map +1 -0
- package/lib/commonjs/shared/types/{animation.js → core.types.js} +1 -1
- package/lib/commonjs/shared/types/{animation.js.map → core.types.js.map} +1 -1
- package/lib/commonjs/shared/types/{gesture.js → gesture.types.js} +1 -1
- package/lib/commonjs/shared/types/gesture.types.js.map +1 -0
- package/lib/commonjs/shared/types/utils.types.js +2 -0
- package/lib/commonjs/shared/types/{core.js.map → utils.types.js.map} +1 -1
- package/lib/commonjs/shared/utils/animation/derivations.js +1 -7
- package/lib/commonjs/shared/utils/animation/derivations.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/geometry.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js +19 -0
- package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/style-composers.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/styles.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/index.js +45 -35
- package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/types/builder.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/{_types/builder.js.map → types/geometry.js.map} +1 -1
- package/lib/commonjs/shared/utils/create-provider.js.map +1 -0
- package/lib/commonjs/shared/utils/gesture/apply-offset-rules.js +1 -1
- package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js +1 -1
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js +17 -0
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js.map +1 -0
- package/lib/module/blank-stack/components/Overlay.js +7 -4
- package/lib/module/blank-stack/components/Overlay.js.map +1 -1
- package/lib/module/blank-stack/components/Screens.js +1 -1
- package/lib/module/blank-stack/components/StackView.js +8 -4
- package/lib/module/blank-stack/components/StackView.js.map +1 -1
- package/lib/module/blank-stack/hooks/use-overlay-animation.js +5 -9
- package/lib/module/blank-stack/hooks/use-overlay-animation.js.map +1 -1
- package/lib/module/blank-stack/index.js +1 -0
- package/lib/module/blank-stack/index.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.native.js +3 -2
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/components/controllers/screen-lifecycle.js +8 -8
- package/lib/module/shared/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/module/shared/components/create-transition-aware-component.js +11 -14
- package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/shared/components/root-transition-aware.js +1 -1
- package/lib/module/shared/components/root-transition-aware.js.map +1 -1
- package/lib/module/shared/configs/presets.js +20 -9
- package/lib/module/shared/configs/presets.js.map +1 -1
- package/lib/module/shared/constants.js +0 -1
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/shared/hooks/animation/use-associated-style.js +9 -10
- package/lib/module/shared/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js +7 -22
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +4 -4
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js +2 -4
- package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -0
- package/lib/module/shared/hooks/use-stable-callback-value.js.map +1 -1
- package/lib/module/shared/hooks/use-stable-callback.js.map +1 -1
- package/lib/module/shared/providers/{gestures.js → gestures.provider.js} +1 -1
- package/lib/module/shared/providers/gestures.provider.js.map +1 -0
- package/lib/module/shared/providers/{keys.js → keys.provider.js} +1 -1
- package/lib/module/shared/providers/keys.provider.js.map +1 -0
- package/lib/module/shared/providers/register-bounds.provider.js +206 -0
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -0
- package/lib/module/shared/providers/{screen-transition-provider.js → screen-transition.provider.js} +4 -4
- package/lib/module/shared/providers/{screen-transition-provider.js.map → screen-transition.provider.js.map} +1 -1
- package/lib/module/shared/providers/{transition-styles.js → transition-styles.provider.js} +8 -9
- package/lib/module/shared/providers/transition-styles.provider.js.map +1 -0
- package/lib/module/shared/stores/{animation-store.js → animation.store.js} +1 -1
- package/lib/module/shared/stores/{animation-store.js.map → animation.store.js.map} +1 -1
- package/lib/module/shared/stores/bounds.store.js +137 -0
- package/lib/module/shared/stores/bounds.store.js.map +1 -0
- package/lib/module/shared/stores/{gesture-store.js → gesture.store.js} +1 -1
- package/lib/module/shared/stores/{gesture-store.js.map → gesture.store.js.map} +1 -1
- package/lib/module/shared/types/animation.types.js +4 -0
- package/lib/module/shared/types/animation.types.js.map +1 -0
- package/lib/module/shared/types/bounds.types.js +4 -0
- package/lib/module/shared/types/bounds.types.js.map +1 -0
- package/lib/module/shared/types/core.types.js +4 -0
- package/lib/{commonjs/shared/types/bounds.js.map → module/shared/types/core.types.js.map} +1 -1
- package/lib/module/shared/types/{gesture.js → gesture.types.js} +1 -1
- package/lib/module/shared/types/gesture.types.js.map +1 -0
- package/lib/module/shared/types/utils.types.js +2 -0
- package/lib/{commonjs/shared/types/utils.js.map → module/shared/types/utils.types.js.map} +1 -1
- package/lib/module/shared/utils/animation/derivations.js +1 -7
- package/lib/module/shared/utils/animation/derivations.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/geometry.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js +14 -0
- package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/style-composers.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/styles.js.map +1 -0
- package/lib/module/shared/utils/bounds/index.js +45 -35
- package/lib/module/shared/utils/bounds/index.js.map +1 -1
- package/lib/module/shared/utils/bounds/types/builder.js.map +1 -0
- package/lib/module/shared/utils/bounds/{_types/builder.js.map → types/geometry.js.map} +1 -1
- package/lib/module/shared/utils/create-provider.js.map +1 -0
- package/lib/module/shared/utils/gesture/apply-offset-rules.js +1 -1
- package/lib/module/shared/utils/gesture/apply-offset-rules.js.map +1 -1
- package/lib/module/shared/utils/gesture/check-gesture-activation.js +1 -1
- package/lib/module/shared/utils/gesture/check-gesture-activation.js.map +1 -1
- package/lib/module/shared/utils/reset-stores-for-screen.js +13 -0
- package/lib/module/shared/utils/reset-stores-for-screen.js.map +1 -0
- package/lib/typescript/blank-stack/components/Overlay.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/StackView.d.ts.map +1 -1
- package/lib/typescript/blank-stack/hooks/use-overlay-animation.d.ts +1 -1
- package/lib/typescript/blank-stack/hooks/use-overlay-animation.d.ts.map +1 -1
- package/lib/typescript/blank-stack/index.d.ts +1 -0
- package/lib/typescript/blank-stack/index.d.ts.map +1 -1
- package/lib/typescript/blank-stack/types.d.ts +2 -2
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +1 -1
- package/lib/typescript/native-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/shared/configs/index.d.ts +9 -3
- package/lib/typescript/shared/configs/index.d.ts.map +1 -1
- package/lib/typescript/shared/configs/presets.d.ts +10 -4
- package/lib/typescript/shared/configs/presets.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts +6 -6
- package/lib/typescript/shared/constants.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/animation/use-associated-style.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts +2 -2
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +2 -2
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/use-stable-callback-value.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/use-stable-callback.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +25 -19
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/{gestures.d.ts → gestures.provider.d.ts} +2 -2
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/{keys.d.ts → keys.provider.d.ts} +2 -2
- package/lib/typescript/shared/providers/keys.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts +17 -0
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/{screen-transition-provider.d.ts → screen-transition.provider.d.ts} +2 -2
- package/lib/typescript/shared/providers/{screen-transition-provider.d.ts.map → screen-transition.provider.d.ts.map} +1 -1
- package/lib/typescript/shared/providers/transition-styles.provider.d.ts +14 -0
- package/lib/typescript/shared/providers/transition-styles.provider.d.ts.map +1 -0
- package/lib/typescript/shared/stores/{animation-store.d.ts → animation.store.d.ts} +2 -2
- package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds.store.d.ts +29 -0
- package/lib/typescript/shared/stores/bounds.store.d.ts.map +1 -0
- package/lib/typescript/shared/stores/{gesture-store.d.ts → gesture.store.d.ts} +3 -3
- package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -0
- package/lib/typescript/shared/types/{animation.d.ts → animation.types.d.ts} +48 -20
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -0
- package/lib/typescript/shared/types/{bounds.d.ts → bounds.types.d.ts} +4 -4
- package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -0
- package/lib/typescript/shared/types/{core.d.ts → core.types.d.ts} +3 -3
- package/lib/typescript/shared/types/core.types.d.ts.map +1 -0
- package/lib/typescript/shared/types/{gesture.d.ts → gesture.types.d.ts} +1 -1
- package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -0
- package/lib/typescript/shared/types/{utils.d.ts → utils.types.d.ts} +1 -1
- package/lib/typescript/shared/types/utils.types.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/derivations.d.ts +2 -4
- package/lib/typescript/shared/utils/animation/derivations.d.ts.map +1 -1
- package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts +2 -2
- package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/constants.d.ts +3 -3
- package/lib/typescript/shared/utils/bounds/constants.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/{_utils → helpers}/geometry.d.ts +3 -3
- package/lib/typescript/shared/utils/bounds/helpers/geometry.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/is-bounds-equal.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/{_utils → helpers}/style-composers.d.ts +2 -2
- package/lib/typescript/shared/utils/bounds/helpers/style-composers.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/{_utils → helpers}/styles.d.ts +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/styles.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/index.d.ts +3 -4
- package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/{_types → types}/builder.d.ts +13 -34
- package/lib/typescript/shared/utils/bounds/types/builder.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/types/geometry.d.ts.map +1 -0
- package/lib/typescript/shared/{providers/utils → utils}/create-provider.d.ts +2 -2
- package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -0
- package/lib/typescript/shared/utils/gesture/apply-offset-rules.d.ts +2 -2
- package/lib/typescript/shared/utils/gesture/apply-offset-rules.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts +2 -2
- package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/reset-gesture-values.d.ts +2 -2
- package/lib/typescript/shared/utils/gesture/reset-gesture-values.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/velocity.d.ts +1 -1
- package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts +6 -0
- package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/blank-stack/components/Overlay.tsx +5 -2
- package/src/blank-stack/components/Screens.tsx +1 -1
- package/src/blank-stack/components/StackView.tsx +7 -2
- package/src/blank-stack/hooks/use-overlay-animation.tsx +6 -21
- package/src/blank-stack/index.ts +1 -0
- package/src/blank-stack/types.ts +2 -2
- package/src/native-stack/types.ts +1 -1
- package/src/native-stack/views/NativeStackView.native.tsx +4 -2
- package/src/shared/components/controllers/screen-lifecycle.tsx +12 -10
- package/src/shared/components/create-transition-aware-component.tsx +23 -27
- package/src/shared/components/root-transition-aware.tsx +1 -1
- package/src/shared/configs/presets.ts +31 -17
- package/src/shared/constants.ts +6 -7
- package/src/shared/hooks/animation/use-associated-style.tsx +12 -9
- package/src/shared/hooks/animation/use-screen-animation.tsx +8 -26
- package/src/shared/hooks/gestures/use-build-gestures.tsx +5 -5
- package/src/shared/hooks/gestures/use-parent-gesture-registry.tsx +2 -4
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +2 -2
- package/src/shared/index.ts +2 -2
- package/src/shared/providers/{gestures.tsx → gestures.provider.tsx} +1 -1
- package/src/shared/providers/{keys.tsx → keys.provider.tsx} +1 -1
- package/src/shared/providers/register-bounds.provider.tsx +290 -0
- package/src/shared/providers/{screen-transition-provider.tsx → screen-transition.provider.tsx} +3 -3
- package/src/shared/providers/{transition-styles.tsx → transition-styles.provider.tsx} +18 -16
- package/src/shared/stores/{animation-store.ts → animation.store.ts} +1 -1
- package/src/shared/stores/bounds.store.ts +166 -0
- package/src/shared/stores/{gesture-store.ts → gesture.store.ts} +2 -2
- package/src/shared/types/{animation.ts → animation.types.ts} +60 -19
- package/src/shared/types/{bounds.ts → bounds.types.ts} +3 -3
- package/src/shared/types/{core.ts → core.types.ts} +10 -2
- package/src/shared/utils/animation/derivations.ts +2 -8
- package/src/shared/utils/animation/start-screen-transition.ts +2 -2
- package/src/shared/utils/bounds/constants.ts +3 -3
- package/src/shared/utils/bounds/{_utils → helpers}/geometry.ts +3 -3
- package/src/shared/utils/bounds/{_utils → helpers}/is-bounds-equal.ts +3 -3
- package/src/shared/utils/bounds/{_utils → helpers}/style-composers.ts +2 -2
- package/src/shared/utils/bounds/{_utils → helpers}/styles.ts +1 -1
- package/src/shared/utils/bounds/index.ts +53 -55
- package/src/shared/utils/bounds/{_types → types}/builder.ts +19 -37
- package/src/shared/{providers/utils → utils}/create-provider.tsx +3 -9
- package/src/shared/utils/gesture/apply-offset-rules.ts +2 -2
- package/src/shared/utils/gesture/check-gesture-activation.ts +2 -2
- package/src/shared/utils/gesture/reset-gesture-values.ts +2 -2
- package/src/shared/utils/gesture/velocity.ts +1 -1
- package/src/shared/utils/reset-stores-for-screen.ts +11 -0
- package/lib/commonjs/shared/hooks/bounds/use-bound-registry.js +0 -152
- package/lib/commonjs/shared/hooks/bounds/use-bound-registry.js.map +0 -1
- package/lib/commonjs/shared/hooks/use-derived-value-state.js +0 -33
- package/lib/commonjs/shared/hooks/use-derived-value-state.js.map +0 -1
- package/lib/commonjs/shared/hooks/use-shared-value-state.js.map +0 -1
- package/lib/commonjs/shared/providers/gestures.js.map +0 -1
- package/lib/commonjs/shared/providers/keys.js.map +0 -1
- package/lib/commonjs/shared/providers/transition-styles.js.map +0 -1
- package/lib/commonjs/shared/providers/utils/create-provider.js.map +0 -1
- package/lib/commonjs/shared/stores/bound-store/_utils.js +0 -118
- package/lib/commonjs/shared/stores/bound-store/_utils.js.map +0 -1
- package/lib/commonjs/shared/stores/bound-store/index.js +0 -127
- package/lib/commonjs/shared/stores/bound-store/index.js.map +0 -1
- package/lib/commonjs/shared/stores/utils/reset-stores-for-screen.js +0 -19
- package/lib/commonjs/shared/stores/utils/reset-stores-for-screen.js.map +0 -1
- package/lib/commonjs/shared/types/gesture.js.map +0 -1
- package/lib/commonjs/shared/types/utils.js +0 -2
- package/lib/commonjs/shared/utils/bounds/_types/geometry.js.map +0 -1
- package/lib/commonjs/shared/utils/bounds/_types/get-bounds.js +0 -6
- package/lib/commonjs/shared/utils/bounds/_types/get-bounds.js.map +0 -1
- package/lib/commonjs/shared/utils/bounds/_utils/flatten-styles.js +0 -27
- package/lib/commonjs/shared/utils/bounds/_utils/flatten-styles.js.map +0 -1
- package/lib/commonjs/shared/utils/bounds/_utils/geometry.js.map +0 -1
- package/lib/commonjs/shared/utils/bounds/_utils/get-bounds.js +0 -49
- package/lib/commonjs/shared/utils/bounds/_utils/get-bounds.js.map +0 -1
- package/lib/commonjs/shared/utils/bounds/_utils/is-bounds-equal.js +0 -19
- package/lib/commonjs/shared/utils/bounds/_utils/is-bounds-equal.js.map +0 -1
- package/lib/commonjs/shared/utils/bounds/_utils/style-composers.js.map +0 -1
- package/lib/commonjs/shared/utils/bounds/_utils/styles.js.map +0 -1
- package/lib/module/shared/hooks/bounds/use-bound-registry.js +0 -146
- package/lib/module/shared/hooks/bounds/use-bound-registry.js.map +0 -1
- package/lib/module/shared/hooks/use-derived-value-state.js +0 -30
- package/lib/module/shared/hooks/use-derived-value-state.js.map +0 -1
- package/lib/module/shared/hooks/use-shared-value-state.js.map +0 -1
- package/lib/module/shared/providers/gestures.js.map +0 -1
- package/lib/module/shared/providers/keys.js.map +0 -1
- package/lib/module/shared/providers/transition-styles.js.map +0 -1
- package/lib/module/shared/providers/utils/create-provider.js.map +0 -1
- package/lib/module/shared/stores/bound-store/_utils.js +0 -113
- package/lib/module/shared/stores/bound-store/_utils.js.map +0 -1
- package/lib/module/shared/stores/bound-store/index.js +0 -123
- package/lib/module/shared/stores/bound-store/index.js.map +0 -1
- package/lib/module/shared/stores/utils/reset-stores-for-screen.js +0 -15
- package/lib/module/shared/stores/utils/reset-stores-for-screen.js.map +0 -1
- package/lib/module/shared/types/animation.js +0 -4
- package/lib/module/shared/types/animation.js.map +0 -1
- package/lib/module/shared/types/bounds.js +0 -4
- package/lib/module/shared/types/bounds.js.map +0 -1
- package/lib/module/shared/types/core.js +0 -4
- package/lib/module/shared/types/core.js.map +0 -1
- package/lib/module/shared/types/gesture.js.map +0 -1
- package/lib/module/shared/types/utils.js +0 -2
- package/lib/module/shared/types/utils.js.map +0 -1
- package/lib/module/shared/utils/bounds/_types/geometry.js.map +0 -1
- package/lib/module/shared/utils/bounds/_types/get-bounds.js +0 -4
- package/lib/module/shared/utils/bounds/_types/get-bounds.js.map +0 -1
- package/lib/module/shared/utils/bounds/_utils/flatten-styles.js +0 -23
- package/lib/module/shared/utils/bounds/_utils/flatten-styles.js.map +0 -1
- package/lib/module/shared/utils/bounds/_utils/geometry.js.map +0 -1
- package/lib/module/shared/utils/bounds/_utils/get-bounds.js +0 -44
- package/lib/module/shared/utils/bounds/_utils/get-bounds.js.map +0 -1
- package/lib/module/shared/utils/bounds/_utils/is-bounds-equal.js +0 -14
- package/lib/module/shared/utils/bounds/_utils/is-bounds-equal.js.map +0 -1
- package/lib/module/shared/utils/bounds/_utils/style-composers.js.map +0 -1
- package/lib/module/shared/utils/bounds/_utils/styles.js.map +0 -1
- package/lib/typescript/shared/hooks/bounds/use-bound-registry.d.ts +0 -17
- package/lib/typescript/shared/hooks/bounds/use-bound-registry.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/use-derived-value-state.d.ts +0 -9
- package/lib/typescript/shared/hooks/use-derived-value-state.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/use-shared-value-state.d.ts.map +0 -1
- package/lib/typescript/shared/providers/gestures.d.ts.map +0 -1
- package/lib/typescript/shared/providers/keys.d.ts.map +0 -1
- package/lib/typescript/shared/providers/transition-styles.d.ts +0 -11
- package/lib/typescript/shared/providers/transition-styles.d.ts.map +0 -1
- package/lib/typescript/shared/providers/utils/create-provider.d.ts.map +0 -1
- package/lib/typescript/shared/stores/animation-store.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bound-store/_utils.d.ts +0 -24
- package/lib/typescript/shared/stores/bound-store/_utils.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bound-store/index.d.ts +0 -24
- package/lib/typescript/shared/stores/bound-store/index.d.ts.map +0 -1
- package/lib/typescript/shared/stores/gesture-store.d.ts.map +0 -1
- package/lib/typescript/shared/stores/utils/reset-stores-for-screen.d.ts +0 -6
- package/lib/typescript/shared/stores/utils/reset-stores-for-screen.d.ts.map +0 -1
- package/lib/typescript/shared/types/animation.d.ts.map +0 -1
- package/lib/typescript/shared/types/bounds.d.ts.map +0 -1
- package/lib/typescript/shared/types/core.d.ts.map +0 -1
- package/lib/typescript/shared/types/gesture.d.ts.map +0 -1
- package/lib/typescript/shared/types/utils.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/_types/builder.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/_types/geometry.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/_types/get-bounds.d.ts +0 -10
- package/lib/typescript/shared/utils/bounds/_types/get-bounds.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/_utils/flatten-styles.d.ts +0 -2
- package/lib/typescript/shared/utils/bounds/_utils/flatten-styles.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/_utils/geometry.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/_utils/get-bounds.d.ts +0 -4
- package/lib/typescript/shared/utils/bounds/_utils/get-bounds.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/_utils/is-bounds-equal.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/_utils/style-composers.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/_utils/styles.d.ts.map +0 -1
- package/src/shared/hooks/bounds/use-bound-registry.tsx +0 -184
- package/src/shared/hooks/use-derived-value-state.ts +0 -41
- package/src/shared/stores/bound-store/_utils.ts +0 -161
- package/src/shared/stores/bound-store/index.ts +0 -148
- package/src/shared/stores/utils/reset-stores-for-screen.ts +0 -13
- package/src/shared/utils/bounds/_types/get-bounds.ts +0 -10
- package/src/shared/utils/bounds/_utils/flatten-styles.ts +0 -21
- package/src/shared/utils/bounds/_utils/get-bounds.ts +0 -54
- /package/lib/commonjs/shared/hooks/{use-shared-value-state.js → reanimated/use-shared-value-state.js} +0 -0
- /package/lib/commonjs/shared/utils/bounds/{_utils → helpers}/geometry.js +0 -0
- /package/lib/commonjs/shared/utils/bounds/{_utils → helpers}/style-composers.js +0 -0
- /package/lib/commonjs/shared/utils/bounds/{_utils → helpers}/styles.js +0 -0
- /package/lib/commonjs/shared/utils/bounds/{_types → types}/builder.js +0 -0
- /package/lib/commonjs/shared/utils/bounds/{_types → types}/geometry.js +0 -0
- /package/lib/commonjs/shared/{providers/utils → utils}/create-provider.js +0 -0
- /package/lib/module/shared/hooks/{use-shared-value-state.js → reanimated/use-shared-value-state.js} +0 -0
- /package/lib/module/shared/utils/bounds/{_utils → helpers}/geometry.js +0 -0
- /package/lib/module/shared/utils/bounds/{_utils → helpers}/style-composers.js +0 -0
- /package/lib/module/shared/utils/bounds/{_utils → helpers}/styles.js +0 -0
- /package/lib/module/shared/utils/bounds/{_types → types}/builder.js +0 -0
- /package/lib/module/shared/utils/bounds/{_types → types}/geometry.js +0 -0
- /package/lib/module/shared/{providers/utils → utils}/create-provider.js +0 -0
- /package/lib/typescript/shared/hooks/{use-shared-value-state.d.ts → reanimated/use-shared-value-state.d.ts} +0 -0
- /package/lib/typescript/shared/utils/bounds/{_utils → helpers}/is-bounds-equal.d.ts +0 -0
- /package/lib/typescript/shared/utils/bounds/{_types → types}/geometry.d.ts +0 -0
- /package/src/shared/hooks/{use-shared-value-state.ts → reanimated/use-shared-value-state.ts} +0 -0
- /package/src/shared/hooks/{use-stable-callback-value.tsx → use-stable-callback-value.ts} +0 -0
- /package/src/shared/hooks/{use-stable-callback.tsx → use-stable-callback.ts} +0 -0
- /package/src/shared/types/{gesture.ts → gesture.types.ts} +0 -0
- /package/src/shared/types/{utils.ts → utils.types.ts} +0 -0
- /package/src/shared/utils/bounds/{_types → types}/geometry.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AnimatedProps } from "react-native-reanimated";
|
|
2
|
-
import type { ScreenStyleInterpolator, TransitionSpec } from "./animation";
|
|
3
|
-
import type { GestureActivationArea, GestureDirection } from "./gesture";
|
|
2
|
+
import type { ScreenStyleInterpolator, TransitionSpec } from "./animation.types";
|
|
3
|
+
import type { GestureActivationArea, GestureDirection } from "./gesture.types";
|
|
4
4
|
|
|
5
5
|
export type Layout = {
|
|
6
6
|
width: number;
|
|
@@ -62,34 +62,42 @@ export type ScreenTransitionConfig = {
|
|
|
62
62
|
* The user-provided function to calculate styles based on animation progress.
|
|
63
63
|
*/
|
|
64
64
|
screenStyleInterpolator?: ScreenStyleInterpolator;
|
|
65
|
+
|
|
65
66
|
/**
|
|
66
67
|
* The Reanimated animation config for opening and closing transitions.
|
|
67
68
|
*/
|
|
68
69
|
transitionSpec?: TransitionSpec;
|
|
70
|
+
|
|
69
71
|
/**
|
|
70
72
|
* Whether the gesture is enabled.
|
|
71
73
|
*/
|
|
72
74
|
gestureEnabled?: boolean;
|
|
75
|
+
|
|
73
76
|
/**
|
|
74
77
|
* The direction of the swipe gesture used to dismiss the screen.
|
|
75
78
|
*/
|
|
76
79
|
gestureDirection?: GestureDirection | GestureDirection[];
|
|
80
|
+
|
|
77
81
|
/**
|
|
78
82
|
* How much the gesture's final velocity impacts the dismiss decision.
|
|
79
83
|
*/
|
|
80
84
|
gestureVelocityImpact?: number;
|
|
85
|
+
|
|
81
86
|
/**
|
|
82
87
|
* Distance threshold for gesture recognition throughout the screen.
|
|
83
88
|
*/
|
|
84
89
|
gestureResponseDistance?: number;
|
|
90
|
+
|
|
85
91
|
/**
|
|
86
92
|
* Whether the gesture drives the progress.
|
|
87
93
|
*/
|
|
88
94
|
gestureDrivesProgress?: boolean;
|
|
95
|
+
|
|
89
96
|
/**
|
|
90
97
|
* The area of the screen where the gesture is activated.
|
|
91
98
|
*/
|
|
92
99
|
gestureActivationArea?: GestureActivationArea;
|
|
100
|
+
|
|
93
101
|
/**
|
|
94
102
|
* Whether to enable transitions. It sets the presentation to containedTransparentModal, animation none, and headerShown to false.
|
|
95
103
|
*/
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { ScreenTransitionState } from "../../types/animation";
|
|
1
|
+
import type { ScreenTransitionState } from "../../types/animation.types";
|
|
3
2
|
|
|
4
3
|
interface DerivationsParams {
|
|
5
4
|
current: ScreenTransitionState;
|
|
6
5
|
next?: ScreenTransitionState;
|
|
7
|
-
previous?: ScreenTransitionState;
|
|
8
6
|
}
|
|
9
7
|
|
|
10
8
|
/**
|
|
11
9
|
* Additional values to help make defining animations easier.
|
|
12
10
|
*/
|
|
13
|
-
export const derivations = ({ current, next
|
|
11
|
+
export const derivations = ({ current, next }: DerivationsParams) => {
|
|
14
12
|
"worklet";
|
|
15
13
|
|
|
16
14
|
// The combined progress
|
|
@@ -26,13 +24,9 @@ export const derivations = ({ current, next, previous }: DerivationsParams) => {
|
|
|
26
24
|
|
|
27
25
|
const isDismissing = !!(active.gesture.isDismissing || active.closing);
|
|
28
26
|
|
|
29
|
-
// The active bound id
|
|
30
|
-
const activeBoundId = BoundStore.getActiveBound(current, next, previous);
|
|
31
|
-
|
|
32
27
|
return {
|
|
33
28
|
progress,
|
|
34
29
|
focused,
|
|
35
|
-
activeBoundId,
|
|
36
30
|
active,
|
|
37
31
|
isActiveTransitioning,
|
|
38
32
|
isDismissing,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { runOnJS } from "react-native-reanimated";
|
|
2
|
-
import type { AnimationStoreMap } from "../../stores/animation
|
|
3
|
-
import type { TransitionSpec } from "../../types/animation";
|
|
2
|
+
import type { AnimationStoreMap } from "../../stores/animation.store";
|
|
3
|
+
import type { TransitionSpec } from "../../types/animation.types";
|
|
4
4
|
import { animate } from "./animate";
|
|
5
5
|
|
|
6
6
|
interface StartScreenTransitionProps {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MeasuredDimensions } from "react-native-reanimated";
|
|
2
|
-
import type { Layout } from "../../types/core";
|
|
3
|
-
import type { Complete } from "../../types/utils";
|
|
4
|
-
import type { BoundsBuilderOptions } from "./
|
|
2
|
+
import type { Layout } from "../../types/core.types";
|
|
3
|
+
import type { Complete } from "../../types/utils.types";
|
|
4
|
+
import type { BoundsBuilderOptions } from "./types/builder";
|
|
5
5
|
|
|
6
6
|
export const FULLSCREEN_DIMENSIONS = (
|
|
7
7
|
dimensions: Layout,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { MeasuredDimensions } from "react-native-reanimated";
|
|
2
|
-
import type { Layout } from "../../../types/core";
|
|
3
|
-
import type { BoundsAnchor, BoundsScaleMode } from "../
|
|
2
|
+
import type { Layout } from "../../../types/core.types";
|
|
3
|
+
import type { BoundsAnchor, BoundsScaleMode } from "../types/builder";
|
|
4
4
|
import type {
|
|
5
5
|
ContentTransformGeometry,
|
|
6
6
|
RelativeGeometry,
|
|
7
|
-
} from "../
|
|
7
|
+
} from "../types/geometry";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Get the anchor point coordinates for a given bound
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MeasuredDimensions } from "react-native-reanimated";
|
|
2
|
-
import { BoundStore } from "../../../stores/
|
|
2
|
+
import { BoundStore } from "../../../stores/bounds.store";
|
|
3
3
|
|
|
4
4
|
export const isBoundsEqual = ({
|
|
5
5
|
measured,
|
|
@@ -11,9 +11,9 @@ export const isBoundsEqual = ({
|
|
|
11
11
|
sharedBoundTag: string;
|
|
12
12
|
}) => {
|
|
13
13
|
"worklet";
|
|
14
|
-
const existing = BoundStore.
|
|
14
|
+
const existing = BoundStore.getOccurrence(sharedBoundTag, key)?.bounds;
|
|
15
15
|
return (
|
|
16
|
-
existing &&
|
|
16
|
+
!!existing &&
|
|
17
17
|
existing.width === measured.width &&
|
|
18
18
|
existing.height === measured.height &&
|
|
19
19
|
existing.pageX === measured.pageX &&
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
type MeasuredDimensions,
|
|
4
4
|
type StyleProps,
|
|
5
5
|
} from "react-native-reanimated";
|
|
6
|
-
import type { BoundsBuilderOptions } from "../
|
|
6
|
+
import type { BoundsBuilderOptions } from "../types/builder";
|
|
7
7
|
import type {
|
|
8
8
|
ContentTransformGeometry,
|
|
9
9
|
RelativeGeometry,
|
|
10
|
-
} from "../
|
|
10
|
+
} from "../types/geometry";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Element-level (relative) params shared by size/transform composers.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ImageStyle, StyleProp, TextStyle, ViewStyle } from "react-native";
|
|
2
2
|
import { isSharedValue } from "react-native-reanimated";
|
|
3
|
-
import type { Any } from "../../../types/utils";
|
|
3
|
+
import type { Any } from "../../../types/utils.types";
|
|
4
4
|
|
|
5
5
|
type AnyStyle = ViewStyle | TextStyle | ImageStyle;
|
|
6
6
|
type StyleValue = StyleProp<AnyStyle>;
|
|
@@ -6,21 +6,17 @@ import {
|
|
|
6
6
|
EXIT_RANGE,
|
|
7
7
|
FULLSCREEN_DIMENSIONS,
|
|
8
8
|
} from "../../constants";
|
|
9
|
+
import { BoundStore, type TagData } from "../../stores/bounds.store";
|
|
9
10
|
import type {
|
|
10
11
|
ScreenInterpolationProps,
|
|
11
12
|
ScreenTransitionState,
|
|
12
|
-
} from "../../types/animation";
|
|
13
|
-
import type { BoundsAccessor } from "../../types/bounds";
|
|
14
|
-
import type { Layout
|
|
15
|
-
import type {
|
|
16
|
-
BoundsBuilderInitParams,
|
|
17
|
-
BoundsBuilderOptions,
|
|
18
|
-
} from "./_types/builder";
|
|
13
|
+
} from "../../types/animation.types";
|
|
14
|
+
import type { BoundsAccessor } from "../../types/bounds.types";
|
|
15
|
+
import type { Layout } from "../../types/core.types";
|
|
19
16
|
import {
|
|
20
17
|
computeContentTransformGeometry,
|
|
21
18
|
computeRelativeGeometry,
|
|
22
|
-
} from "./
|
|
23
|
-
import { getBounds } from "./_utils/get-bounds";
|
|
19
|
+
} from "./helpers/geometry";
|
|
24
20
|
import {
|
|
25
21
|
composeContentStyle,
|
|
26
22
|
composeSizeAbsolute,
|
|
@@ -28,10 +24,13 @@ import {
|
|
|
28
24
|
composeTransformAbsolute,
|
|
29
25
|
composeTransformRelative,
|
|
30
26
|
type ElementComposeParams,
|
|
31
|
-
} from "./
|
|
27
|
+
} from "./helpers/style-composers";
|
|
28
|
+
import type {
|
|
29
|
+
BoundsBuilderOptions,
|
|
30
|
+
BoundsComputeParams,
|
|
31
|
+
} from "./types/builder";
|
|
32
32
|
|
|
33
33
|
export interface BuildBoundsAccessorParams {
|
|
34
|
-
activeBoundId: string | null;
|
|
35
34
|
current: ScreenTransitionState;
|
|
36
35
|
previous?: ScreenTransitionState;
|
|
37
36
|
next?: ScreenTransitionState;
|
|
@@ -50,34 +49,47 @@ const resolveBounds = (props: {
|
|
|
50
49
|
}) => {
|
|
51
50
|
"worklet";
|
|
52
51
|
const entering = !props.next;
|
|
53
|
-
|
|
54
52
|
const fullscreen = FULLSCREEN_DIMENSIONS(props.dimensions);
|
|
53
|
+
const isClosing = props.current?.closing === 1;
|
|
55
54
|
|
|
56
|
-
const
|
|
57
|
-
const endPhase: ScreenPhase = entering ? "current" : "next";
|
|
55
|
+
const isFullscreenTarget = props.computeOptions.target === "fullscreen";
|
|
58
56
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return props.current?.bounds?.[props.id]?.bounds;
|
|
66
|
-
case "next":
|
|
67
|
-
return props.next?.bounds?.[props.id]?.bounds;
|
|
68
|
-
default:
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
};
|
|
57
|
+
// Try exact match first (strict matching for nested stacks)
|
|
58
|
+
let link = BoundStore.getActiveLink(
|
|
59
|
+
props.id,
|
|
60
|
+
props.current?.route.key,
|
|
61
|
+
isClosing,
|
|
62
|
+
);
|
|
72
63
|
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
// For fullscreen target, fall back to most recent link for this tag
|
|
65
|
+
// (destination screen might not have a matching element)
|
|
66
|
+
if (!link && isFullscreenTarget) {
|
|
67
|
+
link = BoundStore.getActiveLink(props.id); // No screenKey = get most recent
|
|
68
|
+
}
|
|
75
69
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
70
|
+
if (!link || !link.source) {
|
|
71
|
+
return {
|
|
72
|
+
start: null,
|
|
73
|
+
end: null,
|
|
74
|
+
entering,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
79
77
|
|
|
80
|
-
|
|
78
|
+
// For fullscreen target, destination element is not required
|
|
79
|
+
if (!isFullscreenTarget && !link.destination) {
|
|
80
|
+
return {
|
|
81
|
+
start: null,
|
|
82
|
+
end: null,
|
|
83
|
+
entering,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const { destination, source } = link;
|
|
88
|
+
|
|
89
|
+
const start = source.bounds;
|
|
90
|
+
let end = destination?.bounds ?? fullscreen;
|
|
91
|
+
|
|
92
|
+
if (isFullscreenTarget) {
|
|
81
93
|
end = fullscreen;
|
|
82
94
|
}
|
|
83
95
|
|
|
@@ -95,15 +107,8 @@ const resolveBounds = (props: {
|
|
|
95
107
|
};
|
|
96
108
|
|
|
97
109
|
const computeBoundStyles = (
|
|
98
|
-
{
|
|
99
|
-
|
|
100
|
-
previous,
|
|
101
|
-
current,
|
|
102
|
-
next,
|
|
103
|
-
progress,
|
|
104
|
-
dimensions,
|
|
105
|
-
}: BoundsBuilderInitParams,
|
|
106
|
-
computeOptions: BoundsBuilderOptions = {},
|
|
110
|
+
{ id, previous, current, next, progress, dimensions }: BoundsComputeParams,
|
|
111
|
+
computeOptions: BoundsBuilderOptions = { id: "bound-id" },
|
|
107
112
|
) => {
|
|
108
113
|
"worklet";
|
|
109
114
|
if (!id) {
|
|
@@ -169,8 +174,7 @@ const computeBoundStyles = (
|
|
|
169
174
|
};
|
|
170
175
|
|
|
171
176
|
const isSize = computeOptions.method === "size";
|
|
172
|
-
const isAbs =
|
|
173
|
-
computeOptions.space === "absolute" || !!computeOptions.absolute;
|
|
177
|
+
const isAbs = computeOptions.space === "absolute";
|
|
174
178
|
|
|
175
179
|
return isSize
|
|
176
180
|
? isAbs
|
|
@@ -188,13 +192,13 @@ export const createBounds = (
|
|
|
188
192
|
|
|
189
193
|
const boundsFunction = (params?: BoundsBuilderOptions) => {
|
|
190
194
|
"worklet";
|
|
191
|
-
const id = params?.id
|
|
195
|
+
const id = params?.id;
|
|
192
196
|
|
|
193
197
|
return computeBoundStyles(
|
|
194
198
|
{
|
|
195
199
|
id,
|
|
196
|
-
current: props.current,
|
|
197
200
|
previous: props.previous,
|
|
201
|
+
current: props.current,
|
|
198
202
|
next: props.next,
|
|
199
203
|
progress: props.progress,
|
|
200
204
|
dimensions: props.layouts.screen,
|
|
@@ -203,16 +207,10 @@ export const createBounds = (
|
|
|
203
207
|
);
|
|
204
208
|
};
|
|
205
209
|
|
|
206
|
-
const
|
|
210
|
+
const getOccurrence = (tag: string, key: string): TagData => {
|
|
207
211
|
"worklet";
|
|
208
|
-
return
|
|
209
|
-
id: id ?? props.activeBoundId,
|
|
210
|
-
phase,
|
|
211
|
-
current: props.current,
|
|
212
|
-
previous: props.previous,
|
|
213
|
-
next: props.next,
|
|
214
|
-
});
|
|
212
|
+
return BoundStore.getOccurrence(tag, key);
|
|
215
213
|
};
|
|
216
214
|
|
|
217
|
-
return Object.assign(boundsFunction, {
|
|
215
|
+
return Object.assign(boundsFunction, { getOccurrence }) as BoundsAccessor;
|
|
218
216
|
};
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
import type { MeasuredDimensions, StyleProps } from "react-native-reanimated";
|
|
2
|
-
import type { ScreenTransitionState } from "../../../types/animation";
|
|
3
|
-
import type { BoundsMethod } from "../../../types/bounds";
|
|
4
|
-
import type { Layout } from "../../../types/core";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Params passed to the builder initializer. No method required here.
|
|
8
|
-
*/
|
|
9
|
-
export type BoundsBuilderInitParams = {
|
|
10
|
-
id: string | null;
|
|
11
|
-
previous?: ScreenTransitionState;
|
|
12
|
-
current: ScreenTransitionState;
|
|
13
|
-
next?: ScreenTransitionState;
|
|
14
|
-
progress: number;
|
|
15
|
-
dimensions: Layout;
|
|
16
|
-
};
|
|
2
|
+
import type { ScreenTransitionState } from "../../../types/animation.types";
|
|
3
|
+
import type { BoundsMethod } from "../../../types/bounds.types";
|
|
4
|
+
import type { Layout } from "../../../types/core.types";
|
|
17
5
|
|
|
18
6
|
export type BoundsAnchor =
|
|
19
7
|
| "topLeading"
|
|
@@ -32,7 +20,14 @@ export type BoundsTarget = "bound" | "fullscreen" | MeasuredDimensions;
|
|
|
32
20
|
|
|
33
21
|
export type BoundsSpace = "relative" | "absolute";
|
|
34
22
|
|
|
35
|
-
export type BoundsComputeParams =
|
|
23
|
+
export type BoundsComputeParams = {
|
|
24
|
+
id?: string;
|
|
25
|
+
previous?: ScreenTransitionState;
|
|
26
|
+
current: ScreenTransitionState;
|
|
27
|
+
next?: ScreenTransitionState;
|
|
28
|
+
progress: number;
|
|
29
|
+
dimensions: Layout;
|
|
30
|
+
};
|
|
36
31
|
|
|
37
32
|
export type RawSizeAbsoluteReturn = {
|
|
38
33
|
width: number;
|
|
@@ -84,26 +79,14 @@ export type BoundsReturnType<T extends BoundsBuilderOptions> =
|
|
|
84
79
|
|
|
85
80
|
export type BoundsBuilderOptions = {
|
|
86
81
|
/**
|
|
87
|
-
*
|
|
88
|
-
*/
|
|
89
|
-
toFullscreen?: boolean;
|
|
90
|
-
/**
|
|
91
|
-
* @deprecated Use `content.anchor` instead.
|
|
92
|
-
*/
|
|
93
|
-
absolute?: boolean;
|
|
94
|
-
/**
|
|
95
|
-
* @deprecated Use `content.anchor` instead.
|
|
96
|
-
*/
|
|
97
|
-
relative?: boolean;
|
|
98
|
-
/**
|
|
99
|
-
* @deprecated Use `scaleMode` instead.
|
|
82
|
+
* The ID of the bound to compute bounds for. If not provided, uses the active bound ID.
|
|
100
83
|
*/
|
|
101
|
-
|
|
84
|
+
id: string;
|
|
102
85
|
|
|
103
86
|
/**
|
|
104
|
-
*
|
|
87
|
+
* Whether the bound should target the screen or the bound.
|
|
105
88
|
*/
|
|
106
|
-
|
|
89
|
+
target?: BoundsTarget;
|
|
107
90
|
|
|
108
91
|
/**
|
|
109
92
|
* The method to use to compute the bounds.
|
|
@@ -124,25 +107,24 @@ export type BoundsBuilderOptions = {
|
|
|
124
107
|
* @default "relative"
|
|
125
108
|
*/
|
|
126
109
|
space?: BoundsSpace;
|
|
127
|
-
|
|
128
|
-
* Whether the bound should target the screen or the bound.
|
|
129
|
-
* @default "bound"
|
|
130
|
-
*/
|
|
131
|
-
target?: BoundsTarget;
|
|
110
|
+
|
|
132
111
|
/**
|
|
133
112
|
* The gesture offsets to apply to the bounds.
|
|
134
113
|
*/
|
|
135
114
|
gestures?: { x?: number; y?: number };
|
|
115
|
+
|
|
136
116
|
/**
|
|
137
117
|
* How the bounds should be scaled between each other.
|
|
138
118
|
* @default "match"
|
|
139
119
|
*/
|
|
140
120
|
scaleMode?: BoundsScaleMode;
|
|
121
|
+
|
|
141
122
|
/**
|
|
142
123
|
* Where the bounds should be anchored between each other.
|
|
143
124
|
* @default "center"
|
|
144
125
|
*/
|
|
145
126
|
anchor?: BoundsAnchor;
|
|
127
|
+
|
|
146
128
|
/**
|
|
147
129
|
* If true, the raw values will be returned instead of the computed values.
|
|
148
130
|
* @default false
|
|
@@ -3,19 +3,13 @@
|
|
|
3
3
|
* https://github.com/MatiPl01/react-native-sortables/blob/main/packages/react-native-sortables/src/providers/utils/createProvider.tsx
|
|
4
4
|
* SUPER COOL AMAZING UTILITY
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
createContext,
|
|
8
|
-
type PropsWithChildren,
|
|
9
|
-
type ReactNode,
|
|
10
|
-
useContext,
|
|
11
|
-
useMemo,
|
|
12
|
-
} from "react";
|
|
6
|
+
import { createContext, type ReactNode, useContext, useMemo } from "react";
|
|
13
7
|
|
|
14
8
|
export default function createProvider<
|
|
15
9
|
ProviderName extends string,
|
|
16
10
|
Guarded extends boolean = true,
|
|
17
11
|
>(name: ProviderName, options?: { guarded?: Guarded }) {
|
|
18
|
-
return <ProviderProps extends
|
|
12
|
+
return <ProviderProps extends object, ContextValue>(
|
|
19
13
|
factory: (props: ProviderProps) => {
|
|
20
14
|
value?: ContextValue;
|
|
21
15
|
enabled?: boolean;
|
|
@@ -29,7 +23,7 @@ export default function createProvider<
|
|
|
29
23
|
|
|
30
24
|
const Provider: React.FC<ProviderProps> = (props) => {
|
|
31
25
|
const {
|
|
32
|
-
children = props.children,
|
|
26
|
+
children = (props as { children?: ReactNode }).children,
|
|
33
27
|
enabled = true,
|
|
34
28
|
value,
|
|
35
29
|
} = factory(props);
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
GESTURE_FAIL_TOLERANCE_X,
|
|
10
10
|
GESTURE_FAIL_TOLERANCE_Y,
|
|
11
11
|
} from "../../constants";
|
|
12
|
-
import type { Layout } from "../../types/core";
|
|
12
|
+
import type { Layout } from "../../types/core.types";
|
|
13
13
|
import {
|
|
14
14
|
type ActivationArea,
|
|
15
15
|
type GestureActivationArea,
|
|
16
16
|
GestureOffsetState,
|
|
17
17
|
type SideActivation,
|
|
18
|
-
} from "../../types/gesture";
|
|
18
|
+
} from "../../types/gesture.types";
|
|
19
19
|
|
|
20
20
|
type Directions = {
|
|
21
21
|
vertical: boolean;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { GestureStateManagerType } from "react-native-gesture-handler/lib/typescript/handlers/gestures/gestureStateManager";
|
|
2
2
|
import type { SharedValue } from "react-native-reanimated";
|
|
3
|
-
import type { Layout } from "../../types/core";
|
|
3
|
+
import type { Layout } from "../../types/core.types";
|
|
4
4
|
import {
|
|
5
5
|
type ActivationArea,
|
|
6
6
|
type GestureActivationArea,
|
|
7
7
|
GestureOffsetState,
|
|
8
8
|
type SideActivation,
|
|
9
|
-
} from "../../types/gesture";
|
|
9
|
+
} from "../../types/gesture.types";
|
|
10
10
|
|
|
11
11
|
type Directions = {
|
|
12
12
|
vertical: boolean;
|
|
@@ -2,8 +2,8 @@ import type {
|
|
|
2
2
|
GestureStateChangeEvent,
|
|
3
3
|
PanGestureHandlerEventPayload,
|
|
4
4
|
} from "react-native-gesture-handler";
|
|
5
|
-
import type { GestureStoreMap } from "../../stores/gesture
|
|
6
|
-
import type { AnimationConfig } from "../../types/animation";
|
|
5
|
+
import type { GestureStoreMap } from "../../stores/gesture.store";
|
|
6
|
+
import type { AnimationConfig } from "../../types/animation.types";
|
|
7
7
|
import { animate } from "../animation/animate";
|
|
8
8
|
import { velocity } from "./velocity";
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ import type {
|
|
|
3
3
|
PanGestureHandlerEventPayload,
|
|
4
4
|
} from "react-native-gesture-handler";
|
|
5
5
|
import { clamp } from "react-native-reanimated";
|
|
6
|
-
import type { AnimationStoreMap } from "../../stores/animation
|
|
6
|
+
import type { AnimationStoreMap } from "../../stores/animation.store";
|
|
7
7
|
|
|
8
8
|
interface CalculateProgressProps {
|
|
9
9
|
animations: AnimationStoreMap;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TransitionDescriptor } from "../providers/keys.provider";
|
|
2
|
+
import { AnimationStore } from "../stores/animation.store";
|
|
3
|
+
import { GestureStore } from "../stores/gesture.store";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Reset all stores for a given screen
|
|
7
|
+
*/
|
|
8
|
+
export const resetStoresForScreen = (current: TransitionDescriptor) => {
|
|
9
|
+
AnimationStore.clear(current.route.key);
|
|
10
|
+
GestureStore.clear(current.route.key);
|
|
11
|
+
};
|