@office-iss/react-native-win32 0.0.0-canary.252 → 0.0.0-canary.254

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/.flowconfig CHANGED
@@ -58,6 +58,9 @@
58
58
  <PROJECT_ROOT>/packages/react-native/template/.*
59
59
  <PROJECT_ROOT>/packages/react-native/sdks/.*
60
60
 
61
+ ; Ignore the codegen e2e tests
62
+ <PROJECT_ROOT>/packages/react-native-codegen/e2e/__test_fixtures__/modules/NativeEnumTurboModule.js
63
+
61
64
  ; Ignore the Dangerfile
62
65
  <PROJECT_ROOT>/packages/react-native-bots/dangerfile.js
63
66
 
@@ -81,6 +84,9 @@
81
84
  ; Generated build output
82
85
  <PROJECT_ROOT>/packages/.*/dist
83
86
 
87
+ ; helloworld
88
+ <PROJECT_ROOT>/packages/helloworld/ios/Pods/
89
+
84
90
  [untyped]
85
91
  .*/node_modules/@react-native-community/cli/.*/.*
86
92
  ; Should work out how to do this properly
@@ -153,4 +159,4 @@ untyped-import
153
159
  untyped-type-import
154
160
 
155
161
  [version]
156
- ^0.236.0
162
+ ^0.237.2
package/CHANGELOG.json CHANGED
@@ -2,7 +2,85 @@
2
2
  "name": "@office-iss/react-native-win32",
3
3
  "entries": [
4
4
  {
5
- "date": "Wed, 05 Jun 2024 05:16:08 GMT",
5
+ "date": "Wed, 12 Jun 2024 05:14:30 GMT",
6
+ "version": "0.0.0-canary.254",
7
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.254",
8
+ "comments": {
9
+ "prerelease": [
10
+ {
11
+ "author": "yajurgrover24@gmail.com",
12
+ "package": "@office-iss/react-native-win32",
13
+ "commit": "e2cced2ede4941e8ebcdb49feb9ded55a3ff5237",
14
+ "comment": "Integrate 6/10"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@office-iss/react-native-win32",
19
+ "comment": "Bump @rnw-scripts/eslint-config to v1.2.23",
20
+ "commit": "not available"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@office-iss/react-native-win32",
25
+ "comment": "Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.27",
26
+ "commit": "not available"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@office-iss/react-native-win32",
31
+ "comment": "Bump @rnw-scripts/just-task to v2.3.40",
32
+ "commit": "not available"
33
+ },
34
+ {
35
+ "author": "beachball",
36
+ "package": "@office-iss/react-native-win32",
37
+ "comment": "Bump react-native-platform-override to v1.9.41",
38
+ "commit": "not available"
39
+ }
40
+ ]
41
+ }
42
+ },
43
+ {
44
+ "date": "Sat, 08 Jun 2024 05:17:56 GMT",
45
+ "version": "0.0.0-canary.253",
46
+ "tag": "@office-iss/react-native-win32_v0.0.0-canary.253",
47
+ "comments": {
48
+ "prerelease": [
49
+ {
50
+ "author": "34109996+chiaramooney@users.noreply.github.com",
51
+ "package": "@office-iss/react-native-win32",
52
+ "commit": "d42a78eeeb8b25ea0b4c054c48ee0891bc16d8b8",
53
+ "comment": "Integrate 5/31"
54
+ },
55
+ {
56
+ "author": "beachball",
57
+ "package": "@office-iss/react-native-win32",
58
+ "comment": "Bump @rnw-scripts/eslint-config to v1.2.22",
59
+ "commit": "not available"
60
+ },
61
+ {
62
+ "author": "beachball",
63
+ "package": "@office-iss/react-native-win32",
64
+ "comment": "Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.26",
65
+ "commit": "not available"
66
+ },
67
+ {
68
+ "author": "beachball",
69
+ "package": "@office-iss/react-native-win32",
70
+ "comment": "Bump @rnw-scripts/just-task to v2.3.39",
71
+ "commit": "not available"
72
+ },
73
+ {
74
+ "author": "beachball",
75
+ "package": "@office-iss/react-native-win32",
76
+ "comment": "Bump react-native-platform-override to v1.9.40",
77
+ "commit": "not available"
78
+ }
79
+ ]
80
+ }
81
+ },
82
+ {
83
+ "date": "Wed, 05 Jun 2024 05:18:09 GMT",
6
84
  "version": "0.0.0-canary.252",
7
85
  "tag": "@office-iss/react-native-win32_v0.0.0-canary.252",
8
86
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,19 +1,43 @@
1
1
  # Change Log - @office-iss/react-native-win32
2
2
 
3
- This log was last generated on Wed, 05 Jun 2024 05:16:08 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 12 Jun 2024 05:14:30 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## 0.0.0-canary.252
7
+ ## 0.0.0-canary.254
8
8
 
9
- Wed, 05 Jun 2024 05:16:08 GMT
9
+ Wed, 12 Jun 2024 05:14:30 GMT
10
10
 
11
11
  ### Changes
12
12
 
13
- - Use prettier-plugin-hermes-parser to match upstream settings (email not defined)
14
- - Bump @rnw-scripts/just-task to v2.3.38
15
- - Bump react-native-platform-override to v1.9.39
13
+ - Integrate 6/10 (yajurgrover24@gmail.com)
14
+ - Bump @rnw-scripts/eslint-config to v1.2.23
15
+ - Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.27
16
+ - Bump @rnw-scripts/just-task to v2.3.40
17
+ - Bump react-native-platform-override to v1.9.41
16
18
 
19
+ ## 0.0.0-canary.253
20
+
21
+ Sat, 08 Jun 2024 05:17:56 GMT
22
+
23
+ ### Changes
24
+
25
+ - Integrate 5/31 (34109996+chiaramooney@users.noreply.github.com)
26
+ - Bump @rnw-scripts/eslint-config to v1.2.22
27
+ - Bump @rnw-scripts/jest-out-of-tree-snapshot-resolver to v1.1.26
28
+ - Bump @rnw-scripts/just-task to v2.3.39
29
+ - Bump react-native-platform-override to v1.9.40
30
+
31
+ ## 0.0.0-canary.252
32
+
33
+ Wed, 05 Jun 2024 05:18:09 GMT
34
+
35
+ ### Changes
36
+
37
+ - Use prettier-plugin-hermes-parser to match upstream settings (email not defined)
38
+ - Bump @rnw-scripts/just-task to v2.3.38
39
+ - Bump react-native-platform-override to v1.9.39
40
+
17
41
  ## 0.0.0-canary.251
18
42
 
19
43
  Tue, 04 Jun 2024 05:18:34 GMT
@@ -315,6 +315,8 @@ const sequence = function (
315
315
  current++;
316
316
 
317
317
  if (current === animations.length) {
318
+ // if the start is called, even without a reset, it should start from the beginning
319
+ current = 0;
318
320
  callback && callback(result);
319
321
  return;
320
322
  }
@@ -119,7 +119,7 @@ type Props = $ReadOnly<{|
119
119
  |}>;
120
120
 
121
121
  type State = {|
122
- statusBarBackgroundColor: ColorValue,
122
+ drawerOpened: boolean,
123
123
  |};
124
124
 
125
125
  /**
@@ -168,7 +168,9 @@ class DrawerLayoutAndroid extends React.Component<Props, State> {
168
168
  React.ElementRef<typeof AndroidDrawerLayoutNativeComponent>,
169
169
  >();
170
170
 
171
- state: State = {statusBarBackgroundColor: null};
171
+ state: State = {
172
+ drawerOpened: false,
173
+ };
172
174
 
173
175
  render(): React.Node {
174
176
  const {
@@ -189,6 +191,7 @@ class DrawerLayoutAndroid extends React.Component<Props, State> {
189
191
  backgroundColor: drawerBackgroundColor,
190
192
  },
191
193
  ]}
194
+ pointerEvents={this.state.drawerOpened ? 'auto' : 'none'}
192
195
  collapsable={false}>
193
196
  {renderNavigationView()}
194
197
  {drawStatusBar && <View style={styles.drawerStatusBar} />}
@@ -245,12 +248,18 @@ class DrawerLayoutAndroid extends React.Component<Props, State> {
245
248
  };
246
249
 
247
250
  _onDrawerOpen = () => {
251
+ this.setState({
252
+ drawerOpened: true,
253
+ });
248
254
  if (this.props.onDrawerOpen) {
249
255
  this.props.onDrawerOpen();
250
256
  }
251
257
  };
252
258
 
253
259
  _onDrawerClose = () => {
260
+ this.setState({
261
+ drawerOpened: false,
262
+ });
254
263
  if (this.props.onDrawerClose) {
255
264
  this.props.onDrawerClose();
256
265
  }
@@ -385,15 +385,6 @@ export type NativeProps = $ReadOnly<{|
385
385
  |}>,
386
386
  >,
387
387
 
388
- onTextInput?: ?BubblingEventHandler<
389
- $ReadOnly<{|
390
- target: Int32,
391
- text: string,
392
- previousText: string,
393
- range: $ReadOnly<{|start: Double, end: Double|}>,
394
- |}>,
395
- >,
396
-
397
388
  /**
398
389
  * Callback that is called when text input ends.
399
390
  */
@@ -662,12 +653,6 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
662
653
  captured: 'onSubmitEditingCapture',
663
654
  },
664
655
  },
665
- topTextInput: {
666
- phasedRegistrationNames: {
667
- bubbled: 'onTextInput',
668
- captured: 'onTextInputCapture',
669
- },
670
- },
671
656
  },
672
657
  directEventTypes: {
673
658
  topScroll: {
@@ -76,9 +76,6 @@ const RCTTextInputViewConfig = {
76
76
  },
77
77
  },
78
78
  directEventTypes: {
79
- topTextInput: {
80
- registrationName: 'onTextInput',
81
- },
82
79
  topScroll: {
83
80
  registrationName: 'onScroll',
84
81
  },
@@ -153,7 +150,6 @@ const RCTTextInputViewConfig = {
153
150
  onSelectionChange: true,
154
151
  onContentSizeChange: true,
155
152
  onScroll: true,
156
- onTextInput: true,
157
153
  }),
158
154
  },
159
155
  };
@@ -485,15 +485,6 @@ export interface TextInputSubmitEditingEventData {
485
485
  text: string;
486
486
  }
487
487
 
488
- /**
489
- * @see TextInputProps.onTextInput
490
- */
491
- export interface TextInputTextInputEventData {
492
- text: string;
493
- previousText: string;
494
- range: {start: number; end: number};
495
- }
496
-
497
488
  /**
498
489
  * @see https://reactnative.dev/docs/textinput#props
499
490
  */
@@ -787,16 +778,6 @@ export interface TextInputProps
787
778
  | ((e: NativeSyntheticEvent<TextInputSubmitEditingEventData>) => void)
788
779
  | undefined;
789
780
 
790
- /**
791
- * Callback that is called on new text input with the argument
792
- * `{ nativeEvent: { text, previousText, range: { start, end } } }`.
793
- *
794
- * This prop requires multiline={true} to be set.
795
- */
796
- onTextInput?:
797
- | ((e: NativeSyntheticEvent<TextInputTextInputEventData>) => void)
798
- | undefined;
799
-
800
781
  /**
801
782
  * Invoked on content scroll with
802
783
  * `{ nativeEvent: { contentOffset: { x, y } } }`.
@@ -342,7 +342,9 @@ class TouchableHighlight extends React.Component<Props, State> {
342
342
  nextFocusRight={this.props.nextFocusRight}
343
343
  nextFocusUp={this.props.nextFocusUp}
344
344
  focusable={
345
- this.props.focusable !== false && this.props.onPress !== undefined
345
+ this.props.focusable !== false &&
346
+ this.props.onPress !== undefined &&
347
+ !this.props.disabled
346
348
  }
347
349
  nativeID={this.props.id ?? this.props.nativeID}
348
350
  testID={this.props.testID}
@@ -287,7 +287,9 @@ class TouchableOpacity extends React.Component<Props, State> {
287
287
  hasTVPreferredFocus={this.props.hasTVPreferredFocus}
288
288
  hitSlop={this.props.hitSlop}
289
289
  focusable={
290
- this.props.focusable !== false && this.props.onPress !== undefined
290
+ this.props.focusable !== false &&
291
+ this.props.onPress !== undefined &&
292
+ !this.props.disabled
291
293
  }
292
294
  ref={this.props.hostRef}
293
295
  {...eventHandlersWithoutBlurAndFocus}>
@@ -208,7 +208,10 @@ module.exports = function TouchableWithoutFeedback(props: Props): React.Node {
208
208
  disabled: props.disabled,
209
209
  }
210
210
  : _accessibilityState,
211
- focusable: props.focusable !== false && props.onPress !== undefined,
211
+ focusable:
212
+ props.focusable !== false &&
213
+ props.onPress !== undefined &&
214
+ !props.disabled,
212
215
 
213
216
  accessibilityElementsHidden:
214
217
  props['aria-hidden'] ?? props.accessibilityElementsHidden,
@@ -17,7 +17,7 @@ const version: $ReadOnly<{
17
17
  major: 0,
18
18
  minor: 75,
19
19
  patch: 0,
20
- prerelease: 'nightly-20240525-840c31c3a',
20
+ prerelease: 'nightly-20240610-ced076210',
21
21
  };
22
22
 
23
23
  module.exports = {version};
@@ -63,17 +63,12 @@ if (
63
63
  // mechanism to pass feature flags from RN to React in OSS.
64
64
  global.RN$enableMicrotasksInReact = true;
65
65
 
66
- polyfillGlobal('queueMicrotask', () => {
67
- const nativeQueueMicrotask =
66
+ polyfillGlobal(
67
+ 'queueMicrotask',
68
+ () =>
68
69
  require('../../src/private/webapis/microtasks/specs/NativeMicrotasks')
69
- .default?.queueMicrotask;
70
- if (nativeQueueMicrotask) {
71
- return nativeQueueMicrotask;
72
- } else {
73
- // For backwards-compatibility
74
- return global.HermesInternal?.enqueueJob;
75
- }
76
- });
70
+ .default.queueMicrotask,
71
+ );
77
72
 
78
73
  // We shim the immediate APIs via `queueMicrotask` to maintain the backward
79
74
  // compatibility.
@@ -92,6 +92,7 @@ const AppContainer = ({
92
92
  rootTag,
93
93
  showArchitectureIndicator,
94
94
  WrapperComponent,
95
+ rootViewStyle,
95
96
  }: Props): React.Node => {
96
97
  const appContainerRootViewRef: AppContainerRootViewRef = React.useRef(null);
97
98
  const innerViewRef: InspectedViewRef = React.useRef(null);
@@ -141,7 +142,7 @@ const AppContainer = ({
141
142
  collapsable={reactDevToolsAgent == null && !shouldRenderInspector}
142
143
  pointerEvents="box-none"
143
144
  key={key}
144
- style={styles.container}
145
+ style={rootViewStyle || styles.container}
145
146
  ref={innerViewRef}>
146
147
  {children}
147
148
  </View>
@@ -167,7 +168,7 @@ const AppContainer = ({
167
168
  <RootTagContext.Provider value={createRootTag(rootTag)}>
168
169
  <View
169
170
  ref={appContainerRootViewRef}
170
- style={styles.container}
171
+ style={rootViewStyle || styles.container}
171
172
  pointerEvents="box-none">
172
173
  {innerView}
173
174
 
@@ -23,6 +23,7 @@ const AppContainer = ({
23
23
  rootTag,
24
24
  showArchitectureIndicator,
25
25
  WrapperComponent,
26
+ rootViewStyle,
26
27
  }: Props): React.Node => {
27
28
  let innerView = children;
28
29
 
@@ -39,7 +40,7 @@ const AppContainer = ({
39
40
 
40
41
  return (
41
42
  <RootTagContext.Provider value={createRootTag(rootTag)}>
42
- <View style={styles.root} pointerEvents="box-none">
43
+ <View style={rootViewStyle || styles.root} pointerEvents="box-none">
43
44
  {innerView}
44
45
  </View>
45
46
  </RootTagContext.Provider>
@@ -8,6 +8,7 @@
8
8
  * @flow
9
9
  */
10
10
 
11
+ import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
11
12
  import type {RootTag} from './RootTag';
12
13
 
13
14
  import * as React from 'react';
@@ -19,6 +20,7 @@ export type Props = $ReadOnly<{|
19
20
  initialProps?: {...},
20
21
  showArchitectureIndicator?: boolean,
21
22
  WrapperComponent?: ?React.ComponentType<any>,
23
+ rootViewStyle?: ?ViewStyleProp,
22
24
  internal_excludeLogBox?: boolean,
23
25
  internal_excludeInspector?: boolean,
24
26
  |}>;
@@ -9,6 +9,7 @@
9
9
 
10
10
  import type * as React from 'react';
11
11
  import type {IPerformanceLogger} from '../Utilities/IPerformanceLogger';
12
+ import type {ViewStyle} from '../StyleSheet/StyleSheetTypes';
12
13
 
13
14
  type Task = (taskData: any) => Promise<void>;
14
15
  type TaskProvider = () => Task;
@@ -34,6 +35,8 @@ export type WrapperComponentProvider = (
34
35
  appParameters: any,
35
36
  ) => React.ComponentType<any>;
36
37
 
38
+ export type RootViewStyleProvider = (appParameters: any) => ViewStyle;
39
+
37
40
  /**
38
41
  * `AppRegistry` is the JS entry point to running all React Native apps. App
39
42
  * root components should register themselves with
@@ -54,6 +57,10 @@ export namespace AppRegistry {
54
57
  provider: WrapperComponentProvider,
55
58
  ): void;
56
59
 
60
+ export function setRootViewStyleProvider(
61
+ provider: RootViewStyleProvider,
62
+ ): void;
63
+
57
64
  export function registerConfig(config: AppConfig[]): void;
58
65
 
59
66
  export function registerComponent(
@@ -8,6 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
11
12
  import type {RootTag} from '../Types/RootTagTypes';
12
13
  import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
13
14
  import type {DisplayModeType} from './DisplayMode';
@@ -60,6 +61,7 @@ export type Registry = {
60
61
  export type WrapperComponentProvider = (
61
62
  appParameters: Object,
62
63
  ) => React$ComponentType<any>;
64
+ export type RootViewStyleProvider = (appParameters: Object) => ViewStyleProp;
63
65
 
64
66
  const runnables: Runnables = {};
65
67
  let runCount = 1;
@@ -70,6 +72,7 @@ let componentProviderInstrumentationHook: ComponentProviderInstrumentationHook =
70
72
  (component: ComponentProvider) => component();
71
73
 
72
74
  let wrapperComponentProvider: ?WrapperComponentProvider;
75
+ let rootViewStyleProvider: ?RootViewStyleProvider;
73
76
  let showArchitectureIndicator = false;
74
77
 
75
78
  /**
@@ -82,6 +85,10 @@ const AppRegistry = {
82
85
  wrapperComponentProvider = provider;
83
86
  },
84
87
 
88
+ setRootViewStyleProvider(provider: RootViewStyleProvider) {
89
+ rootViewStyleProvider = provider;
90
+ },
91
+
85
92
  enableArchitectureIndicator(enabled: boolean): void {
86
93
  showArchitectureIndicator = enabled;
87
94
  },
@@ -130,6 +137,7 @@ const AppRegistry = {
130
137
  appParameters.initialProps,
131
138
  appParameters.rootTag,
132
139
  wrapperComponentProvider && wrapperComponentProvider(appParameters),
140
+ rootViewStyleProvider && rootViewStyleProvider(appParameters),
133
141
  appParameters.fabric,
134
142
  showArchitectureIndicator,
135
143
  scopedPerformanceLogger,
@@ -8,6 +8,7 @@
8
8
  * @flow
9
9
  */
10
10
 
11
+ import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
11
12
  import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
12
13
 
13
14
  import GlobalPerformanceLogger from '../Utilities/GlobalPerformanceLogger';
@@ -32,6 +33,7 @@ export default function renderApplication<Props: Object>(
32
33
  initialProps: Props,
33
34
  rootTag: any,
34
35
  WrapperComponent?: ?React.ComponentType<any>,
36
+ rootViewStyle?: ?ViewStyleProp,
35
37
  fabric?: boolean,
36
38
  showArchitectureIndicator?: boolean,
37
39
  scopedPerformanceLogger?: IPerformanceLogger,
@@ -52,6 +54,7 @@ export default function renderApplication<Props: Object>(
52
54
  fabric={fabric}
53
55
  showArchitectureIndicator={showArchitectureIndicator}
54
56
  WrapperComponent={WrapperComponent}
57
+ rootViewStyle={rootViewStyle}
55
58
  initialProps={initialProps ?? Object.freeze({})}
56
59
  internal_excludeLogBox={isLogBox}>
57
60
  <RootComponent {...initialProps} rootTag={rootTag} />
package/jest/setup.js CHANGED
@@ -137,7 +137,9 @@ jest
137
137
  .mock('../Libraries/Components/AccessibilityInfo/AccessibilityInfo', () => ({
138
138
  __esModule: true,
139
139
  default: {
140
- addEventListener: jest.fn(),
140
+ addEventListener: jest.fn(() => ({
141
+ remove: jest.fn(),
142
+ })),
141
143
  announceForAccessibility: jest.fn(),
142
144
  isAccessibilityServiceEnabled: jest.fn(),
143
145
  isBoldTextEnabled: jest.fn(),
@@ -200,7 +202,9 @@ jest
200
202
  openURL: jest.fn(),
201
203
  canOpenURL: jest.fn(() => Promise.resolve(true)),
202
204
  openSettings: jest.fn(),
203
- addEventListener: jest.fn(),
205
+ addEventListener: jest.fn(() => ({
206
+ remove: jest.fn(),
207
+ })),
204
208
  getInitialURL: jest.fn(() => Promise.resolve()),
205
209
  sendIntent: jest.fn(),
206
210
  }))
package/overrides.json CHANGED
@@ -7,13 +7,13 @@
7
7
  "**/__snapshots__/**",
8
8
  "src-win/rntypes/**"
9
9
  ],
10
- "baseVersion": "0.75.0-nightly-20240525-840c31c3a",
10
+ "baseVersion": "0.75.0-nightly-20240610-ced076210",
11
11
  "overrides": [
12
12
  {
13
13
  "type": "derived",
14
14
  "file": ".flowconfig",
15
15
  "baseFile": ".flowconfig",
16
- "baseHash": "bd274caf8faae09b1f0513a4086c07b778072e78"
16
+ "baseHash": "0a0c16d79748a5e84407a57c772c3508160134ae"
17
17
  },
18
18
  {
19
19
  "type": "derived",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@office-iss/react-native-win32",
3
- "version": "0.0.0-canary.252",
3
+ "version": "0.0.0-canary.254",
4
4
  "description": "Implementation of react native on top of Office's Win32 platform.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,13 +30,13 @@
30
30
  "@react-native-community/cli-platform-android": "14.0.0-alpha.2",
31
31
  "@react-native-community/cli-platform-ios": "14.0.0-alpha.2",
32
32
  "@react-native/assets": "1.0.0",
33
- "@react-native/assets-registry": "0.75.0-nightly-20240522-95de14dc5",
34
- "@react-native/codegen": "0.75.0-nightly-20240522-95de14dc5",
35
- "@react-native/community-cli-plugin": "0.75.0-nightly-20240522-95de14dc5",
36
- "@react-native/gradle-plugin": "0.75.0-nightly-20240522-95de14dc5",
37
- "@react-native/js-polyfills": "0.75.0-nightly-20240522-95de14dc5",
38
- "@react-native/normalize-colors": "0.75.0-nightly-20240522-95de14dc5",
39
- "@react-native/virtualized-lists": "0.75.0-nightly-20240522-95de14dc5",
33
+ "@react-native/assets-registry": "0.75.0-nightly-20240610-ced076210",
34
+ "@react-native/codegen": "0.75.0-nightly-20240610-ced076210",
35
+ "@react-native/community-cli-plugin": "0.75.0-nightly-20240610-ced076210",
36
+ "@react-native/gradle-plugin": "0.75.0-nightly-20240610-ced076210",
37
+ "@react-native/js-polyfills": "0.75.0-nightly-20240610-ced076210",
38
+ "@react-native/normalize-colors": "0.75.0-nightly-20240610-ced076210",
39
+ "@react-native/virtualized-lists": "0.75.0-nightly-20240610-ced076210",
40
40
  "abort-controller": "^3.0.0",
41
41
  "anser": "^1.4.9",
42
42
  "ansi-regex": "^5.0.0",
@@ -45,6 +45,7 @@
45
45
  "chalk": "^4.0.0",
46
46
  "event-target-shim": "^5.0.1",
47
47
  "flow-enums-runtime": "^0.0.6",
48
+ "glob": "^7.1.1",
48
49
  "invariant": "^2.2.4",
49
50
  "jest-environment-node": "^29.6.3",
50
51
  "jsc-android": "^250231.0.0",
@@ -70,11 +71,11 @@
70
71
  "devDependencies": {
71
72
  "@babel/core": "^7.20.0",
72
73
  "@babel/eslint-parser": "^7.20.0",
73
- "@react-native/metro-config": "0.75.0-nightly-20240522-95de14dc5",
74
+ "@react-native/metro-config": "0.75.0-nightly-20240610-ced076210",
74
75
  "@rnw-scripts/babel-react-native-config": "0.0.0",
75
- "@rnw-scripts/eslint-config": "1.2.21",
76
- "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.25",
77
- "@rnw-scripts/just-task": "2.3.38",
76
+ "@rnw-scripts/eslint-config": "1.2.23",
77
+ "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.27",
78
+ "@rnw-scripts/just-task": "2.3.40",
78
79
  "@rnw-scripts/metro-dev-config": "0.0.0",
79
80
  "@rnx-kit/jest-preset": "^0.1.0",
80
81
  "@types/node": "^18.0.0",
@@ -86,14 +87,14 @@
86
87
  "just-scripts": "^1.3.3",
87
88
  "prettier": "2.8.8",
88
89
  "react": "18.3.1",
89
- "react-native": "0.75.0-nightly-20240525-840c31c3a",
90
- "react-native-platform-override": "^1.9.39",
90
+ "react-native": "0.75.0-nightly-20240610-ced076210",
91
+ "react-native-platform-override": "^1.9.41",
91
92
  "typescript": "5.0.4"
92
93
  },
93
94
  "peerDependencies": {
94
95
  "@types/react": "^18.2.6",
95
96
  "react": "^18.2.0",
96
- "react-native": "0.75.0-nightly-20240522-95de14dc5"
97
+ "react-native": "0.75.0-nightly-20240610-ced076210"
97
98
  },
98
99
  "beachball": {
99
100
  "defaultNpmTag": "canary",
@@ -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<<63e7a8952026600cb58367e9c70fb68d>>
7
+ * @generated SignedSource<<870e25c844e692bb04ee49fe20cd3baf>>
8
8
  * @flow strict-local
9
9
  */
10
10
 
@@ -42,7 +42,7 @@ export type ReactNativeFeatureFlags = {
42
42
  ...ReactNativeFeatureFlagsJsOnly,
43
43
  commonTestFlag: Getter<boolean>,
44
44
  allowCollapsableChildren: Getter<boolean>,
45
- androidEnablePendingFabricTransactions: Getter<boolean>,
45
+ allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean>,
46
46
  batchRenderingUpdatesInEventLoop: Getter<boolean>,
47
47
  destroyFabricSurfacesInReactInstanceManager: Getter<boolean>,
48
48
  enableBackgroundExecutor: Getter<boolean>,
@@ -53,13 +53,16 @@ export type ReactNativeFeatureFlags = {
53
53
  enableUIConsistency: Getter<boolean>,
54
54
  fixStoppedSurfaceRemoveDeleteTreeUIFrameCallbackLeak: Getter<boolean>,
55
55
  forceBatchingMountItemsOnAndroid: Getter<boolean>,
56
- inspectorEnableCxxInspectorPackagerConnection: Getter<boolean>,
57
- inspectorEnableModernCDPRegistry: Getter<boolean>,
56
+ fuseboxEnabledDebug: Getter<boolean>,
57
+ fuseboxEnabledRelease: Getter<boolean>,
58
58
  lazyAnimationCallbacks: Getter<boolean>,
59
59
  preventDoubleTextMeasure: Getter<boolean>,
60
60
  setAndroidLayoutDirection: Getter<boolean>,
61
+ useImmediateExecutorInAndroidBridgeless: Getter<boolean>,
61
62
  useModernRuntimeScheduler: Getter<boolean>,
62
63
  useNativeViewConfigsInBridgelessMode: Getter<boolean>,
64
+ useRuntimeShadowNodeReferenceUpdate: Getter<boolean>,
65
+ useRuntimeShadowNodeReferenceUpdateOnLayout: Getter<boolean>,
63
66
  useStateAlignmentMechanism: Getter<boolean>,
64
67
  }
65
68
 
@@ -112,9 +115,9 @@ export const commonTestFlag: Getter<boolean> = createNativeFlagGetter('commonTes
112
115
  */
113
116
  export const allowCollapsableChildren: Getter<boolean> = createNativeFlagGetter('allowCollapsableChildren', true);
114
117
  /**
115
- * To be used with batchRenderingUpdatesInEventLoop. When enbled, the Android mounting layer will concatenate pending transactions to ensure they're applied atomatically
118
+ * Adds support for recursively processing commits that mount synchronously (Android only).
116
119
  */
117
- export const androidEnablePendingFabricTransactions: Getter<boolean> = createNativeFlagGetter('androidEnablePendingFabricTransactions', false);
120
+ export const allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean> = createNativeFlagGetter('allowRecursiveCommitsWithSynchronousMountOnAndroid', false);
118
121
  /**
119
122
  * When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
120
123
  */
@@ -156,13 +159,13 @@ export const fixStoppedSurfaceRemoveDeleteTreeUIFrameCallbackLeak: Getter<boolea
156
159
  */
157
160
  export const forceBatchingMountItemsOnAndroid: Getter<boolean> = createNativeFlagGetter('forceBatchingMountItemsOnAndroid', false);
158
161
  /**
159
- * Flag determining if the C++ implementation of InspectorPackagerConnection should be used instead of the per-platform one. This flag is global and should not be changed across React Host lifetimes.
162
+ * Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in debug builds. This flag is global and should not be changed across React Host lifetimes.
160
163
  */
161
- export const inspectorEnableCxxInspectorPackagerConnection: Getter<boolean> = createNativeFlagGetter('inspectorEnableCxxInspectorPackagerConnection', false);
164
+ export const fuseboxEnabledDebug: Getter<boolean> = createNativeFlagGetter('fuseboxEnabledDebug', false);
162
165
  /**
163
- * Flag determining if the modern CDP backend should be enabled. This flag is global and should not be changed across React Host lifetimes.
166
+ * Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in release builds. This flag is global and should not be changed across React Host lifetimes.
164
167
  */
165
- export const inspectorEnableModernCDPRegistry: Getter<boolean> = createNativeFlagGetter('inspectorEnableModernCDPRegistry', false);
168
+ export const fuseboxEnabledRelease: Getter<boolean> = createNativeFlagGetter('fuseboxEnabledRelease', false);
166
169
  /**
167
170
  * Only enqueue Choreographer calls if there is an ongoing animation, instead of enqueueing every frame.
168
171
  */
@@ -175,6 +178,10 @@ export const preventDoubleTextMeasure: Getter<boolean> = createNativeFlagGetter(
175
178
  * Propagate layout direction to Android views.
176
179
  */
177
180
  export const setAndroidLayoutDirection: Getter<boolean> = createNativeFlagGetter('setAndroidLayoutDirection', false);
181
+ /**
182
+ * Invoke callbacks immediately on the ReactInstance rather than going through a background thread for synchronization
183
+ */
184
+ export const useImmediateExecutorInAndroidBridgeless: Getter<boolean> = createNativeFlagGetter('useImmediateExecutorInAndroidBridgeless', false);
178
185
  /**
179
186
  * When enabled, it uses the modern fork of RuntimeScheduler that allows scheduling tasks with priorities from any thread.
180
187
  */
@@ -183,6 +190,14 @@ export const useModernRuntimeScheduler: Getter<boolean> = createNativeFlagGetter
183
190
  * When enabled, the native view configs are used in bridgeless mode.
184
191
  */
185
192
  export const useNativeViewConfigsInBridgelessMode: Getter<boolean> = createNativeFlagGetter('useNativeViewConfigsInBridgelessMode', false);
193
+ /**
194
+ * When enabled, cloning shadow nodes within react native will update the reference held by the current JS fiber tree.
195
+ */
196
+ export const useRuntimeShadowNodeReferenceUpdate: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdate', false);
197
+ /**
198
+ * When enabled, cloning shadow nodes during layout will update the reference held by the current JS fiber tree.
199
+ */
200
+ export const useRuntimeShadowNodeReferenceUpdateOnLayout: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdateOnLayout', false);
186
201
  /**
187
202
  * When enabled, it uses optimised state reconciliation algorithm.
188
203
  */
@@ -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<<c892b2d381564962b505e389ed78e9f2>>
7
+ * @generated SignedSource<<6922b452333fc62a263bd77d42afbbbe>>
8
8
  * @flow strict-local
9
9
  */
10
10
 
@@ -25,7 +25,7 @@ import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboMod
25
25
  export interface Spec extends TurboModule {
26
26
  +commonTestFlag?: () => boolean;
27
27
  +allowCollapsableChildren?: () => boolean;
28
- +androidEnablePendingFabricTransactions?: () => boolean;
28
+ +allowRecursiveCommitsWithSynchronousMountOnAndroid?: () => boolean;
29
29
  +batchRenderingUpdatesInEventLoop?: () => boolean;
30
30
  +destroyFabricSurfacesInReactInstanceManager?: () => boolean;
31
31
  +enableBackgroundExecutor?: () => boolean;
@@ -36,13 +36,16 @@ export interface Spec extends TurboModule {
36
36
  +enableUIConsistency?: () => boolean;
37
37
  +fixStoppedSurfaceRemoveDeleteTreeUIFrameCallbackLeak?: () => boolean;
38
38
  +forceBatchingMountItemsOnAndroid?: () => boolean;
39
- +inspectorEnableCxxInspectorPackagerConnection?: () => boolean;
40
- +inspectorEnableModernCDPRegistry?: () => boolean;
39
+ +fuseboxEnabledDebug?: () => boolean;
40
+ +fuseboxEnabledRelease?: () => boolean;
41
41
  +lazyAnimationCallbacks?: () => boolean;
42
42
  +preventDoubleTextMeasure?: () => boolean;
43
43
  +setAndroidLayoutDirection?: () => boolean;
44
+ +useImmediateExecutorInAndroidBridgeless?: () => boolean;
44
45
  +useModernRuntimeScheduler?: () => boolean;
45
46
  +useNativeViewConfigsInBridgelessMode?: () => boolean;
47
+ +useRuntimeShadowNodeReferenceUpdate?: () => boolean;
48
+ +useRuntimeShadowNodeReferenceUpdateOnLayout?: () => boolean;
46
49
  +useStateAlignmentMechanism?: () => boolean;
47
50
  }
48
51
 
@@ -16,4 +16,6 @@ export interface Spec extends TurboModule {
16
16
  +queueMicrotask: (callback: () => mixed) => void;
17
17
  }
18
18
 
19
- export default (TurboModuleRegistry.get<Spec>('NativeMicrotasksCxx'): ?Spec);
19
+ export default (TurboModuleRegistry.getEnforcing<Spec>(
20
+ 'NativeMicrotasksCxx',
21
+ ): Spec);