react-native-reanimated 3.16.4 → 3.16.6
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/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +21 -13
- package/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +2 -0
- package/lib/module/createAnimatedComponent/JSPropsUpdater.js +4 -5
- package/lib/module/createAnimatedComponent/JSPropsUpdater.js.map +1 -1
- package/lib/module/createAnimatedComponent/NativeEventsManager.js +35 -8
- package/lib/module/createAnimatedComponent/NativeEventsManager.js.map +1 -1
- package/lib/module/createAnimatedComponent/createAnimatedComponent.js +51 -46
- package/lib/module/createAnimatedComponent/createAnimatedComponent.js.map +1 -1
- package/lib/module/fabricUtils.js +4 -11
- package/lib/module/fabricUtils.js.map +1 -1
- package/lib/module/platform-specific/findHostInstance.js +44 -0
- package/lib/module/platform-specific/findHostInstance.js.map +1 -0
- package/lib/module/platform-specific/findHostInstance.web.js +4 -0
- package/lib/module/platform-specific/findHostInstance.web.js.map +1 -0
- package/lib/module/platform-specific/jsVersion.js +1 -1
- package/lib/typescript/createAnimatedComponent/JSPropsUpdater.d.ts.map +1 -1
- package/lib/typescript/createAnimatedComponent/NativeEventsManager.d.ts.map +1 -1
- package/lib/typescript/createAnimatedComponent/commonTypes.d.ts +6 -6
- package/lib/typescript/createAnimatedComponent/commonTypes.d.ts.map +1 -1
- package/lib/typescript/createAnimatedComponent/createAnimatedComponent.d.ts.map +1 -1
- package/lib/typescript/fabricUtils.d.ts +2 -1
- package/lib/typescript/fabricUtils.d.ts.map +1 -1
- package/lib/typescript/platform-specific/findHostInstance.d.ts +15 -0
- package/lib/typescript/platform-specific/findHostInstance.d.ts.map +1 -0
- package/lib/typescript/platform-specific/findHostInstance.web.d.ts +2 -0
- package/lib/typescript/platform-specific/findHostInstance.web.d.ts.map +1 -0
- package/lib/typescript/platform-specific/jsVersion.d.ts +1 -1
- package/package.json +1 -1
- package/src/createAnimatedComponent/JSPropsUpdater.ts +4 -5
- package/src/createAnimatedComponent/NativeEventsManager.ts +44 -13
- package/src/createAnimatedComponent/commonTypes.ts +6 -6
- package/src/createAnimatedComponent/createAnimatedComponent.tsx +55 -56
- package/src/fabricUtils.ts +9 -15
- package/src/platform-specific/findHostInstance.ts +77 -0
- package/src/platform-specific/findHostInstance.web.ts +3 -0
- package/src/platform-specific/jsVersion.ts +1 -1
- package/lib/module/platform-specific/RNRenderer.js +0 -6
- package/lib/module/platform-specific/RNRenderer.js.map +0 -1
- package/lib/module/platform-specific/RNRenderer.web.js +0 -6
- package/lib/module/platform-specific/RNRenderer.web.js.map +0 -1
- package/lib/typescript/platform-specific/RNRenderer.d.ts +0 -2
- package/lib/typescript/platform-specific/RNRenderer.d.ts.map +0 -1
- package/lib/typescript/platform-specific/RNRenderer.web.d.ts +0 -3
- package/lib/typescript/platform-specific/RNRenderer.web.d.ts.map +0 -1
- package/src/platform-specific/RNRenderer.ts +0 -4
- package/src/platform-specific/RNRenderer.web.ts +0 -4
|
@@ -27,23 +27,31 @@ ReanimatedCommitHook::~ReanimatedCommitHook() noexcept {
|
|
|
27
27
|
uiManager_->unregisterCommitHook(*this);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
void ReanimatedCommitHook::maybeInitializeLayoutAnimations(
|
|
31
|
+
SurfaceId surfaceId) {
|
|
32
|
+
auto lock = std::unique_lock<std::mutex>(mutex_);
|
|
33
|
+
if (surfaceId > currentMaxSurfaceId_) {
|
|
34
|
+
// when a new surfaceId is observed we call setMountingOverrideDelegate
|
|
35
|
+
// for all yet unseen surfaces
|
|
36
|
+
uiManager_->getShadowTreeRegistry().enumerate(
|
|
37
|
+
[this](const ShadowTree &shadowTree, bool &stop) {
|
|
38
|
+
if (shadowTree.getSurfaceId() <= currentMaxSurfaceId_) {
|
|
39
|
+
// the set function actually adds our delegate to a list, so we
|
|
40
|
+
// shouldn't invoke it twice for the same surface
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
shadowTree.getMountingCoordinator()->setMountingOverrideDelegate(
|
|
44
|
+
layoutAnimationsProxy_);
|
|
45
|
+
});
|
|
46
|
+
currentMaxSurfaceId_ = surfaceId;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
30
50
|
RootShadowNode::Unshared ReanimatedCommitHook::shadowTreeWillCommit(
|
|
31
51
|
ShadowTree const &,
|
|
32
52
|
RootShadowNode::Shared const &,
|
|
33
53
|
RootShadowNode::Unshared const &newRootShadowNode) noexcept {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
{
|
|
37
|
-
auto lock = std::unique_lock<std::mutex>(mutex_);
|
|
38
|
-
if (surfaceId > currentMaxSurfaceId_) {
|
|
39
|
-
uiManager_->getShadowTreeRegistry().enumerate(
|
|
40
|
-
[this](const ShadowTree &shadowTree, bool &stop) {
|
|
41
|
-
shadowTree.getMountingCoordinator()->setMountingOverrideDelegate(
|
|
42
|
-
layoutAnimationsProxy_);
|
|
43
|
-
});
|
|
44
|
-
currentMaxSurfaceId_ = surfaceId;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
54
|
+
maybeInitializeLayoutAnimations(newRootShadowNode->getSurfaceId());
|
|
47
55
|
|
|
48
56
|
auto reaShadowNode =
|
|
49
57
|
std::reinterpret_pointer_cast<ReanimatedCommitShadowNode>(
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
import { NativeEventEmitter, Platform } from 'react-native';
|
|
4
|
-
import { findNodeHandle } from '../platformFunctions/findNodeHandle';
|
|
5
4
|
import { shouldBeUseWeb } from "../PlatformChecker.js";
|
|
6
5
|
import { runOnJS, runOnUIImmediately } from "../threads.js";
|
|
7
6
|
import NativeReanimatedModule from "../specs/NativeReanimatedModule.js";
|
|
@@ -14,7 +13,7 @@ class JSPropsUpdaterPaper {
|
|
|
14
13
|
Platform.OS === 'ios' || Platform.OS === 'macos' ? NativeReanimatedModule : undefined);
|
|
15
14
|
}
|
|
16
15
|
addOnJSPropsChangeListener(animatedComponent) {
|
|
17
|
-
const viewTag =
|
|
16
|
+
const viewTag = animatedComponent.getComponentViewTag();
|
|
18
17
|
JSPropsUpdaterPaper._tagToComponentMapping.set(viewTag, animatedComponent);
|
|
19
18
|
if (JSPropsUpdaterPaper._tagToComponentMapping.size === 1) {
|
|
20
19
|
const listener = data => {
|
|
@@ -25,7 +24,7 @@ class JSPropsUpdaterPaper {
|
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
removeOnJSPropsChangeListener(animatedComponent) {
|
|
28
|
-
const viewTag =
|
|
27
|
+
const viewTag = animatedComponent.getComponentViewTag();
|
|
29
28
|
JSPropsUpdaterPaper._tagToComponentMapping.delete(viewTag);
|
|
30
29
|
if (JSPropsUpdaterPaper._tagToComponentMapping.size === 0) {
|
|
31
30
|
this._reanimatedEventEmitter.removeAllListeners('onReanimatedPropsChange');
|
|
@@ -55,14 +54,14 @@ class JSPropsUpdaterFabric {
|
|
|
55
54
|
if (!JSPropsUpdaterFabric.isInitialized) {
|
|
56
55
|
return;
|
|
57
56
|
}
|
|
58
|
-
const viewTag =
|
|
57
|
+
const viewTag = animatedComponent.getComponentViewTag();
|
|
59
58
|
JSPropsUpdaterFabric._tagToComponentMapping.set(viewTag, animatedComponent);
|
|
60
59
|
}
|
|
61
60
|
removeOnJSPropsChangeListener(animatedComponent) {
|
|
62
61
|
if (!JSPropsUpdaterFabric.isInitialized) {
|
|
63
62
|
return;
|
|
64
63
|
}
|
|
65
|
-
const viewTag =
|
|
64
|
+
const viewTag = animatedComponent.getComponentViewTag();
|
|
66
65
|
JSPropsUpdaterFabric._tagToComponentMapping.delete(viewTag);
|
|
67
66
|
}
|
|
68
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","Platform","
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","Platform","shouldBeUseWeb","runOnJS","runOnUIImmediately","NativeReanimatedModule","SHOULD_BE_USE_WEB","JSPropsUpdaterPaper","_tagToComponentMapping","Map","constructor","_reanimatedEventEmitter","OS","undefined","addOnJSPropsChangeListener","animatedComponent","viewTag","getComponentViewTag","set","size","listener","data","component","get","_updateFromNative","props","addListener","removeOnJSPropsChangeListener","delete","removeAllListeners","JSPropsUpdaterFabric","isInitialized","updater","global","updateJSProps","JSPropsUpdaterWeb","_animatedComponent","JSPropsUpdater","_IS_FABRIC"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/JSPropsUpdater.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,7 +23,7 @@ export class NativeEventsManager {
|
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
updateEvents(prevProps) {
|
|
26
|
-
const computedEventTag = this.getEventViewTag();
|
|
26
|
+
const computedEventTag = this.getEventViewTag(true);
|
|
27
27
|
// If the event view tag changes, we need to completely re-mount all events
|
|
28
28
|
if (this.#eventViewTag !== computedEventTag) {
|
|
29
29
|
// Remove all bindings from previous props that ran on the old viewTag
|
|
@@ -55,17 +55,44 @@ export class NativeEventsManager {
|
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
-
getEventViewTag() {
|
|
58
|
+
getEventViewTag(componentUpdate = false) {
|
|
59
59
|
// Get the tag for registering events - since the event emitting view can be nested inside the main component
|
|
60
|
-
const componentAnimatedRef = this.#managedComponent.
|
|
61
|
-
let newTag;
|
|
60
|
+
const componentAnimatedRef = this.#managedComponent._componentRef;
|
|
62
61
|
if (componentAnimatedRef.getScrollableNode) {
|
|
62
|
+
/*
|
|
63
|
+
In most cases, getScrollableNode() returns a view tag, and findNodeHandle is not required.
|
|
64
|
+
However, to cover more exotic list cases, we will continue to use findNodeHandle
|
|
65
|
+
for consistency. For numerical values, findNodeHandle should return the value immediately,
|
|
66
|
+
as documented here: https://github.com/facebook/react/blob/91061073d57783c061889ac6720ef1ab7f0c2149/packages/react-native-renderer/src/ReactNativePublicCompat.js#L113
|
|
67
|
+
*/
|
|
63
68
|
const scrollableNode = componentAnimatedRef.getScrollableNode();
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
if (typeof scrollableNode === 'number') {
|
|
70
|
+
return scrollableNode;
|
|
71
|
+
}
|
|
72
|
+
return findNodeHandle(scrollableNode) ?? -1;
|
|
73
|
+
}
|
|
74
|
+
if (this.#componentOptions?.setNativeProps) {
|
|
75
|
+
// This case ensures backward compatibility with components that
|
|
76
|
+
// have their own setNativeProps method passed as an option.
|
|
77
|
+
return findNodeHandle(this.#managedComponent) ?? -1;
|
|
78
|
+
}
|
|
79
|
+
if (!componentUpdate) {
|
|
80
|
+
// On the first render of a component, we may already receive a resolved view tag.
|
|
81
|
+
return this.#managedComponent.getComponentViewTag();
|
|
82
|
+
}
|
|
83
|
+
if (componentAnimatedRef.__nativeTag || componentAnimatedRef._nativeTag) {
|
|
84
|
+
/*
|
|
85
|
+
Fast path for native refs,
|
|
86
|
+
_nativeTag is used by Paper components,
|
|
87
|
+
__nativeTag is used by Fabric components.
|
|
88
|
+
*/
|
|
89
|
+
return componentAnimatedRef.__nativeTag ?? componentAnimatedRef._nativeTag ?? -1;
|
|
67
90
|
}
|
|
68
|
-
|
|
91
|
+
/*
|
|
92
|
+
When a component is updated, a child could potentially change and have a different
|
|
93
|
+
view tag. This can occur with a GestureDetector component.
|
|
94
|
+
*/
|
|
95
|
+
return findNodeHandle(componentAnimatedRef) ?? -1;
|
|
69
96
|
}
|
|
70
97
|
}
|
|
71
98
|
function isWorkletEventHandler(prop) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["has","WorkletEventHandler","findNodeHandle","NativeEventsManager","managedComponent","componentOptions","eventViewTag","constructor","component","options","getEventViewTag","attachEvents","executeForEachEventHandler","props","key","handler","registerForEvents","detachEvents","_key","unregisterFromEvents","updateEvents","prevProps","computedEventTag","prevHandler","newProp","isWorkletEventHandler","workletEventHandler","
|
|
1
|
+
{"version":3,"names":["has","WorkletEventHandler","findNodeHandle","NativeEventsManager","managedComponent","componentOptions","eventViewTag","constructor","component","options","getEventViewTag","attachEvents","executeForEachEventHandler","props","key","handler","registerForEvents","detachEvents","_key","unregisterFromEvents","updateEvents","prevProps","computedEventTag","prevHandler","newProp","isWorkletEventHandler","workletEventHandler","componentUpdate","componentAnimatedRef","_componentRef","getScrollableNode","scrollableNode","setNativeProps","getComponentViewTag","__nativeTag","_nativeTag","prop","callback"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/NativeEventsManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { Platform } from 'react-native';
|
|
6
|
-
import { findNodeHandle } from '../platformFunctions/findNodeHandle';
|
|
7
6
|
import "../layoutReanimation/animationsManager.js";
|
|
8
7
|
import invariant from 'invariant';
|
|
9
8
|
import { adaptViewConfig } from "../ConfigHelper.js";
|
|
10
|
-
import {
|
|
9
|
+
import { findHostInstance } from '../platform-specific/findHostInstance';
|
|
11
10
|
import { enableLayoutAnimations } from "../core.js";
|
|
12
11
|
import { SharedTransition, LayoutAnimationType } from "../layoutReanimation/index.js";
|
|
13
12
|
import { getShadowNodeWrapperFromRef } from '../fabricUtils';
|
|
@@ -58,12 +57,11 @@ export function createAnimatedComponent(Component, options) {
|
|
|
58
57
|
invariant(typeof Component !== 'function' || Component.prototype && Component.prototype.isReactComponent, `Looks like you're passing a function component \`${Component.name}\` to \`createAnimatedComponent\` function which supports only class components. Please wrap your function component with \`React.forwardRef()\` or use a class component instead.`);
|
|
59
58
|
class AnimatedComponent extends React.Component {
|
|
60
59
|
_styles = null;
|
|
61
|
-
_componentViewTag = -1;
|
|
62
60
|
_isFirstRender = true;
|
|
63
61
|
jestAnimatedStyle = {
|
|
64
62
|
value: {}
|
|
65
63
|
};
|
|
66
|
-
|
|
64
|
+
_componentRef = null;
|
|
67
65
|
_sharedElementTransition = null;
|
|
68
66
|
_jsPropsUpdater = new JSPropsUpdater();
|
|
69
67
|
_InlinePropManager = new InlinePropManager();
|
|
@@ -83,7 +81,6 @@ export function createAnimatedComponent(Component, options) {
|
|
|
83
81
|
}
|
|
84
82
|
}
|
|
85
83
|
componentDidMount() {
|
|
86
|
-
this._componentViewTag = this._getComponentViewTag();
|
|
87
84
|
if (!IS_WEB) {
|
|
88
85
|
// It exists only on native platforms. We initialize it here because the ref to the animated component is available only post-mount
|
|
89
86
|
this._NativeEventsManager = new NativeEventsManager(this, options);
|
|
@@ -98,7 +95,7 @@ export function createAnimatedComponent(Component, options) {
|
|
|
98
95
|
}
|
|
99
96
|
if (IS_WEB) {
|
|
100
97
|
if (this.props.exiting) {
|
|
101
|
-
saveSnapshot(this.
|
|
98
|
+
saveSnapshot(this._componentRef);
|
|
102
99
|
}
|
|
103
100
|
if (!this.props.entering || getReducedMotionFromConfig(this.props.entering)) {
|
|
104
101
|
this._isFirstRender = false;
|
|
@@ -106,9 +103,9 @@ export function createAnimatedComponent(Component, options) {
|
|
|
106
103
|
}
|
|
107
104
|
const skipEntering = this.context?.current;
|
|
108
105
|
if (!skipEntering) {
|
|
109
|
-
startWebLayoutAnimation(this.props, this.
|
|
106
|
+
startWebLayoutAnimation(this.props, this._componentRef, LayoutAnimationType.ENTERING);
|
|
110
107
|
} else {
|
|
111
|
-
this.
|
|
108
|
+
this._componentRef.style.visibility = 'initial';
|
|
112
109
|
}
|
|
113
110
|
}
|
|
114
111
|
this._isFirstRender = false;
|
|
@@ -121,39 +118,40 @@ export function createAnimatedComponent(Component, options) {
|
|
|
121
118
|
if (this.props.sharedTransitionTag) {
|
|
122
119
|
this._configureSharedTransition(true);
|
|
123
120
|
}
|
|
124
|
-
this._sharedElementTransition?.unregisterTransition(this.
|
|
121
|
+
this._sharedElementTransition?.unregisterTransition(this.getComponentViewTag(), true);
|
|
125
122
|
const exiting = this.props.exiting;
|
|
126
|
-
if (IS_WEB && this.
|
|
123
|
+
if (IS_WEB && this._componentRef && exiting && !getReducedMotionFromConfig(exiting)) {
|
|
127
124
|
addHTMLMutationObserver();
|
|
128
|
-
startWebLayoutAnimation(this.props, this.
|
|
125
|
+
startWebLayoutAnimation(this.props, this._componentRef, LayoutAnimationType.EXITING);
|
|
129
126
|
} else if (exiting && !IS_WEB && !isFabric()) {
|
|
130
127
|
const reduceMotionInExiting = 'getReduceMotion' in exiting && typeof exiting.getReduceMotion === 'function' ? getReduceMotionFromConfig(exiting.getReduceMotion()) : getReduceMotionFromConfig();
|
|
131
128
|
if (!reduceMotionInExiting) {
|
|
132
|
-
updateLayoutAnimations(this.
|
|
129
|
+
updateLayoutAnimations(this.getComponentViewTag(), LayoutAnimationType.EXITING, maybeBuild(exiting, this.props?.style, AnimatedComponent.displayName));
|
|
133
130
|
}
|
|
134
131
|
}
|
|
135
132
|
}
|
|
136
|
-
|
|
133
|
+
getComponentViewTag() {
|
|
137
134
|
return this._getViewInfo().viewTag;
|
|
138
135
|
}
|
|
139
136
|
_detachStyles() {
|
|
140
|
-
|
|
137
|
+
const viewTag = this.getComponentViewTag();
|
|
138
|
+
if (viewTag !== -1 && this._styles !== null) {
|
|
141
139
|
for (const style of this._styles) {
|
|
142
|
-
style.viewDescriptors.remove(
|
|
140
|
+
style.viewDescriptors.remove(viewTag);
|
|
143
141
|
}
|
|
144
142
|
if (this.props.animatedProps?.viewDescriptors) {
|
|
145
|
-
this.props.animatedProps.viewDescriptors.remove(
|
|
143
|
+
this.props.animatedProps.viewDescriptors.remove(viewTag);
|
|
146
144
|
}
|
|
147
145
|
if (isFabric()) {
|
|
148
|
-
removeFromPropsRegistry(
|
|
146
|
+
removeFromPropsRegistry(viewTag);
|
|
149
147
|
}
|
|
150
148
|
}
|
|
151
149
|
}
|
|
152
150
|
_updateFromNative(props) {
|
|
153
151
|
if (options?.setNativeProps) {
|
|
154
|
-
options.setNativeProps(this.
|
|
152
|
+
options.setNativeProps(this._componentRef, props);
|
|
155
153
|
} else {
|
|
156
|
-
this.
|
|
154
|
+
this._componentRef?.setNativeProps?.(props);
|
|
157
155
|
}
|
|
158
156
|
}
|
|
159
157
|
_getViewInfo() {
|
|
@@ -164,27 +162,28 @@ export function createAnimatedComponent(Component, options) {
|
|
|
164
162
|
let viewName;
|
|
165
163
|
let shadowNodeWrapper = null;
|
|
166
164
|
let viewConfig;
|
|
167
|
-
// Component can specify ref which should be animated when animated version of the component is created.
|
|
168
|
-
// Otherwise, we animate the component itself.
|
|
169
|
-
const component = this._component?.getAnimatableRef ? this._component.getAnimatableRef?.() : this;
|
|
170
165
|
if (SHOULD_BE_USE_WEB) {
|
|
171
166
|
// At this point I assume that `_setComponentRef` was already called and `_component` is set.
|
|
172
167
|
// `this._component` on web represents HTMLElement of our component, that's why we use casting
|
|
173
|
-
viewTag = this.
|
|
168
|
+
viewTag = this._componentRef;
|
|
174
169
|
viewName = null;
|
|
175
170
|
shadowNodeWrapper = null;
|
|
176
171
|
viewConfig = null;
|
|
177
172
|
} else {
|
|
178
|
-
|
|
179
|
-
const hostInstance = RNRenderer.findHostInstance_DEPRECATED(component);
|
|
173
|
+
const hostInstance = findHostInstance(this);
|
|
180
174
|
if (!hostInstance) {
|
|
175
|
+
/*
|
|
176
|
+
findHostInstance can return null for a component that doesn't render anything
|
|
177
|
+
(render function returns null). Example:
|
|
178
|
+
svg Stop: https://github.com/react-native-svg/react-native-svg/blob/develop/src/elements/Stop.tsx
|
|
179
|
+
*/
|
|
181
180
|
throw new ReanimatedError('Cannot find host instance for this component. Maybe it renders nothing?');
|
|
182
181
|
}
|
|
183
182
|
const viewInfo = getViewInfo(hostInstance);
|
|
184
183
|
viewTag = viewInfo.viewTag;
|
|
185
184
|
viewName = viewInfo.viewName;
|
|
186
185
|
viewConfig = viewInfo.viewConfig;
|
|
187
|
-
shadowNodeWrapper = isFabric() ? getShadowNodeWrapperFromRef(this) : null;
|
|
186
|
+
shadowNodeWrapper = isFabric() ? getShadowNodeWrapperFromRef(this, hostInstance) : null;
|
|
188
187
|
}
|
|
189
188
|
this._viewInfo = {
|
|
190
189
|
viewTag,
|
|
@@ -212,7 +211,6 @@ export function createAnimatedComponent(Component, options) {
|
|
|
212
211
|
if (hasReanimated2Props && viewConfig) {
|
|
213
212
|
adaptViewConfig(viewConfig);
|
|
214
213
|
}
|
|
215
|
-
this._componentViewTag = viewTag;
|
|
216
214
|
|
|
217
215
|
// remove old styles
|
|
218
216
|
if (prevStyles) {
|
|
@@ -280,12 +278,12 @@ export function createAnimatedComponent(Component, options) {
|
|
|
280
278
|
this._attachAnimatedStyles();
|
|
281
279
|
this._InlinePropManager.attachInlineProps(this, this._getViewInfo());
|
|
282
280
|
if (IS_WEB && this.props.exiting) {
|
|
283
|
-
saveSnapshot(this.
|
|
281
|
+
saveSnapshot(this._componentRef);
|
|
284
282
|
}
|
|
285
283
|
|
|
286
284
|
// Snapshot won't be undefined because it comes from getSnapshotBeforeUpdate method
|
|
287
285
|
if (IS_WEB && snapshot !== null && this.props.layout && !getReducedMotionFromConfig(this.props.layout)) {
|
|
288
|
-
tryActivateLayoutTransition(this.props, this.
|
|
286
|
+
tryActivateLayoutTransition(this.props, this._componentRef, snapshot);
|
|
289
287
|
}
|
|
290
288
|
}
|
|
291
289
|
_configureLayoutTransition() {
|
|
@@ -293,7 +291,7 @@ export function createAnimatedComponent(Component, options) {
|
|
|
293
291
|
return;
|
|
294
292
|
}
|
|
295
293
|
const layout = this.props.layout ? maybeBuild(this.props.layout, undefined /* We don't have to warn user if style has common properties with animation for LAYOUT */, AnimatedComponent.displayName) : undefined;
|
|
296
|
-
updateLayoutAnimations(this.
|
|
294
|
+
updateLayoutAnimations(this.getComponentViewTag(), LayoutAnimationType.LAYOUT, layout);
|
|
297
295
|
}
|
|
298
296
|
_configureSharedTransition(isUnmounting = false) {
|
|
299
297
|
if (IS_WEB) {
|
|
@@ -303,33 +301,43 @@ export function createAnimatedComponent(Component, options) {
|
|
|
303
301
|
sharedTransitionTag
|
|
304
302
|
} = this.props;
|
|
305
303
|
if (!sharedTransitionTag) {
|
|
306
|
-
this._sharedElementTransition?.unregisterTransition(this.
|
|
304
|
+
this._sharedElementTransition?.unregisterTransition(this.getComponentViewTag(), isUnmounting);
|
|
307
305
|
this._sharedElementTransition = null;
|
|
308
306
|
return;
|
|
309
307
|
}
|
|
310
308
|
const sharedElementTransition = this.props.sharedTransitionStyle ?? this._sharedElementTransition ?? new SharedTransition();
|
|
311
|
-
sharedElementTransition.registerTransition(this.
|
|
309
|
+
sharedElementTransition.registerTransition(this.getComponentViewTag(), sharedTransitionTag, isUnmounting);
|
|
312
310
|
this._sharedElementTransition = sharedElementTransition;
|
|
313
311
|
}
|
|
312
|
+
_resolveComponentRef = ref => {
|
|
313
|
+
const componentRef = ref;
|
|
314
|
+
// Component can specify ref which should be animated when animated version of the component is created.
|
|
315
|
+
// Otherwise, we animate the component itself.
|
|
316
|
+
if (componentRef && componentRef.getAnimatableRef) {
|
|
317
|
+
return componentRef.getAnimatableRef();
|
|
318
|
+
}
|
|
319
|
+
return componentRef;
|
|
320
|
+
};
|
|
314
321
|
_setComponentRef = setAndForwardRef({
|
|
315
322
|
getForwardedRef: () => this.props.forwardedRef,
|
|
316
323
|
setLocalRef: ref => {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
// callback refs are executed twice - when the component mounts with ref,
|
|
322
|
-
// and with null when it unmounts
|
|
323
|
-
if (tag !== null) {
|
|
324
|
-
this._componentViewTag = tag;
|
|
324
|
+
if (!ref) {
|
|
325
|
+
// component has been unmounted
|
|
326
|
+
return;
|
|
325
327
|
}
|
|
328
|
+
if (ref !== this._componentRef) {
|
|
329
|
+
this._componentRef = this._resolveComponentRef(ref);
|
|
330
|
+
// if ref is changed, reset viewInfo
|
|
331
|
+
this._viewInfo = undefined;
|
|
332
|
+
}
|
|
333
|
+
const tag = this.getComponentViewTag();
|
|
326
334
|
const {
|
|
327
335
|
layout,
|
|
328
336
|
entering,
|
|
329
337
|
exiting,
|
|
330
338
|
sharedTransitionTag
|
|
331
339
|
} = this.props;
|
|
332
|
-
if (
|
|
340
|
+
if (layout || entering || exiting || sharedTransitionTag) {
|
|
333
341
|
if (!SHOULD_BE_USE_WEB) {
|
|
334
342
|
enableLayoutAnimations(true, false);
|
|
335
343
|
}
|
|
@@ -347,9 +355,6 @@ export function createAnimatedComponent(Component, options) {
|
|
|
347
355
|
updateLayoutAnimations(tag, LayoutAnimationType.ENTERING, maybeBuild(entering, this.props?.style, AnimatedComponent.displayName));
|
|
348
356
|
}
|
|
349
357
|
}
|
|
350
|
-
if (ref !== this._component) {
|
|
351
|
-
this._component = ref;
|
|
352
|
-
}
|
|
353
358
|
}
|
|
354
359
|
});
|
|
355
360
|
|
|
@@ -357,8 +362,8 @@ export function createAnimatedComponent(Component, options) {
|
|
|
357
362
|
// It is called before the component gets rerendered. This way we can access components' position before it changed
|
|
358
363
|
// and later on, in componentDidUpdate, calculate translation for layout transition.
|
|
359
364
|
getSnapshotBeforeUpdate() {
|
|
360
|
-
if (IS_WEB && this.
|
|
361
|
-
return this.
|
|
365
|
+
if (IS_WEB && this._componentRef?.getBoundingClientRect !== undefined) {
|
|
366
|
+
return this._componentRef.getBoundingClientRect();
|
|
362
367
|
}
|
|
363
368
|
return null;
|
|
364
369
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","React","Platform","findNodeHandle","invariant","adaptViewConfig","RNRenderer","enableLayoutAnimations","SharedTransition","LayoutAnimationType","getShadowNodeWrapperFromRef","removeFromPropsRegistry","getReduceMotionFromConfig","maybeBuild","SkipEnteringContext","JSPropsUpdater","flattenArray","setAndForwardRef","isFabric","isJest","isWeb","shouldBeUseWeb","InlinePropManager","PropsFilter","startWebLayoutAnimation","tryActivateLayoutTransition","configureWebLayoutAnimations","getReducedMotionFromConfig","saveSnapshot","updateLayoutAnimations","addHTMLMutationObserver","getViewInfo","NativeEventsManager","ReanimatedError","IS_WEB","IS_JEST","SHOULD_BE_USE_WEB","onlyAnimatedStyles","styles","filter","style","viewDescriptors","id","createAnimatedComponent","Component","options","prototype","isReactComponent","name","AnimatedComponent","_styles","_componentViewTag","_isFirstRender","jestAnimatedStyle","value","_component","_sharedElementTransition","_jsPropsUpdater","_InlinePropManager","_PropsFilter","contextType","reanimatedID","constructor","props","entering","ENTERING","displayName","componentDidMount","_getComponentViewTag","_NativeEventsManager","attachEvents","addOnJSPropsChangeListener","_attachAnimatedStyles","attachInlineProps","_getViewInfo","layout","_configureLayoutTransition","exiting","skipEntering","context","current","visibility","componentWillUnmount","detachEvents","removeOnJSPropsChangeListener","_detachStyles","detachInlineProps","sharedTransitionTag","_configureSharedTransition","unregisterTransition","EXITING","reduceMotionInExiting","getReduceMotion","viewTag","remove","animatedProps","_updateFromNative","setNativeProps","_viewInfo","undefined","viewName","shadowNodeWrapper","viewConfig","component","getAnimatableRef","hostInstance","findHostInstance_DEPRECATED","viewInfo","prevStyles","prevAnimatedProps","_animatedProps","hasReanimated2Props","hasOneSameStyle","prevStyle","isPresent","some","forEach","add","tag","initial","componentDidUpdate","prevProps","_prevState","snapshot","oldLayout","updateEvents","LAYOUT","isUnmounting","sharedElementTransition","sharedTransitionStyle","registerTransition","_setComponentRef","getForwardedRef","forwardedRef","setLocalRef","ref","getSnapshotBeforeUpdate","getBoundingClientRect","render","filteredProps","filterNonAnimatedProps","platformProps","select","web","default","collapsable","nativeID","jestProps","jestInlineStyle","createElement","forwardRef"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/createAnimatedComponent.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","React","Platform","invariant","adaptViewConfig","findHostInstance","enableLayoutAnimations","SharedTransition","LayoutAnimationType","getShadowNodeWrapperFromRef","removeFromPropsRegistry","getReduceMotionFromConfig","maybeBuild","SkipEnteringContext","JSPropsUpdater","flattenArray","setAndForwardRef","isFabric","isJest","isWeb","shouldBeUseWeb","InlinePropManager","PropsFilter","startWebLayoutAnimation","tryActivateLayoutTransition","configureWebLayoutAnimations","getReducedMotionFromConfig","saveSnapshot","updateLayoutAnimations","addHTMLMutationObserver","getViewInfo","NativeEventsManager","ReanimatedError","IS_WEB","IS_JEST","SHOULD_BE_USE_WEB","onlyAnimatedStyles","styles","filter","style","viewDescriptors","id","createAnimatedComponent","Component","options","prototype","isReactComponent","name","AnimatedComponent","_styles","_isFirstRender","jestAnimatedStyle","value","_componentRef","_sharedElementTransition","_jsPropsUpdater","_InlinePropManager","_PropsFilter","contextType","reanimatedID","constructor","props","entering","ENTERING","displayName","componentDidMount","_NativeEventsManager","attachEvents","addOnJSPropsChangeListener","_attachAnimatedStyles","attachInlineProps","_getViewInfo","layout","_configureLayoutTransition","exiting","skipEntering","context","current","visibility","componentWillUnmount","detachEvents","removeOnJSPropsChangeListener","_detachStyles","detachInlineProps","sharedTransitionTag","_configureSharedTransition","unregisterTransition","getComponentViewTag","EXITING","reduceMotionInExiting","getReduceMotion","viewTag","remove","animatedProps","_updateFromNative","setNativeProps","_viewInfo","undefined","viewName","shadowNodeWrapper","viewConfig","hostInstance","viewInfo","prevStyles","prevAnimatedProps","_animatedProps","hasReanimated2Props","hasOneSameStyle","prevStyle","isPresent","some","forEach","add","tag","initial","componentDidUpdate","prevProps","_prevState","snapshot","oldLayout","updateEvents","LAYOUT","isUnmounting","sharedElementTransition","sharedTransitionStyle","registerTransition","_resolveComponentRef","ref","componentRef","getAnimatableRef","_setComponentRef","getForwardedRef","forwardedRef","setLocalRef","getSnapshotBeforeUpdate","getBoundingClientRect","render","filteredProps","filterNonAnimatedProps","platformProps","select","web","default","collapsable","nativeID","jestProps","jestInlineStyle","createElement","forwardRef"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/createAnimatedComponent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
/* eslint-disable */
|
|
4
|
-
|
|
4
|
+
import { findHostInstance } from './platform-specific/findHostInstance';
|
|
5
5
|
let getInternalInstanceHandleFromPublicInstance;
|
|
6
|
-
export function getShadowNodeWrapperFromRef(ref) {
|
|
7
|
-
// load findHostInstance_DEPRECATED lazily because it may not be available before render
|
|
8
|
-
if (findHostInstance_DEPRECATED === undefined) {
|
|
9
|
-
try {
|
|
10
|
-
findHostInstance_DEPRECATED = require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;
|
|
11
|
-
} catch (e) {
|
|
12
|
-
findHostInstance_DEPRECATED = _ref => null;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
6
|
+
export function getShadowNodeWrapperFromRef(ref, hostInstance) {
|
|
15
7
|
if (getInternalInstanceHandleFromPublicInstance === undefined) {
|
|
16
8
|
try {
|
|
17
9
|
getInternalInstanceHandleFromPublicInstance = require('react-native/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance').getInternalInstanceHandleFromPublicInstance ?? (_ref => _ref._internalInstanceHandle);
|
|
@@ -35,7 +27,8 @@ export function getShadowNodeWrapperFromRef(ref) {
|
|
|
35
27
|
} else if (textInputRef) {
|
|
36
28
|
resolvedRef = textInputRef;
|
|
37
29
|
} else {
|
|
38
|
-
|
|
30
|
+
const instance = hostInstance ?? findHostInstance(ref);
|
|
31
|
+
resolvedRef = getInternalInstanceHandleFromPublicInstance(instance).stateNode.node;
|
|
39
32
|
}
|
|
40
33
|
return resolvedRef;
|
|
41
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["findHostInstance","getInternalInstanceHandleFromPublicInstance","getShadowNodeWrapperFromRef","ref","hostInstance","undefined","require","_ref","_internalInstanceHandle","e","scrollViewRef","getScrollResponder","getNativeScrollRef","otherScrollViewRef","textInputRef","__internalInstanceHandle","stateNode","node","resolvedRef","instance"],"sourceRoot":"../../src","sources":["fabricUtils.ts"],"mappings":"AAAA,YAAY;;AACZ;AAGA,SACEA,gBAAgB,QAEX,sCAAsC;AAE7C,IAAIC,2CAEH;AAED,OAAO,SAASC,2BAA2BA,CACzCC,GAAoB,EACpBC,YAA2B,EACR;EACnB,IAAIH,2CAA2C,KAAKI,SAAS,EAAE;IAC7D,IAAI;MACFJ,2CAA2C,GACzCK,OAAO,CAAC,wFAAwF,CAAC,CAC9FL,2CAA2C,KAC5CM,IAAS,IAAKA,IAAI,CAACC,uBAAuB,CAAC;IACjD,CAAC,CAAC,OAAOC,CAAC,EAAE;MACVR,2CAA2C,GAAIM,IAAS,IACtDA,IAAI,CAACC,uBAAuB;IAChC;EACF;;EAEA;EACA;EACA,MAAME,aAAa,GAAGP,GAAG,EAAEQ,kBAAkB,GAAG,CAAC,EAAEC,kBAAkB,GAAG,CAAC;EACzE;EACA,MAAMC,kBAAkB,GAAGV,GAAG,EAAES,kBAAkB,GAAG,CAAC;EACtD;EACA,MAAME,YAAY,GAAGX,GAAG,EAAEY,wBAAwB,EAAEC,SAAS,EAAEC,IAAI;EAEnE,IAAIC,WAAW;EACf,IAAIR,aAAa,EAAE;IACjBQ,WAAW,GAAGR,aAAa,CAACK,wBAAwB,CAACC,SAAS,CAACC,IAAI;EACrE,CAAC,MAAM,IAAIJ,kBAAkB,EAAE;IAC7BK,WAAW,GAAGL,kBAAkB,CAACE,wBAAwB,CAACC,SAAS,CAACC,IAAI;EAC1E,CAAC,MAAM,IAAIH,YAAY,EAAE;IACvBI,WAAW,GAAGJ,YAAY;EAC5B,CAAC,MAAM;IACL,MAAMK,QAAQ,GAAGf,YAAY,IAAIJ,gBAAgB,CAACG,GAAG,CAAC;IACtDe,WAAW,GACTjB,2CAA2C,CAACkB,QAAQ,CAAC,CAACH,SAAS,CAACC,IAAI;EACxE;EAEA,OAAOC,WAAW;AACpB","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* eslint-disable camelcase */
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
import { ReanimatedError } from "../errors.js";
|
|
5
|
+
import { isFabric } from "../PlatformChecker.js";
|
|
6
|
+
function findHostInstanceFastPath(maybeNativeRef) {
|
|
7
|
+
if (maybeNativeRef.__internalInstanceHandle && maybeNativeRef.__nativeTag && maybeNativeRef._viewConfig) {
|
|
8
|
+
// This is a native ref to a Fabric component
|
|
9
|
+
return maybeNativeRef;
|
|
10
|
+
}
|
|
11
|
+
if (maybeNativeRef._nativeTag && maybeNativeRef.viewConfig) {
|
|
12
|
+
// This is a native ref to a Paper component
|
|
13
|
+
return maybeNativeRef;
|
|
14
|
+
}
|
|
15
|
+
// That means it’s a ref to a non-native component, and it’s necessary
|
|
16
|
+
// to call `findHostInstance_DEPRECATED` on them.
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
function resolveFindHostInstance_DEPRECATED() {
|
|
20
|
+
if (findHostInstance_DEPRECATED !== undefined) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (isFabric()) {
|
|
24
|
+
try {
|
|
25
|
+
findHostInstance_DEPRECATED = require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;
|
|
26
|
+
} catch (e) {
|
|
27
|
+
throw new ReanimatedError('Failed to resolve findHostInstance_DEPRECATED');
|
|
28
|
+
}
|
|
29
|
+
} else {
|
|
30
|
+
findHostInstance_DEPRECATED = require('react-native/Libraries/Renderer/shims/ReactNative').findHostInstance_DEPRECATED;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
let findHostInstance_DEPRECATED;
|
|
34
|
+
export function findHostInstance(component) {
|
|
35
|
+
// Fast path for native refs
|
|
36
|
+
const hostInstance = findHostInstanceFastPath(component._componentRef);
|
|
37
|
+
if (hostInstance !== undefined) {
|
|
38
|
+
return hostInstance;
|
|
39
|
+
}
|
|
40
|
+
resolveFindHostInstance_DEPRECATED();
|
|
41
|
+
// Fabric implementation of findHostInstance_DEPRECATED doesn't accept a ref as an argument
|
|
42
|
+
return findHostInstance_DEPRECATED(isFabric() ? component : component._componentRef);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=findHostInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ReanimatedError","isFabric","findHostInstanceFastPath","maybeNativeRef","__internalInstanceHandle","__nativeTag","_viewConfig","_nativeTag","viewConfig","undefined","resolveFindHostInstance_DEPRECATED","findHostInstance_DEPRECATED","require","e","findHostInstance","component","hostInstance","_componentRef"],"sourceRoot":"../../../src","sources":["platform-specific/findHostInstance.ts"],"mappings":"AAAA;AACA,YAAY;;AAGZ,SAASA,eAAe,QAAQ,cAAW;AAC3C,SAASC,QAAQ,QAAQ,uBAAoB;AAe7C,SAASC,wBAAwBA,CAACC,cAA4B,EAAE;EAC9D,IACEA,cAAc,CAACC,wBAAwB,IACvCD,cAAc,CAACE,WAAW,IAC1BF,cAAc,CAACG,WAAW,EAC1B;IACA;IACA,OAAOH,cAAc;EACvB;EACA,IAAIA,cAAc,CAACI,UAAU,IAAIJ,cAAc,CAACK,UAAU,EAAE;IAC1D;IACA,OAAOL,cAAc;EACvB;EACA;EACA;EACA,OAAOM,SAAS;AAClB;AAEA,SAASC,kCAAkCA,CAAA,EAAG;EAC5C,IAAIC,2BAA2B,KAAKF,SAAS,EAAE;IAC7C;EACF;EACA,IAAIR,QAAQ,CAAC,CAAC,EAAE;IACd,IAAI;MACFU,2BAA2B,GACzBC,OAAO,CAAC,mDAAmD,CAAC,CAACD,2BAA2B;IAC5F,CAAC,CAAC,OAAOE,CAAC,EAAE;MACV,MAAM,IAAIb,eAAe,CACvB,+CACF,CAAC;IACH;EACF,CAAC,MAAM;IACLW,2BAA2B,GACzBC,OAAO,CAAC,mDAAmD,CAAC,CAACD,2BAA2B;EAC5F;AACF;AAEA,IAAIA,2BAA2D;AAC/D,OAAO,SAASG,gBAAgBA,CAC9BC,SAAuD,EACzC;EACd;EACA,MAAMC,YAAY,GAAGd,wBAAwB,CAC1Ca,SAAS,CAAgCE,aAC5C,CAAC;EACD,IAAID,YAAY,KAAKP,SAAS,EAAE;IAC9B,OAAOO,YAAY;EACrB;EAEAN,kCAAkC,CAAC,CAAC;EACpC;EACA,OAAOC,2BAA2B,CAChCV,QAAQ,CAAC,CAAC,GACNc,SAAS,GACRA,SAAS,CAAgCE,aAChD,CAAC;AACH","ignoreList":[]}
|