react-native 0.84.0-nightly-20251216-c16eb23a1 → 0.84.0-nightly-20251218-c7f433a41
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/Libraries/Animated/nodes/AnimatedObject.js +9 -4
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Settings/RCTSettingsManager.mm +1 -1
- package/Libraries/TypeSafety/RCTTypedModuleConstants.h +36 -1
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +1 -1
- package/React/CoreModules/RCTAppState.mm +1 -1
- package/React/CoreModules/RCTStatusBarManager.mm +1 -1
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +52 -16
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +2 -17
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +11 -4
- package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +1 -0
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +22 -0
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +38 -0
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +15 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +2 -2
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -4
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +24 -3
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +76 -13
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +74 -64
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +17 -13
- package/ReactCommon/react/networking/NetworkReporter.cpp +7 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +113 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +64 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +29 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +35 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +2 -1
- package/package.json +8 -8
- package/scripts/cocoapods/new_architecture.rb +5 -1
- package/scripts/react_native_pods.rb +8 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +2 -2
|
@@ -17,6 +17,8 @@ enum PropName {
|
|
|
17
17
|
WIDTH,
|
|
18
18
|
HEIGHT,
|
|
19
19
|
BORDER_RADII,
|
|
20
|
+
BORDER_WIDTH,
|
|
21
|
+
BORDER_COLOR,
|
|
20
22
|
MARGIN,
|
|
21
23
|
PADDING,
|
|
22
24
|
POSITION,
|
|
@@ -26,7 +28,12 @@ enum PropName {
|
|
|
26
28
|
SHADOW_COLOR,
|
|
27
29
|
SHADOW_OFFSET,
|
|
28
30
|
SHADOW_OPACITY,
|
|
29
|
-
SHADOW_RADIUS
|
|
31
|
+
SHADOW_RADIUS,
|
|
32
|
+
FILTER,
|
|
33
|
+
OUTLINE_COLOR,
|
|
34
|
+
OUTLINE_OFFSET,
|
|
35
|
+
OUTLINE_STYLE,
|
|
36
|
+
OUTLINE_WIDTH
|
|
30
37
|
};
|
|
31
38
|
|
|
32
39
|
struct AnimatedPropBase {
|
|
@@ -78,6 +85,42 @@ inline void cloneProp(BaseViewProps &viewProps, const AnimatedPropBase &animated
|
|
|
78
85
|
viewProps.borderRadii = get<CascadedBorderRadii>(animatedProp);
|
|
79
86
|
break;
|
|
80
87
|
|
|
88
|
+
case BORDER_WIDTH: {
|
|
89
|
+
const auto &borderWidths = get<CascadedRectangleEdges<yoga::StyleLength>>(animatedProp);
|
|
90
|
+
if (borderWidths.left.has_value()) {
|
|
91
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Left, borderWidths.left.value());
|
|
92
|
+
}
|
|
93
|
+
if (borderWidths.top.has_value()) {
|
|
94
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Top, borderWidths.top.value());
|
|
95
|
+
}
|
|
96
|
+
if (borderWidths.right.has_value()) {
|
|
97
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Right, borderWidths.right.value());
|
|
98
|
+
}
|
|
99
|
+
if (borderWidths.bottom.has_value()) {
|
|
100
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Bottom, borderWidths.bottom.value());
|
|
101
|
+
}
|
|
102
|
+
if (borderWidths.start.has_value()) {
|
|
103
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Start, borderWidths.start.value());
|
|
104
|
+
}
|
|
105
|
+
if (borderWidths.end.has_value()) {
|
|
106
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::End, borderWidths.end.value());
|
|
107
|
+
}
|
|
108
|
+
if (borderWidths.horizontal.has_value()) {
|
|
109
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Horizontal, borderWidths.horizontal.value());
|
|
110
|
+
}
|
|
111
|
+
if (borderWidths.vertical.has_value()) {
|
|
112
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Vertical, borderWidths.vertical.value());
|
|
113
|
+
}
|
|
114
|
+
if (borderWidths.all.has_value()) {
|
|
115
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::All, borderWidths.all.value());
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
case BORDER_COLOR:
|
|
121
|
+
viewProps.borderColors = get<CascadedBorderColors>(animatedProp);
|
|
122
|
+
break;
|
|
123
|
+
|
|
81
124
|
case MARGIN: {
|
|
82
125
|
const auto &margins = get<CascadedRectangleEdges<yoga::StyleLength>>(animatedProp);
|
|
83
126
|
if (margins.left.has_value()) {
|
|
@@ -202,6 +245,26 @@ inline void cloneProp(BaseViewProps &viewProps, const AnimatedPropBase &animated
|
|
|
202
245
|
viewProps.shadowRadius = get<Float>(animatedProp);
|
|
203
246
|
break;
|
|
204
247
|
|
|
248
|
+
case FILTER:
|
|
249
|
+
viewProps.filter = get<std::vector<FilterFunction>>(animatedProp);
|
|
250
|
+
break;
|
|
251
|
+
|
|
252
|
+
case OUTLINE_COLOR:
|
|
253
|
+
viewProps.outlineColor = get<SharedColor>(animatedProp);
|
|
254
|
+
break;
|
|
255
|
+
|
|
256
|
+
case OUTLINE_OFFSET:
|
|
257
|
+
viewProps.outlineOffset = get<Float>(animatedProp);
|
|
258
|
+
break;
|
|
259
|
+
|
|
260
|
+
case OUTLINE_STYLE:
|
|
261
|
+
viewProps.outlineStyle = get<OutlineStyle>(animatedProp);
|
|
262
|
+
break;
|
|
263
|
+
|
|
264
|
+
case OUTLINE_WIDTH:
|
|
265
|
+
viewProps.outlineWidth = get<Float>(animatedProp);
|
|
266
|
+
break;
|
|
267
|
+
|
|
205
268
|
default:
|
|
206
269
|
break;
|
|
207
270
|
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
9
9
|
#include <react/renderer/components/view/BaseViewProps.h>
|
|
10
|
+
#include <react/renderer/graphics/Filter.h>
|
|
10
11
|
#include "AnimatedProps.h"
|
|
11
12
|
|
|
12
13
|
namespace facebook::react {
|
|
@@ -31,6 +32,14 @@ struct AnimatedPropsBuilder {
|
|
|
31
32
|
{
|
|
32
33
|
props.push_back(std::make_unique<AnimatedProp<CascadedBorderRadii>>(BORDER_RADII, value));
|
|
33
34
|
}
|
|
35
|
+
void setBorderWidth(CascadedRectangleEdges<yoga::StyleLength> &value)
|
|
36
|
+
{
|
|
37
|
+
props.push_back(std::make_unique<AnimatedProp<CascadedRectangleEdges<yoga::StyleLength>>>(BORDER_WIDTH, value));
|
|
38
|
+
}
|
|
39
|
+
void setBorderColor(CascadedBorderColors &value)
|
|
40
|
+
{
|
|
41
|
+
props.push_back(std::make_unique<AnimatedProp<CascadedBorderColors>>(BORDER_COLOR, value));
|
|
42
|
+
}
|
|
34
43
|
void setMargin(CascadedRectangleEdges<yoga::StyleLength> &value)
|
|
35
44
|
{
|
|
36
45
|
props.push_back(std::make_unique<AnimatedProp<CascadedRectangleEdges<yoga::StyleLength>>>(MARGIN, value));
|
|
@@ -67,6 +76,26 @@ struct AnimatedPropsBuilder {
|
|
|
67
76
|
{
|
|
68
77
|
props.push_back(std::make_unique<AnimatedProp<Size>>(SHADOW_OFFSET, value));
|
|
69
78
|
}
|
|
79
|
+
void setFilter(const std::vector<FilterFunction> &value)
|
|
80
|
+
{
|
|
81
|
+
props.push_back(std::make_unique<AnimatedProp<std::vector<FilterFunction>>>(FILTER, std::move(value)));
|
|
82
|
+
}
|
|
83
|
+
void setOutlineColor(SharedColor value)
|
|
84
|
+
{
|
|
85
|
+
props.push_back(std::make_unique<AnimatedProp<SharedColor>>(OUTLINE_COLOR, value));
|
|
86
|
+
}
|
|
87
|
+
void setOutlineOffset(Float value)
|
|
88
|
+
{
|
|
89
|
+
props.push_back(std::make_unique<AnimatedProp<Float>>(OUTLINE_OFFSET, value));
|
|
90
|
+
}
|
|
91
|
+
void setOutlineStyle(OutlineStyle value)
|
|
92
|
+
{
|
|
93
|
+
props.push_back(std::make_unique<AnimatedProp<OutlineStyle>>(OUTLINE_STYLE, value));
|
|
94
|
+
}
|
|
95
|
+
void setOutlineWidth(Float value)
|
|
96
|
+
{
|
|
97
|
+
props.push_back(std::make_unique<AnimatedProp<Float>>(OUTLINE_WIDTH, value));
|
|
98
|
+
}
|
|
70
99
|
void storeDynamic(folly::dynamic &d)
|
|
71
100
|
{
|
|
72
101
|
rawProps = std::make_unique<RawProps>(std::move(d));
|
|
@@ -127,6 +127,41 @@ inline void updateProp(const PropName propName, BaseViewProps &viewProps, const
|
|
|
127
127
|
yoga::Edge::Horizontal, snapshot.props.yogaStyle.position(yoga::Edge::Horizontal));
|
|
128
128
|
viewProps.yogaStyle.setPosition(yoga::Edge::Vertical, snapshot.props.yogaStyle.position(yoga::Edge::Vertical));
|
|
129
129
|
break;
|
|
130
|
+
|
|
131
|
+
case BORDER_WIDTH:
|
|
132
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Left, snapshot.props.yogaStyle.border(yoga::Edge::Left));
|
|
133
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Right, snapshot.props.yogaStyle.border(yoga::Edge::Right));
|
|
134
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Top, snapshot.props.yogaStyle.border(yoga::Edge::Top));
|
|
135
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Bottom, snapshot.props.yogaStyle.border(yoga::Edge::Bottom));
|
|
136
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Start, snapshot.props.yogaStyle.border(yoga::Edge::Start));
|
|
137
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::End, snapshot.props.yogaStyle.border(yoga::Edge::End));
|
|
138
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Horizontal, snapshot.props.yogaStyle.border(yoga::Edge::Horizontal));
|
|
139
|
+
viewProps.yogaStyle.setBorder(yoga::Edge::Vertical, snapshot.props.yogaStyle.border(yoga::Edge::Vertical));
|
|
140
|
+
break;
|
|
141
|
+
|
|
142
|
+
case BORDER_COLOR:
|
|
143
|
+
viewProps.borderColors = snapshot.props.borderColors;
|
|
144
|
+
break;
|
|
145
|
+
|
|
146
|
+
case FILTER:
|
|
147
|
+
viewProps.filter = snapshot.props.filter;
|
|
148
|
+
break;
|
|
149
|
+
|
|
150
|
+
case OUTLINE_COLOR:
|
|
151
|
+
viewProps.outlineColor = snapshot.props.outlineColor;
|
|
152
|
+
break;
|
|
153
|
+
|
|
154
|
+
case OUTLINE_OFFSET:
|
|
155
|
+
viewProps.outlineOffset = snapshot.props.outlineOffset;
|
|
156
|
+
break;
|
|
157
|
+
|
|
158
|
+
case OUTLINE_STYLE:
|
|
159
|
+
viewProps.outlineStyle = snapshot.props.outlineStyle;
|
|
160
|
+
break;
|
|
161
|
+
|
|
162
|
+
case OUTLINE_WIDTH:
|
|
163
|
+
viewProps.outlineWidth = snapshot.props.outlineWidth;
|
|
164
|
+
break;
|
|
130
165
|
}
|
|
131
166
|
}
|
|
132
167
|
|
|
@@ -56,7 +56,8 @@ static inline bool mutationHasLayoutUpdates(
|
|
|
56
56
|
if (animatedProp->propName == WIDTH || animatedProp->propName == HEIGHT ||
|
|
57
57
|
animatedProp->propName == FLEX || animatedProp->propName == MARGIN ||
|
|
58
58
|
animatedProp->propName == PADDING ||
|
|
59
|
-
animatedProp->propName == POSITION
|
|
59
|
+
animatedProp->propName == POSITION ||
|
|
60
|
+
animatedProp->propName == BORDER_WIDTH) {
|
|
60
61
|
return true;
|
|
61
62
|
}
|
|
62
63
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.84.0-nightly-
|
|
3
|
+
"version": "0.84.0-nightly-20251218-c7f433a41",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -160,13 +160,13 @@
|
|
|
160
160
|
},
|
|
161
161
|
"dependencies": {
|
|
162
162
|
"@jest/create-cache-key-function": "^29.7.0",
|
|
163
|
-
"@react-native/assets-registry": "0.84.0-nightly-
|
|
164
|
-
"@react-native/codegen": "0.84.0-nightly-
|
|
165
|
-
"@react-native/community-cli-plugin": "0.84.0-nightly-
|
|
166
|
-
"@react-native/gradle-plugin": "0.84.0-nightly-
|
|
167
|
-
"@react-native/js-polyfills": "0.84.0-nightly-
|
|
168
|
-
"@react-native/normalize-colors": "0.84.0-nightly-
|
|
169
|
-
"@react-native/virtualized-lists": "0.84.0-nightly-
|
|
163
|
+
"@react-native/assets-registry": "0.84.0-nightly-20251218-c7f433a41",
|
|
164
|
+
"@react-native/codegen": "0.84.0-nightly-20251218-c7f433a41",
|
|
165
|
+
"@react-native/community-cli-plugin": "0.84.0-nightly-20251218-c7f433a41",
|
|
166
|
+
"@react-native/gradle-plugin": "0.84.0-nightly-20251218-c7f433a41",
|
|
167
|
+
"@react-native/js-polyfills": "0.84.0-nightly-20251218-c7f433a41",
|
|
168
|
+
"@react-native/normalize-colors": "0.84.0-nightly-20251218-c7f433a41",
|
|
169
|
+
"@react-native/virtualized-lists": "0.84.0-nightly-20251218-c7f433a41",
|
|
170
170
|
"abort-controller": "^3.0.0",
|
|
171
171
|
"anser": "^1.4.9",
|
|
172
172
|
"ansi-regex": "^5.0.0",
|
|
@@ -135,9 +135,13 @@ class NewArchitectureHelper
|
|
|
135
135
|
|
|
136
136
|
depend_on_js_engine(spec)
|
|
137
137
|
add_rn_third_party_dependencies(spec)
|
|
138
|
-
add_rncore_dependency(spec)
|
|
139
138
|
|
|
140
139
|
spec.pod_target_xcconfig = current_config
|
|
140
|
+
|
|
141
|
+
# add_rncore_dependency must be called after setting pod_target_xcconfig
|
|
142
|
+
# because it reads and modifies the xcconfig. If called before, its changes
|
|
143
|
+
# would be overwritten by the assignment above.
|
|
144
|
+
add_rncore_dependency(spec)
|
|
141
145
|
end
|
|
142
146
|
|
|
143
147
|
def self.extract_react_native_version(react_native_path, file_manager: File, json_parser: JSON)
|
|
@@ -84,6 +84,14 @@ def use_react_native! (
|
|
|
84
84
|
# This is needed as part of our migration away from cocoapods
|
|
85
85
|
ENV['RCT_SKIP_CODEGEN'] = ENV['RCT_SKIP_CODEGEN'] == '1' || ENV['RCT_IGNORE_PODS_DEPRECATION'] == '1' ? '1' : '0'
|
|
86
86
|
|
|
87
|
+
# Use the React Native precompiled binaries by default.
|
|
88
|
+
# Users can still turn them off and build from source by setting the environment variable to 0.
|
|
89
|
+
ENV['RCT_USE_RN_DEP'] = ENV['RCT_USE_RN_DEP'] == '0' ? '0' : '1'
|
|
90
|
+
ENV['RCT_USE_PREBUILT_RNCORE'] = ENV['RCT_USE_PREBUILT_RNCORE'] == '0' ? '0' : '1'
|
|
91
|
+
# Make `REMOVE_LEGACY_ARCH` enabled by default. This will build React Native
|
|
92
|
+
# excluding the legacy arch unless the user turns this flag off explicitly.
|
|
93
|
+
ENV['RCT_REMOVE_LEGACY_ARCH'] = ENV['RCT_REMOVE_LEGACY_ARCH'] == '0' ? '0' : '1'
|
|
94
|
+
|
|
87
95
|
ReactNativePodsUtils.check_minimum_required_xcode()
|
|
88
96
|
|
|
89
97
|
# Current target definition is provided by Cocoapods and it refers to the target
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<6b37c02e334fb00f22ce27bb787104cc>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -558,7 +558,7 @@ export const useRawPropsJsiValue: Getter<boolean> = createNativeFlagGetter('useR
|
|
|
558
558
|
/**
|
|
559
559
|
* Use the state stored on the source shadow node when cloning it instead of reading in the most recent state on the shadow node family.
|
|
560
560
|
*/
|
|
561
|
-
export const useShadowNodeStateOnClone: Getter<boolean> = createNativeFlagGetter('useShadowNodeStateOnClone',
|
|
561
|
+
export const useShadowNodeStateOnClone: Getter<boolean> = createNativeFlagGetter('useShadowNodeStateOnClone', true);
|
|
562
562
|
/**
|
|
563
563
|
* Use shared animation backend in C++ Animated
|
|
564
564
|
*/
|