@office-iss/react-native-win32 0.0.0-canary.264 → 0.0.0-canary.266

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 (59) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +61 -7
  3. package/CHANGELOG.md +28 -8
  4. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  5. package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
  6. package/Libraries/Animated/animations/Animation.js +1 -4
  7. package/Libraries/Animated/createAnimatedComponent.js +13 -0
  8. package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
  9. package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
  10. package/Libraries/Animated/nodes/AnimatedProps.js +81 -37
  11. package/Libraries/Animated/nodes/AnimatedStyle.js +104 -39
  12. package/Libraries/Animated/nodes/AnimatedTransform.js +55 -22
  13. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
  14. package/Libraries/Animated/useAnimatedProps.js +38 -20
  15. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -1
  16. package/Libraries/Components/ScrollView/ScrollView.js +12 -9
  17. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
  18. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  19. package/Libraries/Components/TextInput/TextInput.d.ts +19 -0
  20. package/Libraries/Components/TextInput/TextInput.flow.js +17 -1
  21. package/Libraries/Components/TextInput/TextInput.js +17 -1
  22. package/Libraries/Components/TextInput/TextInput.win32.js +17 -1
  23. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  24. package/Libraries/Components/Touchable/TouchableHighlight.js +2 -2
  25. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
  26. package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -2
  27. package/Libraries/Core/ReactNativeVersion.js +2 -2
  28. package/Libraries/Image/AssetSourceResolver.js +12 -1
  29. package/Libraries/Modal/Modal.d.ts +7 -0
  30. package/Libraries/Modal/Modal.js +9 -1
  31. package/Libraries/NativeComponent/BaseViewConfig.android.js +7 -2
  32. package/Libraries/NativeComponent/BaseViewConfig.ios.js +11 -2
  33. package/Libraries/NativeComponent/BaseViewConfig.win32.js +1 -1
  34. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
  35. package/Libraries/ReactNative/AppRegistry.js +2 -6
  36. package/Libraries/ReactNative/getNativeComponentAttributes.js +4 -0
  37. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  38. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
  39. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +102 -5
  40. package/Libraries/StyleSheet/StyleSheetTypes.js +9 -5
  41. package/Libraries/StyleSheet/processBoxShadow.js +5 -7
  42. package/Libraries/StyleSheet/processFilter.js +4 -4
  43. package/Libraries/Text/TextNativeComponent.js +0 -1
  44. package/Libraries/Utilities/HMRClient.js +5 -5
  45. package/overrides.json +6 -6
  46. package/package.json +21 -19
  47. package/src/private/animated/NativeAnimatedHelper.js +12 -8
  48. package/src/private/animated/NativeAnimatedHelper.win32.js +12 -8
  49. package/src/private/animated/useAnimatedPropsMemo.js +349 -0
  50. package/src/private/components/HScrollViewNativeComponents.js +9 -8
  51. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +13 -9
  52. package/src/private/components/VScrollViewNativeComponents.js +9 -8
  53. package/src/private/featureflags/ReactNativeFeatureFlags.js +50 -22
  54. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
  55. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +7 -4
  56. package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
  57. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
  58. package/types/experimental.d.ts +0 -105
  59. package/types/modules/Codegen.d.ts +6 -0
@@ -110,11 +110,102 @@ export interface FlexStyle {
110
110
  top?: DimensionValue | undefined;
111
111
  width?: DimensionValue | undefined;
112
112
  zIndex?: number | undefined;
113
+ direction?: 'inherit' | 'ltr' | 'rtl' | undefined;
113
114
 
114
115
  /**
115
- * @platform ios
116
+ * Equivalent to `top`, `bottom`, `right` and `left`
116
117
  */
117
- direction?: 'inherit' | 'ltr' | 'rtl' | undefined;
118
+ inset?: DimensionValue | undefined;
119
+
120
+ /**
121
+ * Equivalent to `top`, `bottom`
122
+ */
123
+ insetBlock?: DimensionValue | undefined;
124
+
125
+ /**
126
+ * Equivalent to `bottom`
127
+ */
128
+ insetBlockEnd?: DimensionValue | undefined;
129
+
130
+ /**
131
+ * Equivalent to `top`
132
+ */
133
+ insetBlockStart?: DimensionValue | undefined;
134
+
135
+ /**
136
+ * Equivalent to `right` and `left`
137
+ */
138
+ insetInline?: DimensionValue | undefined;
139
+
140
+ /**
141
+ * Equivalent to `right` or `left`
142
+ */
143
+ insetInlineEnd?: DimensionValue | undefined;
144
+
145
+ /**
146
+ * Equivalent to `right` or `left`
147
+ */
148
+ insetInlineStart?: DimensionValue | undefined;
149
+
150
+ /**
151
+ * Equivalent to `marginVertical`
152
+ */
153
+ marginBlock?: DimensionValue | undefined;
154
+
155
+ /**
156
+ * Equivalent to `marginBottom`
157
+ */
158
+ marginBlockEnd?: DimensionValue | undefined;
159
+
160
+ /**
161
+ * Equivalent to `marginTop`
162
+ */
163
+ marginBlockStart?: DimensionValue | undefined;
164
+
165
+ /**
166
+ * Equivalent to `marginHorizontal`
167
+ */
168
+ marginInline?: DimensionValue | undefined;
169
+
170
+ /**
171
+ * Equivalent to `marginEnd`
172
+ */
173
+ marginInlineEnd?: DimensionValue | undefined;
174
+
175
+ /**
176
+ * Equivalent to `marginStart`
177
+ */
178
+ marginInlineStart?: DimensionValue | undefined;
179
+
180
+ /**
181
+ * Equivalent to `paddingVertical`
182
+ */
183
+ paddingBlock?: DimensionValue | undefined;
184
+
185
+ /**
186
+ * Equivalent to `paddingBottom`
187
+ */
188
+ paddingBlockEnd?: DimensionValue | undefined;
189
+
190
+ /**
191
+ * Equivalent to `paddingTop`
192
+ */
193
+ paddingBlockStart?: DimensionValue | undefined;
194
+
195
+ /**
196
+ * Equivalent to `paddingHorizontal`
197
+ */
198
+ paddingInline?: DimensionValue | undefined;
199
+
200
+ /**
201
+ * Equivalent to `paddingEnd`
202
+ */
203
+ paddingInlineEnd?: DimensionValue | undefined;
204
+
205
+ /**
206
+ * Equivalent to `paddingStart`
207
+ */
208
+ paddingInlineStart?: DimensionValue | undefined;
118
209
  }
119
210
 
120
211
  export interface ShadowStyleIOS {
@@ -239,16 +330,16 @@ export type FilterFunction =
239
330
  | {opacity: number | string}
240
331
  | {saturate: number | string}
241
332
  | {sepia: number | string}
242
- | {dropShadow: DropShadowPrimitive | string};
333
+ | {dropShadow: DropShadowValue | string};
243
334
 
244
- export type DropShadowPrimitive = {
335
+ export type DropShadowValue = {
245
336
  offsetX: number | string;
246
337
  offsetY: number | string;
247
338
  standardDeviation?: number | string | undefined;
248
339
  color?: ColorValue | number | undefined;
249
340
  };
250
341
 
251
- export type BoxShadowPrimitive = {
342
+ export type BoxShadowValue = {
252
343
  offsetX: number | string;
253
344
  offsetY: number | string;
254
345
  color?: string | undefined;
@@ -320,6 +411,10 @@ export interface ViewStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
320
411
  borderTopLeftRadius?: AnimatableNumericValue | string | undefined;
321
412
  borderTopRightRadius?: AnimatableNumericValue | string | undefined;
322
413
  borderTopStartRadius?: AnimatableNumericValue | string | undefined;
414
+ outlineColor?: ColorValue | undefined;
415
+ outlineOffset?: AnimatableNumericValue | undefined;
416
+ outlineStyle?: 'solid' | 'dotted' | 'dashed' | undefined;
417
+ outlineWidth?: AnimatableNumericValue | undefined;
323
418
  opacity?: AnimatableNumericValue | undefined;
324
419
  /**
325
420
  * Sets the elevation of a view, using Android's underlying
@@ -336,6 +431,8 @@ export interface ViewStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
336
431
  pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto' | undefined;
337
432
  isolation?: 'auto' | 'isolate' | undefined;
338
433
  cursor?: CursorValue | undefined;
434
+ boxShadow?: ReadonlyArray<BoxShadowValue> | string | undefined;
435
+ filter?: ReadonlyArray<FilterFunction> | string | undefined;
339
436
  }
340
437
 
341
438
  export type FontVariant =
@@ -700,9 +700,9 @@ export type FilterFunction =
700
700
  | {opacity: number | string}
701
701
  | {saturate: number | string}
702
702
  | {sepia: number | string}
703
- | {dropShadow: DropShadowPrimitive | string};
703
+ | {dropShadow: DropShadowValue | string};
704
704
 
705
- export type DropShadowPrimitive = {
705
+ export type DropShadowValue = {
706
706
  offsetX: number | string,
707
707
  offsetY: number | string,
708
708
  standardDeviation?: number | string,
@@ -719,7 +719,7 @@ export type GradientValue = {
719
719
  }>,
720
720
  };
721
721
 
722
- export type BoxShadowPrimitive = {
722
+ export type BoxShadowValue = {
723
723
  offsetX: number | string,
724
724
  offsetY: number | string,
725
725
  color?: ____ColorValue_Internal,
@@ -785,11 +785,15 @@ export type ____ViewStyle_InternalCore = $ReadOnly<{
785
785
  borderStartWidth?: AnimatableNumericValue,
786
786
  borderTopWidth?: AnimatableNumericValue,
787
787
  opacity?: AnimatableNumericValue,
788
+ outlineColor?: ____ColorValue_Internal,
789
+ outlineOffset?: AnimatableNumericValue,
790
+ outlineStyle?: 'solid' | 'dotted' | 'dashed',
791
+ outlineWidth?: AnimatableNumericValue,
788
792
  elevation?: number,
789
793
  pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only',
790
794
  cursor?: CursorValue,
791
- experimental_boxShadow?: $ReadOnlyArray<BoxShadowPrimitive> | string,
792
- experimental_filter?: $ReadOnlyArray<FilterFunction> | string,
795
+ boxShadow?: $ReadOnlyArray<BoxShadowValue> | string,
796
+ filter?: $ReadOnlyArray<FilterFunction> | string,
793
797
  experimental_mixBlendMode?: ____BlendMode_Internal,
794
798
  experimental_backgroundImage?: $ReadOnlyArray<GradientValue> | string,
795
799
  isolation?: 'auto' | 'isolate',
@@ -10,7 +10,7 @@
10
10
  */
11
11
 
12
12
  import type {ProcessedColorValue} from './processColor';
13
- import type {BoxShadowPrimitive} from './StyleSheetTypes';
13
+ import type {BoxShadowValue} from './StyleSheetTypes';
14
14
 
15
15
  import processColor from './processColor';
16
16
 
@@ -24,7 +24,7 @@ export type ParsedBoxShadow = {
24
24
  };
25
25
 
26
26
  export default function processBoxShadow(
27
- rawBoxShadows: ?($ReadOnlyArray<BoxShadowPrimitive> | string),
27
+ rawBoxShadows: ?($ReadOnlyArray<BoxShadowValue> | string),
28
28
  ): Array<ParsedBoxShadow> {
29
29
  const result: Array<ParsedBoxShadow> = [];
30
30
  if (rawBoxShadows == null) {
@@ -106,16 +106,14 @@ export default function processBoxShadow(
106
106
  return result;
107
107
  }
108
108
 
109
- function parseBoxShadowString(
110
- rawBoxShadows: string,
111
- ): Array<BoxShadowPrimitive> {
112
- let result: Array<BoxShadowPrimitive> = [];
109
+ function parseBoxShadowString(rawBoxShadows: string): Array<BoxShadowValue> {
110
+ let result: Array<BoxShadowValue> = [];
113
111
 
114
112
  for (const rawBoxShadow of rawBoxShadows
115
113
  .split(/,(?![^()]*\))/) // split by comma that is not in parenthesis
116
114
  .map(bS => bS.trim())
117
115
  .filter(bS => bS !== '')) {
118
- const boxShadow: BoxShadowPrimitive = {
116
+ const boxShadow: BoxShadowValue = {
119
117
  offsetX: 0,
120
118
  offsetY: 0,
121
119
  };
@@ -12,7 +12,7 @@
12
12
  'use strict';
13
13
 
14
14
  import type {ColorValue} from './StyleSheet';
15
- import type {DropShadowPrimitive, FilterFunction} from './StyleSheetTypes';
15
+ import type {DropShadowValue, FilterFunction} from './StyleSheetTypes';
16
16
 
17
17
  import processColor from './processColor';
18
18
 
@@ -179,7 +179,7 @@ function _getFilterAmount(filterName: string, filterArgs: mixed): ?number {
179
179
  }
180
180
 
181
181
  function parseDropShadow(
182
- rawDropShadow: string | DropShadowPrimitive,
182
+ rawDropShadow: string | DropShadowValue,
183
183
  ): ?ParsedDropShadow {
184
184
  const dropShadow =
185
185
  typeof rawDropShadow === 'string'
@@ -248,8 +248,8 @@ function parseDropShadow(
248
248
  return parsedDropShadow;
249
249
  }
250
250
 
251
- function parseDropShadowString(rawDropShadow: string): ?DropShadowPrimitive {
252
- const dropShadow: DropShadowPrimitive = {
251
+ function parseDropShadowString(rawDropShadow: string): ?DropShadowValue {
252
+ const dropShadow: DropShadowValue = {
253
253
  offsetX: 0,
254
254
  offsetY: 0,
255
255
  };
@@ -16,7 +16,6 @@ import type {TextProps} from './TextProps';
16
16
  import {createViewConfig} from '../NativeComponent/ViewConfig';
17
17
  import UIManager from '../ReactNative/UIManager';
18
18
  import createReactNativeComponentClass from '../Renderer/shims/createReactNativeComponentClass';
19
- import Platform from '../Utilities/Platform';
20
19
 
21
20
  export type NativeTextProps = $ReadOnly<{
22
21
  ...TextProps,
@@ -153,11 +153,11 @@ const HMRClient: HMRClientNativeInterface = {
153
153
  level: 'info',
154
154
  data: [
155
155
  '\n' +
156
- '\x1b[7m' +
157
- ' \x1b[1mJavaScript logs have moved!\x1b[22m They will now appear in the debugger console. ' +
158
- 'Tip: Type \x1b[1mj\x1b[22m in the terminal to open the debugger (requires Google Chrome ' +
159
- 'or Microsoft Edge).' +
160
- '\x1b[27m' +
156
+ '\u001B[7m' +
157
+ ' \u001B[1m💡 JavaScript logs have moved!\u001B[22m They can now be ' +
158
+ 'viewed in React Native DevTools. Tip: Type \u001B[1mj\u001B[22m in ' +
159
+ 'the terminal to open (requires Google Chrome or Microsoft Edge).' +
160
+ '\u001B[27m' +
161
161
  '\n',
162
162
  ],
163
163
  }),
package/overrides.json CHANGED
@@ -7,13 +7,13 @@
7
7
  "**/__snapshots__/**",
8
8
  "src-win/rntypes/**"
9
9
  ],
10
- "baseVersion": "0.76.0-nightly-20240909-143f1ad29",
10
+ "baseVersion": "0.77.0-nightly-20240921-1747f57c6",
11
11
  "overrides": [
12
12
  {
13
13
  "type": "derived",
14
14
  "file": ".flowconfig",
15
15
  "baseFile": ".flowconfig",
16
- "baseHash": "cc375839a102263f435205df68b79d3d74c4f20a"
16
+ "baseHash": "3fbaf9dcd4027fa382894d06f330d0c68ceff9fb"
17
17
  },
18
18
  {
19
19
  "type": "derived",
@@ -109,7 +109,7 @@
109
109
  "type": "derived",
110
110
  "file": "src-win/Libraries/Components/TextInput/TextInput.win32.js",
111
111
  "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
112
- "baseHash": "494c1159a38de1b57d3889a4dabdc3708204ad4d"
112
+ "baseHash": "19224f9b870df6e0c82d8da36f1f7b22bdd6b596"
113
113
  },
114
114
  {
115
115
  "type": "patch",
@@ -337,7 +337,7 @@
337
337
  "type": "derived",
338
338
  "file": "src-win/Libraries/NativeComponent/BaseViewConfig.win32.js",
339
339
  "baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js",
340
- "baseHash": "91e7e2aacf6c1559247dccad0c581fde64202bf3"
340
+ "baseHash": "0b4642542c2865c5cd3d542a82b295a1aca21c1a"
341
341
  },
342
342
  {
343
343
  "type": "copy",
@@ -438,7 +438,7 @@
438
438
  "type": "derived",
439
439
  "file": "src-win/Libraries/Text/TextNativeComponent.win32.js",
440
440
  "baseFile": "packages/react-native/Libraries/Text/TextNativeComponent.js",
441
- "baseHash": "642b6fc1c5b5802e3612f39c2ae0135b149a65f8",
441
+ "baseHash": "1b2e6301edc13f3a91e47b9befe8a47a12e6ad39",
442
442
  "issue": 7074
443
443
  },
444
444
  {
@@ -509,7 +509,7 @@
509
509
  "type": "patch",
510
510
  "file": "src-win/src/private/animated/NativeAnimatedHelper.win32.js",
511
511
  "baseFile": "packages/react-native/src/private/animated/NativeAnimatedHelper.js",
512
- "baseHash": "c91921c31ad267817d7a38859005149473ca6da5",
512
+ "baseHash": "bc63f57b28f1e98755101f650a2c15b6aa263abf",
513
513
  "issue": 11041
514
514
  },
515
515
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@office-iss/react-native-win32",
3
- "version": "0.0.0-canary.264",
3
+ "version": "0.0.0-canary.266",
4
4
  "description": "Implementation of react native on top of Office's Win32 platform.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,21 +26,23 @@
26
26
  "dependencies": {
27
27
  "@babel/runtime": "^7.0.0",
28
28
  "@jest/create-cache-key-function": "^29.6.3",
29
- "@react-native-community/cli": "14.0.0",
30
- "@react-native-community/cli-platform-android": "14.0.0",
31
- "@react-native-community/cli-platform-ios": "14.0.0",
29
+ "@react-native-community/cli": "15.0.0-alpha.2",
30
+ "@react-native-community/cli-platform-android": "15.0.0-alpha.2",
31
+ "@react-native-community/cli-platform-ios": "15.0.0-alpha.2",
32
32
  "@react-native/assets": "1.0.0",
33
- "@react-native/assets-registry": "0.76.0-nightly-20240909-143f1ad29",
34
- "@react-native/codegen": "0.76.0-nightly-20240909-143f1ad29",
35
- "@react-native/community-cli-plugin": "0.76.0-nightly-20240909-143f1ad29",
36
- "@react-native/gradle-plugin": "0.76.0-nightly-20240909-143f1ad29",
37
- "@react-native/js-polyfills": "0.76.0-nightly-20240909-143f1ad29",
38
- "@react-native/normalize-colors": "0.76.0-nightly-20240909-143f1ad29",
39
- "@react-native/virtualized-lists": "0.76.0-nightly-20240909-143f1ad29",
33
+ "@react-native/assets-registry": "0.77.0-nightly-20240921-1747f57c6",
34
+ "@react-native/codegen": "0.77.0-nightly-20240921-1747f57c6",
35
+ "@react-native/community-cli-plugin": "0.77.0-nightly-20240921-1747f57c6",
36
+ "@react-native/gradle-plugin": "0.77.0-nightly-20240921-1747f57c6",
37
+ "@react-native/js-polyfills": "0.77.0-nightly-20240921-1747f57c6",
38
+ "@react-native/normalize-colors": "0.77.0-nightly-20240921-1747f57c6",
39
+ "@react-native/virtualized-lists": "0.77.0-nightly-20240921-1747f57c6",
40
40
  "abort-controller": "^3.0.0",
41
41
  "anser": "^1.4.9",
42
42
  "ansi-regex": "^5.0.0",
43
43
  "art": "^0.10.0",
44
+ "babel-jest": "^29.7.0",
45
+ "babel-plugin-syntax-hermes-parser": "^0.23.1",
44
46
  "base64-js": "^1.5.1",
45
47
  "chalk": "^4.0.0",
46
48
  "commander": "^12.0.0",
@@ -51,8 +53,8 @@
51
53
  "jest-environment-node": "^29.6.3",
52
54
  "jsc-android": "^250231.0.0",
53
55
  "memoize-one": "^5.0.0",
54
- "metro-runtime": "^0.80.10",
55
- "metro-source-map": "^0.80.10",
56
+ "metro-runtime": "^0.81.0-alpha.0",
57
+ "metro-source-map": "^0.81.0-alpha.0",
56
58
  "mkdirp": "^0.5.1",
57
59
  "nullthrows": "^1.1.1",
58
60
  "pretty-format": "^29.7.0",
@@ -74,9 +76,9 @@
74
76
  "@babel/eslint-parser": "^7.25.1",
75
77
  "@react-native/metro-config": "0.76.0-nightly-20240701-9f6cb21ed",
76
78
  "@rnw-scripts/babel-react-native-config": "0.0.0",
77
- "@rnw-scripts/eslint-config": "1.2.28",
78
- "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.32",
79
- "@rnw-scripts/just-task": "2.3.45",
79
+ "@rnw-scripts/eslint-config": "1.2.29",
80
+ "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.33",
81
+ "@rnw-scripts/just-task": "2.3.46",
80
82
  "@rnw-scripts/metro-dev-config": "0.0.0",
81
83
  "@rnx-kit/jest-preset": "^0.1.17",
82
84
  "@types/node": "^18.0.0",
@@ -88,14 +90,14 @@
88
90
  "just-scripts": "^1.3.3",
89
91
  "prettier": "2.8.8",
90
92
  "react": "19.0.0-rc-fb9a90fa48-20240614",
91
- "react-native": "0.76.0-nightly-20240909-143f1ad29",
92
- "react-native-platform-override": "^1.9.47",
93
+ "react-native": "0.77.0-nightly-20240921-1747f57c6",
94
+ "react-native-platform-override": "^1.9.48",
93
95
  "typescript": "5.0.4"
94
96
  },
95
97
  "peerDependencies": {
96
98
  "@types/react": "^18.2.6",
97
99
  "react": "^19.0.0-rc-fb9a90fa48-20240614",
98
- "react-native": "0.76.0-nightly-20240909-143f1ad29"
100
+ "react-native": "0.77.0-nightly-20240921-1747f57c6"
99
101
  },
100
102
  "beachball": {
101
103
  "defaultNpmTag": "canary",
@@ -46,7 +46,7 @@ const isSingleOpBatching =
46
46
  Platform.OS === 'android' &&
47
47
  NativeAnimatedModule?.queueAndExecuteBatchedOperations != null &&
48
48
  ReactNativeFeatureFlags.animatedShouldUseSingleOp();
49
- let flushQueueTimeout = null;
49
+ let flushQueueImmediate = null;
50
50
 
51
51
  const eventListenerGetValueCallbacks: {
52
52
  [number]: (value: number) => void,
@@ -142,9 +142,13 @@ const API = {
142
142
  queueOperations = true;
143
143
  if (
144
144
  ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush() &&
145
- flushQueueTimeout
145
+ flushQueueImmediate
146
146
  ) {
147
- clearTimeout(flushQueueTimeout);
147
+ if (ReactNativeFeatureFlags.enableAnimatedClearImmediateFix()) {
148
+ clearImmediate(flushQueueImmediate);
149
+ } else {
150
+ clearTimeout(flushQueueImmediate);
151
+ }
148
152
  }
149
153
  },
150
154
 
@@ -161,9 +165,9 @@ const API = {
161
165
  invariant(NativeAnimatedModule, 'Native animated module is not available');
162
166
 
163
167
  if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush()) {
164
- const prevTimeout = flushQueueTimeout;
165
- clearImmediate(prevTimeout);
166
- flushQueueTimeout = setImmediate(API.flushQueue);
168
+ const prevImmediate = flushQueueImmediate;
169
+ clearImmediate(prevImmediate);
170
+ flushQueueImmediate = setImmediate(API.flushQueue);
167
171
  } else {
168
172
  API.flushQueue();
169
173
  }
@@ -176,7 +180,7 @@ const API = {
176
180
  NativeAnimatedModule || process.env.NODE_ENV === 'test',
177
181
  'Native animated module is not available',
178
182
  );
179
- flushQueueTimeout = null;
183
+ flushQueueImmediate = null;
180
184
 
181
185
  if (singleOpQueue.length === 0) {
182
186
  return;
@@ -198,7 +202,7 @@ const API = {
198
202
  NativeAnimatedModule || process.env.NODE_ENV === 'test',
199
203
  'Native animated module is not available',
200
204
  );
201
- flushQueueTimeout = null;
205
+ flushQueueImmediate = null;
202
206
 
203
207
  if (queue.length === 0) {
204
208
  return;
@@ -46,7 +46,7 @@ const isSingleOpBatching =
46
46
  Platform.OS === 'android' &&
47
47
  NativeAnimatedModule?.queueAndExecuteBatchedOperations != null &&
48
48
  ReactNativeFeatureFlags.animatedShouldUseSingleOp();
49
- let flushQueueTimeout = null;
49
+ let flushQueueImmediate = null;
50
50
 
51
51
  const eventListenerGetValueCallbacks: {
52
52
  [number]: (value: number) => void,
@@ -142,9 +142,13 @@ const API = {
142
142
  queueOperations = true;
143
143
  if (
144
144
  ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush() &&
145
- flushQueueTimeout
145
+ flushQueueImmediate
146
146
  ) {
147
- clearTimeout(flushQueueTimeout);
147
+ if (ReactNativeFeatureFlags.enableAnimatedClearImmediateFix()) {
148
+ clearImmediate(flushQueueImmediate);
149
+ } else {
150
+ clearTimeout(flushQueueImmediate);
151
+ }
148
152
  }
149
153
  },
150
154
 
@@ -161,9 +165,9 @@ const API = {
161
165
  invariant(NativeAnimatedModule, 'Native animated module is not available');
162
166
 
163
167
  if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush()) {
164
- const prevTimeout = flushQueueTimeout;
165
- clearImmediate(prevTimeout);
166
- flushQueueTimeout = setImmediate(API.flushQueue);
168
+ const prevImmediate = flushQueueImmediate;
169
+ clearImmediate(prevImmediate);
170
+ flushQueueImmediate = setImmediate(API.flushQueue);
167
171
  } else {
168
172
  API.flushQueue();
169
173
  }
@@ -178,7 +182,7 @@ const API = {
178
182
  'Native animated module is not available',
179
183
  );
180
184
  Windows] */
181
- flushQueueTimeout = null;
185
+ flushQueueImmediate = null;
182
186
 
183
187
  if (singleOpQueue.length === 0) {
184
188
  return;
@@ -200,7 +204,7 @@ const API = {
200
204
  NativeAnimatedModule || process.env.NODE_ENV === 'test',
201
205
  'Native animated module is not available',
202
206
  );
203
- flushQueueTimeout = null;
207
+ flushQueueImmediate = null;
204
208
 
205
209
  if (queue.length === 0) {
206
210
  return;