Skip to content

RN77 new arch #3721

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 50 commits into from
Jul 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
64b45b3
Upgrade to react native 0.76.9
M-i-k-e-l May 6, 2025
c05b635
RN77 upgrade + new arch
M-i-k-e-l May 7, 2025
3d4cad6
Remove TextInputDelKeyHandlerPackage (Android)
M-i-k-e-l May 7, 2025
3004293
KeyboardAccessoryView on Android - fix crash (one bug left)
M-i-k-e-l May 8, 2025
2849be7
Pressing on dismiss (x) only fully works the second time - a very com…
M-i-k-e-l May 8, 2025
6b4b1bf
Remove unused code
M-i-k-e-l May 8, 2025
436f0da
HighlighterViewManager - fix (use new API)
M-i-k-e-l May 8, 2025
78f55fd
Fix gesture handler changed style
M-i-k-e-l May 20, 2025
56fb161
Fix images (unrelated)
M-i-k-e-l May 20, 2025
a46bc21
Fix PanViewScreen (unrelated)
M-i-k-e-l May 20, 2025
2d76207
Fix dragging in SortableList and SortableGridList
M-i-k-e-l May 25, 2025
50c7644
Update navigation
M-i-k-e-l May 25, 2025
3429111
Change iOS back to Objective-C
M-i-k-e-l May 25, 2025
f4cd863
Fix screen - border color
M-i-k-e-l May 25, 2025
db5509f
Revert to older reanimated and gesture-handler versions
M-i-k-e-l May 26, 2025
bca8230
Drawer - fix animation flickering
M-i-k-e-l May 27, 2025
8f25560
Remove comment
M-i-k-e-l May 27, 2025
6350059
StackAggregator - several fixes - see https://github.com/wix/react-na…
M-i-k-e-l May 27, 2025
160155c
Drawer - fix color not being shown with multiple buttons (RectButton …
M-i-k-e-l May 27, 2025
ddca74f
Fix
M-i-k-e-l May 27, 2025
9e92fa1
Downgrading reanimated and gesture handler
Inbal-Tish May 27, 2025
5b71dda
Fix
M-i-k-e-l May 27, 2025
b3ae5f0
Fix iOS (setimmediate)
M-i-k-e-l May 29, 2025
2962046
remove UIManager.setLayoutAnimationEnabledExperimental
Inbal-Tish Jun 3, 2025
82435fa
Merge branch 'master' into rn76-old-arch
M-i-k-e-l Jun 3, 2025
8d65eff
Merge branch 'rn76-old-arch' into rn77-new-arch
M-i-k-e-l Jun 3, 2025
c8e888b
Update RNN
M-i-k-e-l Jun 3, 2025
8741eaf
Merge branch 'master' into rn76-old-arch
M-i-k-e-l Jun 9, 2025
176e88a
Merge branch 'rn76-old-arch' into rn77-new-arch
M-i-k-e-l Jun 9, 2025
49138d6
Fix snapshot
M-i-k-e-l Jun 9, 2025
e5adc55
Fix TS
M-i-k-e-l Jun 9, 2025
0a6c868
Merge branch 'rn76-old-arch' into rn77-new-arch
M-i-k-e-l Jun 9, 2025
b3dfb98
Fix TS
M-i-k-e-l Jun 9, 2025
d37b5c4
Fix snapshot
M-i-k-e-l Jun 9, 2025
ed3cae6
Merge branch 'master' into rn76-old-arch
M-i-k-e-l Jun 15, 2025
938d001
Merge branch 'rn76-old-arch' into rn77-new-arch
M-i-k-e-l Jun 15, 2025
9ce1374
Native lib reorder and fix ios (#3750)
Inbal-Tish Jun 26, 2025
21ad439
KeyboardAwareBase - fix error
M-i-k-e-l Jun 17, 2025
8dcaa2d
Fix menu - "native" tag should show all (and only) native components
M-i-k-e-l Jun 17, 2025
50839f2
Update uilib-native to snapshot
M-i-k-e-l Jun 26, 2025
09741dc
Fix tests
M-i-k-e-l Jun 26, 2025
99cbdc7
Update uilib-native to snapshot
M-i-k-e-l Jun 26, 2025
3a892d3
Fix TS error and web type
M-i-k-e-l Jun 26, 2025
89d04cf
Change from codegenNativeComponent to requireNativeComponent in order…
M-i-k-e-l Jun 29, 2025
0fc153d
Revert, move to specs and publish the typescript vesion (#3769)
M-i-k-e-l Jun 29, 2025
8f4d248
SafeAreaSpacerView - fix race condition and a small refactor (#3770)
M-i-k-e-l Jun 29, 2025
8b6ed0c
Merge branch 'v8' into rn76-old-arch
M-i-k-e-l Jul 1, 2025
757c300
Merge branch 'rn76-old-arch' into rn77-new-arch
M-i-k-e-l Jul 1, 2025
467b94e
Remove extra backgroundColor
M-i-k-e-l Jul 1, 2025
224b010
Merge branch 'v8' into rn77-new-arch
M-i-k-e-l Jul 1, 2025
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
6 changes: 3 additions & 3 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ buildscript {
minSdkVersion = 26
compileSdkVersion = 35
targetSdkVersion = 34
ndkVersion = "26.1.10909125"
RNNKotlinVersion = "1.9.25"
ndkVersion = "27.1.12297006"
kotlinVersion = "2.0.21"
}
repositories {
mavenLocal()
Expand All @@ -19,7 +19,7 @@ buildscript {
classpath("com.facebook.react:react-native-gradle-plugin")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$RNNKotlinVersion"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
}
}

Expand Down
2 changes: 1 addition & 1 deletion android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
# your application. You should enable this flag either if you want
# to write custom TurboModules/Fabric components OR use libraries that
# are providing them.
newArchEnabled=false
newArchEnabled=true

# Use this property to enable or disable the Hermes JS engine.
# If set to false, you will be using JSC instead.
Expand Down
12 changes: 12 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
module.exports = {
presets: ['module:@react-native/babel-preset'],
env: {
test: {
presets: [
[
'module:@react-native/babel-preset',
{
disableStaticViewConfigsCodegen: true
}
]
]
}
},
plugins: [
'react-native-reanimated/plugin',
[
Expand Down
3 changes: 1 addition & 2 deletions demo/src/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import {UIManager, I18nManager} from 'react-native';
import {I18nManager} from 'react-native';
import {navigationData as menuStructure} from './screens/MenuStructure';
import {loadDemoConfigurations} from './configurations';

UIManager.setLayoutAnimationEnabledExperimental && UIManager.setLayoutAnimationEnabledExperimental(true); // eslint-disable-line
I18nManager.allowRTL(true);

module.exports = {
Expand Down
18 changes: 9 additions & 9 deletions demo/src/screens/MenuStructure.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ export const navigationData = {
screens: [
{title: 'Action Sheet', tags: 'action sheet cross-platform', screen: 'unicorn.components.ActionSheetScreen'},
{title: 'Dialog', tags: 'dialog modal popup alert', screen: 'unicorn.components.DialogScreen'},
{title: 'Feature Highlight', tags: 'feature overlay', screen: 'unicorn.components.FeatureHighlightScreen'},
{title: 'Feature Highlight', tags: 'native feature overlay', screen: 'unicorn.components.FeatureHighlightScreen'},
{title: 'Floating Button', tags: 'floating button', screen: 'unicorn.components.FloatingButtonScreen'},
{title: 'Hint', tags: 'hints tooltip', screen: 'unicorn.components.HintsScreen'},
{title: 'Toast', tags: 'toast top bottom snackbar', screen: 'unicorn.components.ToastsScreen'}
Expand Down Expand Up @@ -117,10 +117,10 @@ export const navigationData = {
{title: 'LoadingScreen', tags: 'loading screen', screen: 'unicorn.screens.LoadingScreen'},
{title: 'Modal', tags: 'modal topbar screen', screen: 'unicorn.screens.ModalScreen'},
{title: 'StateScreen', tags: 'empty state screen', screen: 'unicorn.screens.EmptyStateScreen'},
{title: 'TabController', tags: 'tabbar controller native', screen: 'unicorn.components.TabControllerScreen'},
{title: 'TabController', tags: 'tabbar controller', screen: 'unicorn.components.TabControllerScreen'},
{
title: 'TabControllerWithStickyHeader',
tags: 'tabbar controller native sticky header',
tags: 'tabbar controller sticky header',
screen: 'unicorn.components.TabControllerWithStickyHeaderScreen'
},
{title: 'Timeline', tags: 'timeline', screen: 'unicorn.components.TimelineScreen'},
Expand Down Expand Up @@ -148,28 +148,28 @@ export const navigationData = {
screens: [
{
title: 'KeyboardAwareScrollView',
tags: 'KeyboardAwareScrollView',
tags: 'native KeyboardAwareScrollView',
screen: 'unicorn.components.KeyboardAwareScrollViewScreen'
},
{
title: 'Dynamic Fonts',
tags: 'dynamic fonts load download',
tags: 'native dynamic fonts load download',
screen: 'unicorn.nativeComponents.DynamicFontsScreen'
},
{
title: 'Highlight Overlay',
tags: 'native overlay',
tags: 'native native overlay',
screen: 'unicorn.nativeComponents.HighlightOverlayViewScreen'
},
{title: 'SafeArea Spacer', tags: 'native safe area', screen: 'unicorn.nativeComponents.SafeAreaSpacerViewScreen'},
{
title: 'KeyboardTracking (iOS)',
tags: 'KeyboardTracking',
tags: 'native KeyboardTracking',
screen: 'unicorn.nativeComponents.KeyboardTrackingViewScreen'
},
{
title: 'KeyboardAccessoryView',
tags: 'KeyboardInput',
tags: 'native KeyboardInput',
screen: 'unicorn.nativeComponents.KeyboardAccessoryViewScreen'
}
]
Expand All @@ -193,7 +193,7 @@ export const navigationData = {
screens: [
{title: 'Calendar', tags: 'calendar', screen: 'unicorn.components.IncubatorCalendarScreen'},
{title: 'ChipsInput', tags: 'chips input', screen: 'unicorn.components.ChipsInputScreen'},
{title: 'Native TouchableOpacity', tags: 'touchable native', screen: 'unicorn.incubator.TouchableOpacityScreen'},
{title: 'Native TouchableOpacity', tags: 'native touchable', screen: 'unicorn.incubator.TouchableOpacityScreen'},
{title: 'Toast (New)', tags: 'toast', screen: 'unicorn.components.IncubatorToastScreen'},
{
title: 'ExpandableOverlay',
Expand Down
126 changes: 96 additions & 30 deletions demo/src/screens/__tests__/__snapshots__/TextFieldScreen.spec.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -1522,16 +1522,38 @@ exports[`TextField Screen renders screen 1`] = `
numberOfLines={1}
onLayout={[Function]}
style={
{
"backgroundColor": "transparent",
"color": "#6E7881",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
"opacity": 0,
"writingDirection": "ltr",
}
[
{
"backgroundColor": "transparent",
"color": "#20303C",
"writingDirection": "ltr",
},
undefined,
{
"color": "#6E7881",
},
undefined,
undefined,
{},
undefined,
undefined,
undefined,
[
{},
[
{},
{
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
],
{
"opacity": 0,
},
],
]
}
testID="undefined.floatingPlaceholder"
>
Expand Down Expand Up @@ -2118,16 +2140,38 @@ exports[`TextField Screen renders screen 1`] = `
numberOfLines={1}
onLayout={[Function]}
style={
{
"backgroundColor": "transparent",
"color": "#20303C",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
"opacity": 0,
"writingDirection": "ltr",
}
[
{
"backgroundColor": "transparent",
"color": "#20303C",
"writingDirection": "ltr",
},
undefined,
{
"color": "#20303C",
},
undefined,
undefined,
{},
undefined,
undefined,
undefined,
[
{},
[
{},
{
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
],
{
"opacity": 0,
},
],
]
}
testID="undefined.floatingPlaceholder"
>
Expand Down Expand Up @@ -2433,16 +2477,38 @@ exports[`TextField Screen renders screen 1`] = `
numberOfLines={1}
onLayout={[Function]}
style={
{
"backgroundColor": "transparent",
"color": "#20303C",
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
"opacity": 0,
"writingDirection": "ltr",
}
[
{
"backgroundColor": "transparent",
"color": "#20303C",
"writingDirection": "ltr",
},
undefined,
{
"color": "#20303C",
},
undefined,
undefined,
{},
undefined,
undefined,
undefined,
[
{},
[
{},
{
"fontFamily": "System",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
],
{
"opacity": 0,
},
],
]
}
testID="undefined.floatingPlaceholder"
>
Expand Down
4 changes: 2 additions & 2 deletions demo/src/screens/componentScreens/AnimatedImageScreen.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import _ from 'lodash';
import {AnimatedImage, Colors} from 'react-native-ui-lib'; //eslint-disable-line

const SampleImages = [
'https://static.pexels.com/photos/50721/pencils-crayons-colourful-rainbow-50721.jpeg',
'https://static.pexels.com/photos/60628/flower-garden-blue-sky-hokkaido-japan-60628.jpeg'
'https://images.pexels.com/photos/2529146/pexels-photo-2529146.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500',
'https://images.pexels.com/photos/2529158/pexels-photo-2529158.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500'
];

export default class AnimatedImageScreen extends Component {
Expand Down
6 changes: 3 additions & 3 deletions demo/src/screens/componentScreens/PanViewScreen.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, {Component} from 'react';
import {StyleSheet, ScrollView} from 'react-native';
import {FlatList} from 'react-native-gesture-handler';
import {FlatList, GestureHandlerRootView} from 'react-native-gesture-handler';
import {
Assets,
View,
Expand Down Expand Up @@ -146,7 +146,7 @@ class PanViewScreen extends Component {
render() {
const {showToast, showDialog} = this.state;
return (
<View style={styles.root}>
<GestureHandlerRootView style={styles.root}>
<View marginL-page height={50} centerV>
<Text text50>New Pan View</Text>
</View>
Expand All @@ -162,7 +162,7 @@ class PanViewScreen extends Component {
</ScrollView>
{showToast && this.renderToast()}
{showDialog && this.renderDialog()}
</View>
</GestureHandlerRootView>
);
}
}
Expand Down
2 changes: 1 addition & 1 deletion demo/src/screens/componentScreens/SortableListScreen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ export default SortableListScreen;
const styles = StyleSheet.create({
itemContainer: {
height: 52,
borderColor: Colors.$outlineDefault,
borderBottomColor: Colors.$outlineDefault,
borderBottomWidth: 1
},
selectedItemContainer: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class Tab2 extends Component {
<Avatar
size={50}
source={{
uri: 'https://static.pexels.com/photos/60628/flower-garden-blue-sky-hokkaido-japan-60628.jpeg'
uri: 'https://images.pexels.com/photos/2529159/pexels-photo-2529159.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500'
}}
/>
<Text text40 marginL-20>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ export default class HighlightOverlayViewScreen extends PureComponent {
}

componentDidMount() {
this.setState({showFTE: true});
// setting timeout to allow Android's transition animation to complete
setTimeout(() => {
this.setState({showFTE: true});
}, 1000);
}

onRefUpdated(ref) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ export default class SafeAreaSpacerViewScreen extends PureComponent {
<Text red50> SafeAreaSpacerView </Text>
{'can be used as a BOTTOM or TOP spacer and will get the height of the safe area insets'}
</Text>
<SafeAreaSpacerView style={{width: 100, backgroundColor: 'red'}}/>
</View>
</ScrollView>
<View style={styles.topView}>
Expand Down
3 changes: 1 addition & 2 deletions docuilib/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,10 @@
"@types/react": "^17.0.14",
"@types/react-helmet": "^6.1.2",
"@types/react-router-dom": "^5.1.8",
"metro-react-native-babel-preset": "0.76.9",
"metro-react-native-babel-preset": "0.77.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-native-linear-gradient": "2.6.2",
"react-native-reanimated": "3.16.7",
"react-native-shimmer-placeholder": "^2.0.9",
"react-native-ui-lib": "snapshot",
"shell-utils": "^1.0.10",
Expand Down
5 changes: 2 additions & 3 deletions docuilib/plugins/uilib.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,12 @@ module.exports = ({siteDir}, _options) => {
path.resolve(siteDir, 'src'),
path.resolve(siteDir, 'node_modules/react-native-web'),
path.resolve(siteDir, 'node_modules/react-native-ui-lib'),
// // just for not getting warnings
path.resolve(siteDir, 'node_modules/react-native-shimmer-placeholder'),
path.resolve(siteDir, 'node_modules/react-native-reanimated'),
path.resolve(siteDir, 'node_modules/react-native-linear-gradient')
// // end just for not getting warnings
// just for not getting warnings
// path.resolve(siteDir, 'node_modules/react-native-haptic-feedback'),
// path.resolve(siteDir, 'node_modules/react-native-animatable'),
// path.resolve(siteDir, 'node_modules/react-native-reanimated'),
// path.resolve(siteDir, 'node_modules/react-native-svg'),
// path.resolve(siteDir, 'node_modules/react-native-svg-transformer'),
// path.resolve(siteDir, 'node_modules/@react-native-community/netinfo'),
Expand Down
Loading