Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "prerelease",
"comment": "Integrate RN Nightly Build 0.80.0-nightly-20250506-3ac16dd6a",
"packageName": "@office-iss/react-native-win32",
"email": "54227869+anupriya13@users.noreply.github.com",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "patch",
"comment": "Integrate RN Nightly Build 0.80.0-nightly-20250506-3ac16dd6a",
"packageName": "@react-native-windows/automation-channel",
"email": "54227869+anupriya13@users.noreply.github.com",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "prerelease",
"comment": "Integrate RN Nightly Build 0.80.0-nightly-20250506-3ac16dd6a",
"packageName": "react-native-windows",
"email": "54227869+anupriya13@users.noreply.github.com",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"excludePatterns": [
"src/js/examples-win32/**"
],
"baseVersion": "0.80.0-nightly-20250428-9efcdc091",
"baseVersion": "0.80.0-nightly-20250506-3ac16dd6a",
"overrides": [
{
"type": "patch",
Expand Down Expand Up @@ -42,7 +42,7 @@
"type": "derived",
"file": "src/js/utils/RNTesterList.win32.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
"baseHash": "3b5c8bcdee69293ddce0d515300504979e36f87a"
"baseHash": "aded9dd37f3ac325aa1cc095f6d217114c45a8b9"
}
]
}
4 changes: 2 additions & 2 deletions packages/@office-iss/react-native-win32-tester/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"peerDependencies": {
"@office-iss/react-native-win32": "^0.0.0-canary.293",
"react": "19.1.0",
"react-native": "0.80.0-nightly-20250428-9efcdc091"
"react-native": "0.80.0-nightly-20250506-3ac16dd6a"
},
"devDependencies": {
"@office-iss/react-native-win32": "^0.0.0-canary.293",
Expand All @@ -30,7 +30,7 @@
"@types/node": "^18.0.0",
"eslint": "^8.19.0",
"just-scripts": "^1.3.3",
"react-native": "0.80.0-nightly-20250428-9efcdc091",
"react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-platform-override": "^1.9.56",
"typescript": "5.0.4"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ const styles = StyleSheet.create({

const Theming = NativeModules.Theming;

const ifModuleAvailable = (wrappedComponent: React.JSX.Element) => {
const ifModuleAvailable = (wrappedComponent: React.ReactElement): React.ReactElement => {
return Theming ? wrappedComponent : <Text>Theming Native Module not available</Text>;
};

const RenderThemeFunction = () => {
const RenderThemeFunction = (): React.ReactElement => {
const [, setText] = React.useState('');
const onChangeText = React.useCallback(t => setText(t), [setText]);
const onChangeText = React.useCallback((t: string) => setText(t), [setText]);
return (
<View style={styles.nestedContainer}>
<Text>Arguments: </Text>
Expand All @@ -39,68 +39,85 @@ const RenderThemeFunction = () => {
);
};

const ThemingMethods: React.FunctionComponent<{}> = () => {
const withBox = (
key: string,
component: React.ReactElement | React.ReactElement[]
): React.ReactElement => (
<View style={styles.box} key={key}>
<Text style={styles.header}>{key}</Text>
<>{component}</>
</View>
);

const ThemingMethods: React.FunctionComponent = () => {
return (
<View>
{Object.keys(Theming).map((val: string) => {
return typeof Theming[val] === 'function' ? withBox(val, RenderThemeFunction()) : undefined;
})}
<>
{Object.keys(Theming).map((val: string) =>
typeof Theming[val] === 'function' ? withBox(val, <RenderThemeFunction />) : null
)}
</>
</View>
);
};

const renderNestedObject = (obj: Record<string, any>) => {
const renderNestedObject = (obj: Record<string, any>): React.ReactElement => {
return (
<View style={styles.nestedContainer}>
<ScrollView>
{Object.keys(obj).map((val: string) => {
return <Text key={val}>{val + ': ' + JSON.stringify(obj[val])}</Text>;
})}
{Object.keys(obj).map((val: string) => (
<Text key={val}>{val + ': ' + JSON.stringify(obj[val])}</Text>
))}
</ScrollView>
</View>
);
};

const renderObject = (obj: Record<string, any>) => {
const renderObject = (obj: Record<string, any>): React.ReactElement => {
const firstKey = Object.keys(obj)[0];
const formattedOutput = JSON.stringify(obj)
.replace(/],/g, '],\n\n')
.replace(/:/g, ': ')
.replace(/,/g, ', ');
return obj[firstKey] instanceof Array ? <Text style={styles.nestedContainer}>{formattedOutput}</Text> : renderNestedObject(obj);
};

const renderThemeObject = (key: string): React.ReactElement => withBox(key, renderObject(Theming[key]));
return obj[firstKey] instanceof Array ? (
<Text style={styles.nestedContainer}>{formattedOutput}</Text>
) : (
renderNestedObject(obj)
);
};

const withBox = (key: string, component: React.ReactNode) => (
<View style={styles.box} key={key}>
<Text style={styles.header}>{key}</Text>
{component}
</View>
);
const renderThemeObject = (key: string): React.ReactElement =>
withBox(key, renderObject(Theming[key]));

const ThemingConstants: React.FunctionComponent<{}> = () => {
const ThemingConstants: React.FunctionComponent = () => {
return (
<View>
{Object.keys(Theming).map((val: string) => {
return typeof Theming[val] === 'object' ? renderThemeObject(val) : undefined;
})}
<>
{Object.keys(Theming).map((val: string) =>
typeof Theming[val] === 'object' ? renderThemeObject(val) : null
)}
</>
</View>
);
};

export const title = 'Theming Module APIs';
export const displayName = 'Theming Module APIs';
export const description = 'Tests shape of Theming Native Module';
export const examples = [
{
title: 'Theming Module Constants',
description: 'All constants',
render: () => ifModuleAvailable(<ThemingConstants />),
},
{
title: 'Theming Module Methods',
description: 'Method invoker',
render: () => ifModuleAvailable(<ThemingMethods />),
},
];
export const examples: {
title: string;
description: string;
render: () => React.ReactElement;
}[] = [
{
title: 'Theming Module Constants',
description: 'All constants',
render: (): React.ReactElement => ifModuleAvailable(<ThemingConstants />),
},
{
title: 'Theming Module Methods',
description: 'Method invoker',
render: (): React.ReactElement => ifModuleAvailable(<ThemingMethods />),
},
];
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

import type {RNTesterModule, RNTesterModuleInfo} from '../types/RNTesterTypes';

import * as RNTesterListFbInternal from './RNTesterListFbInternal';
import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags';

const Components: Array<RNTesterModuleInfo> = [
Expand Down Expand Up @@ -159,6 +160,7 @@ const Components: Array<RNTesterModuleInfo> = [
module: require('../examples/OSSLibraryExample/OSSLibraryExample'),
},
*/
...RNTesterListFbInternal.Components,
];

const APIs: Array<RNTesterModuleInfo> = ([
Expand Down Expand Up @@ -233,14 +235,6 @@ const APIs: Array<RNTesterModuleInfo> = ([
.default,
},
// Only show the link for the example if the API is available.
// $FlowExpectedError[cannot-resolve-name]
typeof IntersectionObserver === 'function'
? {
key: 'IntersectionObserver',
category: 'UI',
module: require('../examples/IntersectionObserver/IntersectionObserverIndex'),
}
: null,
{
key: 'InvalidPropsExample',
module: require('../examples/InvalidProps/InvalidPropsExample'),
Expand All @@ -265,14 +259,6 @@ const APIs: Array<RNTesterModuleInfo> = ([
category: 'UI',
module: require('../examples/Layout/LayoutExample'),
},
// $FlowExpectedError[cannot-resolve-name]
typeof MutationObserver === 'function'
? {
key: 'MutationObserver',
category: 'UI',
module: require('../examples/MutationObserver/MutationObserverIndex'),
}
: null,
{
key: 'NativeAnimationsExample',
category: 'UI',
Expand Down Expand Up @@ -380,11 +366,7 @@ const APIs: Array<RNTesterModuleInfo> = ([
category: 'Basic',
module: require('../examples/TurboModule/TurboCxxModuleExample'),
},
{
key: 'PerformanceApiExample',
category: 'Basic',
module: require('../examples/Performance/PerformanceApiExample'),
},
...RNTesterListFbInternal.APIs,
]: Array<?RNTesterModuleInfo>).filter(Boolean);

if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) {
Expand Down
9 changes: 8 additions & 1 deletion packages/@office-iss/react-native-win32/.flowconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
.*/*[.]macos.js
.*/*[.]windesktop.js

; Ignore fb_internal modules
<PROJECT_ROOT>/packages/react-native/src/fb_internal/.*

; These modules have base components and win32 versions.
; Ideally we'd delete the base versions of files that had .win32 overrides as part of the
; initRNLibraries build step
Expand Down Expand Up @@ -39,6 +42,10 @@
<PROJECT_ROOT>/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js
<PROJECT_ROOT>/Libraries/LogBox/UI/LogBoxStyle.js

<PROJECT_ROOT>/IntegrationTests/ImageCachePolicyTest.js
<PROJECT_ROOT>/IntegrationTests/LayoutEventsTest.js
<PROJECT_ROOT>/IntegrationTests/IntegrationTestsApp.js

; Ignore react-native files in node_modules since they are copied into project root
.*/node_modules/react-native/.*

Expand Down Expand Up @@ -167,4 +174,4 @@ untyped-import
untyped-type-import

[version]
^0.268.0
^0.269.1
12 changes: 6 additions & 6 deletions packages/@office-iss/react-native-win32/overrides.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
"**/__snapshots__/**",
"src-win/rntypes/**"
],
"baseVersion": "0.80.0-nightly-20250428-9efcdc091",
"baseVersion": "0.80.0-nightly-20250506-3ac16dd6a",
"overrides": [
{
"type": "derived",
"file": ".flowconfig",
"baseFile": ".flowconfig",
"baseHash": "d274ca7bb384b334c5b2ee0827726e7a3d6c98c9"
"baseHash": "70ed729d5f52c241530e8459cc40263d4e9fa9c0"
},
{
"type": "derived",
Expand Down Expand Up @@ -114,7 +114,7 @@
"type": "derived",
"file": "src-win/Libraries/Components/TextInput/TextInput.win32.js",
"baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
"baseHash": "4b3128471dd0d362e9828df8937f708d53694e12"
"baseHash": "9965c0079652083ab549bc2799eb9528b56a1b2d"
},
{
"type": "patch",
Expand Down Expand Up @@ -183,13 +183,13 @@
"type": "derived",
"file": "src-win/Libraries/Components/View/ViewAccessibility.d.ts",
"baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.d.ts",
"baseHash": "d97e29f01e57cc2b0de209a03f8584b984cfe190"
"baseHash": "1e4e3a89397960e8f08b86be62496473829c0ac3"
},
{
"type": "derived",
"file": "src-win/Libraries/Components/View/ViewAccessibility.win32.js",
"baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js",
"baseHash": "c30dab3926869e84edafebd485e78637d69ccd61"
"baseHash": "04981261b2ed61b31bfbb396478bb6b103d99253"
},
{
"type": "derived",
Expand Down Expand Up @@ -329,7 +329,7 @@
"type": "derived",
"file": "src-win/Libraries/NativeComponent/BaseViewConfig.win32.js",
"baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js",
"baseHash": "3ba8fe1a60d744e057e856bc43e2df28f4fd7f66"
"baseHash": "b520e2bdb2be31bdb6ad7e3769dbe69168870c8c"
},
{
"type": "copy",
Expand Down
Loading
Loading