react-native 0.82.0-nightly-20250812-677ee671d → 0.82.0-nightly-20250813-9f77d421b

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.
Files changed (29) hide show
  1. package/Libraries/Animated/animations/Animation.js +5 -6
  2. package/Libraries/Core/ReactNativeVersion.js +1 -1
  3. package/React/Base/RCTVersion.m +1 -1
  4. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +1 -0
  5. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +14 -4
  6. package/ReactAndroid/gradle.properties +1 -1
  7. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  8. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.kt +35 -0
  9. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.kt +27 -0
  10. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.kt +19 -0
  11. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.kt +29 -0
  12. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.kt +14 -0
  13. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.kt +51 -0
  14. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.kt +18 -0
  15. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  16. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +4 -1
  17. package/package.json +8 -8
  18. package/scripts/codegen/generate-artifacts-executor/utils.js +20 -0
  19. package/sdks/hermesc/osx-bin/hermes +0 -0
  20. package/sdks/hermesc/osx-bin/hermesc +0 -0
  21. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  22. package/src/private/animated/createAnimatedPropsHook.js +5 -7
  23. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.java +0 -43
  24. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.java +0 -35
  25. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.java +0 -20
  26. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.java +0 -32
  27. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.java +0 -18
  28. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.java +0 -51
  29. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.java +0 -18
@@ -150,12 +150,11 @@ export default class Animation {
150
150
  if (value != null) {
151
151
  animatedValue.__onAnimatedValueUpdateReceived(value, offset);
152
152
 
153
- if (
154
- !(
155
- ReactNativeFeatureFlags.cxxNativeAnimatedEnabled() &&
156
- ReactNativeFeatureFlags.cxxNativeAnimatedRemoveJsSync()
157
- )
158
- ) {
153
+ const isJsSyncRemoved =
154
+ ReactNativeFeatureFlags.cxxNativeAnimatedEnabled() &&
155
+ !ReactNativeFeatureFlags.disableFabricCommitInCXXAnimated() &&
156
+ ReactNativeFeatureFlags.cxxNativeAnimatedRemoveJsSync();
157
+ if (!isJsSyncRemoved) {
159
158
  if (this.__isLooping === true) {
160
159
  return;
161
160
  }
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
29
29
  static major: number = 0;
30
30
  static minor: number = 82;
31
31
  static patch: number = 0;
32
- static prerelease: string | null = 'nightly-20250812-677ee671d';
32
+ static prerelease: string | null = 'nightly-20250813-9f77d421b';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(82),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"nightly-20250812-677ee671d",
27
+ RCTVersionPrerelease: @"nightly-20250813-9f77d421b",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -40,6 +40,7 @@ using namespace facebook::react;
40
40
  // attaching and detaching of a pull-to-refresh view to a scroll view.
41
41
  // The pull-to-refresh view is not a subview of this view.
42
42
  self.hidden = YES;
43
+ _props = PullToRefreshViewShadowNode::defaultSharedProps();
43
44
  _recycled = NO;
44
45
  [self _initializeUIRefreshControl];
45
46
  }
@@ -119,6 +119,10 @@ RCTSendScrollEventForNativeAnimations_DEPRECATED(UIScrollView *scrollView, NSInt
119
119
  // Once an accessibility API is used, view culling will be disabled for the entire session.
120
120
  BOOL _isAccessibilityAPIUsed;
121
121
 
122
+ // Flag to temporarily disable maintainVisibleContentPosition adjustments during immediate state updates
123
+ // to prevent conflicts between immediate content offset updates and visible content position logic
124
+ BOOL _avoidAdjustmentForMaintainVisibleContentPosition;
125
+
122
126
  RCTVirtualViewContainerState *_virtualViewContainerState;
123
127
  }
124
128
 
@@ -640,6 +644,11 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
640
644
  return;
641
645
  }
642
646
 
647
+ BOOL enableImmediateUpdateModeForContentOffsetChanges =
648
+ ReactNativeFeatureFlags::enableImmediateUpdateModeForContentOffsetChanges();
649
+
650
+ _avoidAdjustmentForMaintainVisibleContentPosition = enableImmediateUpdateModeForContentOffsetChanges;
651
+
643
652
  auto contentOffset = RCTPointFromCGPoint(_scrollView.contentOffset);
644
653
  BOOL isAccessibilityAPIUsed = _isAccessibilityAPIUsed;
645
654
  _state->updateState(
@@ -655,9 +664,10 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
655
664
  UIAccessibilityIsVoiceOverRunning() || UIAccessibilityIsSwitchControlRunning() || isAccessibilityAPIUsed;
656
665
  return std::make_shared<const ScrollViewShadowNode::ConcreteState::Data>(newData);
657
666
  },
658
- ReactNativeFeatureFlags::enableImmediateUpdateModeForContentOffsetChanges()
659
- ? EventQueue::UpdateMode::unstable_Immediate
660
- : EventQueue::UpdateMode::Asynchronous);
667
+ enableImmediateUpdateModeForContentOffsetChanges ? EventQueue::UpdateMode::unstable_Immediate
668
+ : EventQueue::UpdateMode::Asynchronous);
669
+
670
+ _avoidAdjustmentForMaintainVisibleContentPosition = NO;
661
671
  }
662
672
 
663
673
  - (void)prepareForRecycle
@@ -1057,7 +1067,7 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
1057
1067
  - (void)_adjustForMaintainVisibleContentPosition
1058
1068
  {
1059
1069
  const auto &props = static_cast<const ScrollViewProps &>(*_props);
1060
- if (!props.maintainVisibleContentPosition) {
1070
+ if (!props.maintainVisibleContentPosition || _avoidAdjustmentForMaintainVisibleContentPosition) {
1061
1071
  return;
1062
1072
  }
1063
1073
 
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.82.0-nightly-20250812-677ee671d
1
+ VERSION_NAME=0.82.0-nightly-20250813-9f77d421b
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
 
4
4
  android.useAndroidX=true
@@ -15,6 +15,6 @@ public object ReactNativeVersion {
15
15
  "major" to 0,
16
16
  "minor" to 82,
17
17
  "patch" to 0,
18
- "prerelease" to "nightly-20250812-677ee671d"
18
+ "prerelease" to "nightly-20250813-9f77d421b"
19
19
  )
20
20
  }
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.yoga
9
+
10
+ public enum class LayoutPassReason(public val intValue: Int) {
11
+ INITIAL(0),
12
+ ABS_LAYOUT(1),
13
+ STRETCH(2),
14
+ MULTILINE_STRETCH(3),
15
+ FLEX_LAYOUT(4),
16
+ MEASURE(5),
17
+ ABS_MEASURE(6),
18
+ FLEX_MEASURE(7);
19
+
20
+ public companion object {
21
+ @JvmStatic
22
+ public fun fromInt(value: Int): LayoutPassReason =
23
+ when (value) {
24
+ 0 -> INITIAL
25
+ 1 -> ABS_LAYOUT
26
+ 2 -> STRETCH
27
+ 3 -> MULTILINE_STRETCH
28
+ 4 -> FLEX_LAYOUT
29
+ 5 -> MEASURE
30
+ 6 -> ABS_MEASURE
31
+ 7 -> FLEX_MEASURE
32
+ else -> throw IllegalArgumentException("Unknown enum value: $value")
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.yoga
9
+
10
+ public enum class YogaLayoutType(public val intValue: Int) {
11
+ LAYOUT(0),
12
+ MEASURE(1),
13
+ CACHED_LAYOUT(2),
14
+ CACHED_MEASURE(3);
15
+
16
+ public companion object {
17
+ @JvmStatic
18
+ public fun fromInt(value: Int): YogaLayoutType =
19
+ when (value) {
20
+ 0 -> LAYOUT
21
+ 1 -> MEASURE
22
+ 2 -> CACHED_LAYOUT
23
+ 3 -> CACHED_MEASURE
24
+ else -> throw IllegalArgumentException("Unknown enum value: $value")
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.yoga
9
+
10
+ public fun interface YogaMeasureFunction {
11
+ /** Return a value created by YogaMeasureOutput.make(width, height); */
12
+ public fun measure(
13
+ node: YogaNode,
14
+ width: Float,
15
+ widthMode: YogaMeasureMode,
16
+ height: Float,
17
+ heightMode: YogaMeasureMode
18
+ ): Long
19
+ }
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.yoga
9
+
10
+ /** Helpers for building measure output value. */
11
+ public object YogaMeasureOutput {
12
+ @JvmStatic
13
+ public fun make(width: Float, height: Float): Long {
14
+ val wBits = java.lang.Float.floatToRawIntBits(width)
15
+ val hBits = java.lang.Float.floatToRawIntBits(height)
16
+ return (wBits.toLong()) shl 32 or (hBits.toLong())
17
+ }
18
+
19
+ @JvmStatic
20
+ public fun make(width: Int, height: Int): Long = make(width.toFloat(), height.toFloat())
21
+
22
+ @JvmStatic
23
+ public fun getWidth(measureOutput: Long): Float =
24
+ java.lang.Float.intBitsToFloat((0xFFFFFFFFL and (measureOutput shr 32)).toInt())
25
+
26
+ @JvmStatic
27
+ public fun getHeight(measureOutput: Long): Float =
28
+ java.lang.Float.intBitsToFloat((0xFFFFFFFFL and measureOutput).toInt())
29
+ }
@@ -0,0 +1,14 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.yoga
9
+
10
+ public object YogaNodeFactory {
11
+ @JvmStatic public fun create(): YogaNode = YogaNodeJNIFinalizer()
12
+
13
+ @JvmStatic public fun create(config: YogaConfig): YogaNode = YogaNodeJNIFinalizer(config)
14
+ }
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.yoga
9
+
10
+ public object YogaStyleInputs {
11
+ public const val LAYOUT_DIRECTION: Short = 0
12
+ public const val FLEX_DIRECTION: Short = 1
13
+ public const val FLEX: Short = 2
14
+ public const val FLEX_GROW: Short = 3
15
+ public const val FLEX_SHRINK: Short = 4
16
+ public const val FLEX_BASIS: Short = 5
17
+ public const val FLEX_BASIS_PERCENT: Short = 6
18
+ public const val FLEX_BASIS_AUTO: Short = 7
19
+ public const val FLEX_WRAP: Short = 8
20
+ public const val WIDTH: Short = 9
21
+ public const val WIDTH_PERCENT: Short = 10
22
+ public const val WIDTH_AUTO: Short = 11
23
+ public const val MIN_WIDTH: Short = 12
24
+ public const val MIN_WIDTH_PERCENT: Short = 13
25
+ public const val MAX_WIDTH: Short = 14
26
+ public const val MAX_WIDTH_PERCENT: Short = 15
27
+ public const val HEIGHT: Short = 16
28
+ public const val HEIGHT_PERCENT: Short = 17
29
+ public const val HEIGHT_AUTO: Short = 18
30
+ public const val MIN_HEIGHT: Short = 19
31
+ public const val MIN_HEIGHT_PERCENT: Short = 20
32
+ public const val MAX_HEIGHT: Short = 21
33
+ public const val MAX_HEIGHT_PERCENT: Short = 22
34
+ public const val JUSTIFY_CONTENT: Short = 23
35
+ public const val ALIGN_ITEMS: Short = 24
36
+ public const val ALIGN_SELF: Short = 25
37
+ public const val ALIGN_CONTENT: Short = 26
38
+ public const val POSITION_TYPE: Short = 27
39
+ public const val ASPECT_RATIO: Short = 28
40
+ public const val OVERFLOW: Short = 29
41
+ public const val DISPLAY: Short = 30
42
+ public const val MARGIN: Short = 31
43
+ public const val MARGIN_PERCENT: Short = 32
44
+ public const val MARGIN_AUTO: Short = 33
45
+ public const val PADDING: Short = 34
46
+ public const val PADDING_PERCENT: Short = 35
47
+ public const val BORDER: Short = 36
48
+ public const val POSITION: Short = 37
49
+ public const val POSITION_PERCENT: Short = 38
50
+ public const val IS_REFERENCE_BASELINE: Short = 39
51
+ }
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.yoga.annotations
9
+
10
+ @Target(
11
+ AnnotationTarget.CLASS,
12
+ AnnotationTarget.FIELD,
13
+ AnnotationTarget.FUNCTION,
14
+ AnnotationTarget.PROPERTY_GETTER,
15
+ AnnotationTarget.PROPERTY_SETTER,
16
+ AnnotationTarget.CONSTRUCTOR)
17
+ @Retention(AnnotationRetention.BINARY)
18
+ public annotation class DoNotStrip
@@ -22,7 +22,7 @@ constexpr struct {
22
22
  int32_t Major = 0;
23
23
  int32_t Minor = 82;
24
24
  int32_t Patch = 0;
25
- std::string_view Prerelease = "nightly-20250812-677ee671d";
25
+ std::string_view Prerelease = "nightly-20250813-9f77d421b";
26
26
  } ReactNativeVersion;
27
27
 
28
28
  } // namespace facebook::react
@@ -34,7 +34,10 @@ bool InspectorFlags::getNetworkInspectionEnabled() const {
34
34
  }
35
35
 
36
36
  bool InspectorFlags::getPerfMonitorV2Enabled() const {
37
- return loadFlagsAndAssertUnchanged().perfMonitorV2Enabled;
37
+ // loadFlagsAndAssertUnchanged().perfMonitorV2Enabled
38
+ // disabling the feature for now while tests are failing
39
+ // instead of reverting the whole feature
40
+ return false;
38
41
  }
39
42
 
40
43
  void InspectorFlags::dangerouslyResetFlags() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.82.0-nightly-20250812-677ee671d",
3
+ "version": "0.82.0-nightly-20250813-9f77d421b",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -162,13 +162,13 @@
162
162
  },
163
163
  "dependencies": {
164
164
  "@jest/create-cache-key-function": "^29.7.0",
165
- "@react-native/assets-registry": "0.82.0-nightly-20250812-677ee671d",
166
- "@react-native/codegen": "0.82.0-nightly-20250812-677ee671d",
167
- "@react-native/community-cli-plugin": "0.82.0-nightly-20250812-677ee671d",
168
- "@react-native/gradle-plugin": "0.82.0-nightly-20250812-677ee671d",
169
- "@react-native/js-polyfills": "0.82.0-nightly-20250812-677ee671d",
170
- "@react-native/normalize-colors": "0.82.0-nightly-20250812-677ee671d",
171
- "@react-native/virtualized-lists": "0.82.0-nightly-20250812-677ee671d",
165
+ "@react-native/assets-registry": "0.82.0-nightly-20250813-9f77d421b",
166
+ "@react-native/codegen": "0.82.0-nightly-20250813-9f77d421b",
167
+ "@react-native/community-cli-plugin": "0.82.0-nightly-20250813-9f77d421b",
168
+ "@react-native/gradle-plugin": "0.82.0-nightly-20250813-9f77d421b",
169
+ "@react-native/js-polyfills": "0.82.0-nightly-20250813-9f77d421b",
170
+ "@react-native/normalize-colors": "0.82.0-nightly-20250813-9f77d421b",
171
+ "@react-native/virtualized-lists": "0.82.0-nightly-20250813-9f77d421b",
172
172
  "abort-controller": "^3.0.0",
173
173
  "anser": "^1.4.9",
174
174
  "ansi-regex": "^5.0.0",
@@ -206,6 +206,26 @@ function findExternalLibraries(
206
206
  } catch (e) {
207
207
  // require.resolve fails if the dependency is a local node module.
208
208
  if (
209
+ // require.resolve fails if the `./package.json` subpath is not explicitly defined in the library's `exports` field in its package.json
210
+ 'code' in e &&
211
+ e.code === 'ERR_PACKAGE_PATH_NOT_EXPORTED'
212
+ ) {
213
+ // find the closest library's package.json with the search paths
214
+ // $FlowFixMe[prop-missing]
215
+ const paths /*: Array<string>*/ = require.main.paths;
216
+ for (const nodeModulesPath of paths) {
217
+ const packageJsonFilePath = path.join(
218
+ nodeModulesPath,
219
+ dependency,
220
+ 'package.json',
221
+ );
222
+ if (fs.existsSync(packageJsonFilePath)) {
223
+ configFilePath = packageJsonFilePath;
224
+ break;
225
+ }
226
+ }
227
+ } else if (
228
+ // require.resolve fails if the dependency is a local node module.
209
229
  dependencies[dependency].startsWith('.') || // handles relative paths
210
230
  dependencies[dependency].startsWith('/') // handles absolute paths
211
231
  ) {
Binary file
Binary file
Binary file
@@ -125,13 +125,11 @@ export default function createAnimatedPropsHook(
125
125
  if (node.__isNative) {
126
126
  // Check 2: this is an animation driven by native.
127
127
  // In native driven animations, this callback is only called once the animation completes.
128
- if (
129
- isFabricNode &&
130
- !(
131
- ReactNativeFeatureFlags.cxxNativeAnimatedEnabled() &&
132
- ReactNativeFeatureFlags.cxxNativeAnimatedRemoveJsSync()
133
- )
134
- ) {
128
+ const shouldRemoveJsSync =
129
+ ReactNativeFeatureFlags.cxxNativeAnimatedEnabled() &&
130
+ !ReactNativeFeatureFlags.disableFabricCommitInCXXAnimated() &&
131
+ ReactNativeFeatureFlags.cxxNativeAnimatedRemoveJsSync();
132
+ if (isFabricNode && !shouldRemoveJsSync) {
135
133
  // Call `scheduleUpdate` to synchronise Fiber and Shadow tree.
136
134
  // Must not be called in Paper.
137
135
  scheduleUpdate();
@@ -1,43 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.yoga;
9
-
10
- public enum LayoutPassReason {
11
- INITIAL(0),
12
- ABS_LAYOUT(1),
13
- STRETCH(2),
14
- MULTILINE_STRETCH(3),
15
- FLEX_LAYOUT(4),
16
- MEASURE(5),
17
- ABS_MEASURE(6),
18
- FLEX_MEASURE(7);
19
-
20
- private final int mIntValue;
21
-
22
- LayoutPassReason(int intValue) {
23
- mIntValue = intValue;
24
- }
25
-
26
- public int intValue() {
27
- return mIntValue;
28
- }
29
-
30
- public static LayoutPassReason fromInt(int value) {
31
- switch (value) {
32
- case 0: return INITIAL;
33
- case 1: return ABS_LAYOUT;
34
- case 2: return STRETCH;
35
- case 3: return MULTILINE_STRETCH;
36
- case 4: return FLEX_LAYOUT;
37
- case 5: return MEASURE;
38
- case 6: return ABS_MEASURE;
39
- case 7: return FLEX_MEASURE;
40
- default: throw new IllegalArgumentException("Unknown enum value: " + value);
41
- }
42
- }
43
- }
@@ -1,35 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.yoga;
9
-
10
- public enum YogaLayoutType {
11
- LAYOUT(0),
12
- MEASURE(1),
13
- CACHED_LAYOUT(2),
14
- CACHED_MEASURE(3);
15
-
16
- private final int mIntValue;
17
-
18
- YogaLayoutType(int intValue) {
19
- mIntValue = intValue;
20
- }
21
-
22
- public int intValue() {
23
- return mIntValue;
24
- }
25
-
26
- public static YogaLayoutType fromInt(int value) {
27
- switch (value) {
28
- case 0: return LAYOUT;
29
- case 1: return MEASURE;
30
- case 2: return CACHED_LAYOUT;
31
- case 3: return CACHED_MEASURE;
32
- default: throw new IllegalArgumentException("Unknown enum value: " + value);
33
- }
34
- }
35
- }
@@ -1,20 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.yoga;
9
-
10
- public interface YogaMeasureFunction {
11
- /**
12
- * Return a value created by YogaMeasureOutput.make(width, height);
13
- */
14
- long measure(
15
- YogaNode node,
16
- float width,
17
- YogaMeasureMode widthMode,
18
- float height,
19
- YogaMeasureMode heightMode);
20
- }
@@ -1,32 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.yoga;
9
-
10
- /**
11
- * Helpers for building measure output value.
12
- */
13
- public class YogaMeasureOutput {
14
-
15
- public static long make(float width, float height) {
16
- final int wBits = Float.floatToRawIntBits(width);
17
- final int hBits = Float.floatToRawIntBits(height);
18
- return ((long) wBits) << 32 | ((long) hBits);
19
- }
20
-
21
- public static long make(int width, int height) {
22
- return make((float) width, (float) height);
23
- }
24
-
25
- public static float getWidth(long measureOutput) {
26
- return Float.intBitsToFloat((int) (0xFFFFFFFF & (measureOutput >> 32)));
27
- }
28
-
29
- public static float getHeight(long measureOutput) {
30
- return Float.intBitsToFloat((int) (0xFFFFFFFF & measureOutput));
31
- }
32
- }
@@ -1,18 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.yoga;
9
-
10
- public abstract class YogaNodeFactory {
11
- public static YogaNode create() {
12
- return new YogaNodeJNIFinalizer();
13
- }
14
-
15
- public static YogaNode create(YogaConfig config) {
16
- return new YogaNodeJNIFinalizer(config);
17
- }
18
- }
@@ -1,51 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.yoga;
9
-
10
- public class YogaStyleInputs {
11
- public static final short LAYOUT_DIRECTION = 0;
12
- public static final short FLEX_DIRECTION = 1;
13
- public static final short FLEX = 2;
14
- public static final short FLEX_GROW = 3;
15
- public static final short FLEX_SHRINK = 4;
16
- public static final short FLEX_BASIS = 5;
17
- public static final short FLEX_BASIS_PERCENT = 6;
18
- public static final short FLEX_BASIS_AUTO = 7;
19
- public static final short FLEX_WRAP = 8;
20
- public static final short WIDTH = 9;
21
- public static final short WIDTH_PERCENT = 10;
22
- public static final short WIDTH_AUTO = 11;
23
- public static final short MIN_WIDTH = 12;
24
- public static final short MIN_WIDTH_PERCENT = 13;
25
- public static final short MAX_WIDTH = 14;
26
- public static final short MAX_WIDTH_PERCENT = 15;
27
- public static final short HEIGHT = 16;
28
- public static final short HEIGHT_PERCENT = 17;
29
- public static final short HEIGHT_AUTO = 18;
30
- public static final short MIN_HEIGHT = 19;
31
- public static final short MIN_HEIGHT_PERCENT = 20;
32
- public static final short MAX_HEIGHT = 21;
33
- public static final short MAX_HEIGHT_PERCENT = 22;
34
- public static final short JUSTIFY_CONTENT = 23;
35
- public static final short ALIGN_ITEMS = 24;
36
- public static final short ALIGN_SELF = 25;
37
- public static final short ALIGN_CONTENT = 26;
38
- public static final short POSITION_TYPE = 27;
39
- public static final short ASPECT_RATIO = 28;
40
- public static final short OVERFLOW = 29;
41
- public static final short DISPLAY = 30;
42
- public static final short MARGIN = 31;
43
- public static final short MARGIN_PERCENT = 32;
44
- public static final short MARGIN_AUTO = 33;
45
- public static final short PADDING = 34;
46
- public static final short PADDING_PERCENT = 35;
47
- public static final short BORDER = 36;
48
- public static final short POSITION = 37;
49
- public static final short POSITION_PERCENT = 38;
50
- public static final short IS_REFERENCE_BASELINE = 39;
51
- }
@@ -1,18 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.yoga.annotations;
9
-
10
- import java.lang.annotation.ElementType;
11
- import java.lang.annotation.Retention;
12
- import java.lang.annotation.Target;
13
-
14
- import static java.lang.annotation.RetentionPolicy.CLASS;
15
-
16
- @Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.CONSTRUCTOR })
17
- @Retention(CLASS)
18
- public @interface DoNotStrip { }