Skip to content

Commit 1803ec8

Browse files
committed
Merge branch 'main' into @kligarski/ios-back-button
2 parents eb33df9 + 6fc0183 commit 1803ec8

35 files changed

Lines changed: 1703 additions & 128 deletions

Example/ios/Podfile.lock

Lines changed: 61 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -2434,7 +2434,7 @@ PODS:
24342434
- ReactCommon/turbomodule/core
24352435
- SocketRocket
24362436
- Yoga
2437-
- RNScreens (4.16.0):
2437+
- RNScreens (4.17.1):
24382438
- boost
24392439
- DoubleConversion
24402440
- fast_float
@@ -2713,77 +2713,77 @@ SPEC CHECKSUMS:
27132713
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
27142714
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
27152715
hermes-engine: 8b7ef0f4e8363c2dfd6fd133979dd58f57b95825
2716-
RCT-Folly: 59ec0ac1f2f39672a0c6e6cecdd39383b764646f
2716+
RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
27172717
RCTDeprecation: c4b9e2fd0ab200e3af72b013ed6113187c607077
27182718
RCTRequired: e97dd5dafc1db8094e63bc5031e0371f092ae92a
27192719
RCTTypeSafety: 720403058b7c1380c6a3ae5706981d6362962c89
27202720
React: f1486d005993b0af01943af1850d3d4f3b597545
27212721
React-callinvoker: 133f69368c8559e744efa345223625d412f5dfbe
2722-
React-Core: d6d8c1fd33697cec596d33b820456505ee305686
2723-
React-CoreModules: 81ab751a7668ba161440f9623b994e1a6a3019fe
2724-
React-cxxreact: 16f2a2751d0dce8b569f23c1914edc90f655b01b
2722+
React-Core: 559823921b4f294c2840fa8238ca958a29ddc211
2723+
React-CoreModules: c41e7bbfabbc420783bb926f45837a0d5e53341e
2724+
React-cxxreact: 9cb9fa738274a1b36b97ede09c8a6717dec1a20b
27252725
React-debug: e01581e1589f329e61c95b332bf7f4969b10564b
2726-
React-defaultsnativemodule: e956b1d8fe15cc79d23061db229bf88170565f2f
2727-
React-domnativemodule: a18b0f7a31b9c75f12fa369baece5542d1265b36
2728-
React-Fabric: c0237a32c3c0dbea2d2b294c8e95605e1dfe2f57
2729-
React-FabricComponents: 65b03884bd5d9f24c79a631d7d26f0fa079bc4aa
2730-
React-FabricImage: de1ea2f2a0b32ad02e5cbb64827d1eec0439cf0d
2731-
React-featureflags: 02de9c35256cc624269b01d670d99e1fd706ea8d
2732-
React-featureflagsnativemodule: 8b84e67edbaa7b9318390c5bd3ae19790a74f356
2733-
React-graphics: 004b40c1b236ea3bb8de6693439bef9797922ba9
2734-
React-hermes: 2179a018b2f86652f6f33ef23efd9e5ac284b247
2735-
React-idlecallbacksnativemodule: f54ea68f984b12e42feed1e7110623b2c38df4d1
2736-
React-ImageManager: 9dd04b7b62bc5397f876ca5fb1b712e700ce390c
2737-
React-jserrorhandler: 2f90bf50fffea1d012e7f3d717c6adf748b1813d
2738-
React-jsi: b27208f8866e53238534f65f304903e4eff25e05
2739-
React-jsiexecutor: 1d3e827797f592c393860dea91aaa6d53c7715e7
2740-
React-jsinspector: bda319277ae779bc476b736fe3a497c6aed304cd
2741-
React-jsinspectorcdp: 69e1736edfd5420037680b7b4557fa748c3c8216
2742-
React-jsinspectornetwork: 7aa707b057c6129b4af59e0c9160436bbab25022
2743-
React-jsinspectortracing: b4a8a328ad2697f9638daa4b7cc054e0303fa47f
2744-
React-jsitooling: a6c7e2829437b28665e97a398b3374d443125e24
2745-
React-jsitracing: d87ae17dd0eef7844e605945da926c5433fe2b51
2746-
React-logger: d27dd2000f520bf891d24f6e141cde34df41f0ee
2747-
React-Mapbuffer: 0746ffab5ac0f49b7c9347338e3d0c1d9dd634c8
2748-
React-microtasksnativemodule: b0fb3f97372df39bda3e657536039f1af227cc29
2749-
react-native-restart: 7595693413fe3ca15893702f2c8306c62a708162
2750-
react-native-safe-area-context: 8e0068b78eb531d8ba5c113cc0d1e516a5313be6
2751-
React-NativeModulesApple: 9ec9240159974c94886ebbe4caec18e3395f6aef
2726+
React-defaultsnativemodule: bbb39447caa6b6cf9405fa0099f828c083640faa
2727+
React-domnativemodule: 03744d12b6d56d098531a933730bf1d4cb79bdfb
2728+
React-Fabric: 530b3993a12a96e8a7cdb9f0ef48e605277b572e
2729+
React-FabricComponents: 271ec2a9b2c00ac66fd6d1fd24e9e964d907751d
2730+
React-FabricImage: d0af66e976dbab7f8b81e36dd369fc70727d2695
2731+
React-featureflags: 269704c8eff86e0485c9d384e286350fcda6eb70
2732+
React-featureflagsnativemodule: db1e5d88a912fb08a5ece33fcf64e1b732da8467
2733+
React-graphics: b19d03a01b0722b4dc82f47acb56dc3ed41937e7
2734+
React-hermes: 811606c0aca5a3f9c6fa8e4994e02ca8f677e68e
2735+
React-idlecallbacksnativemodule: 3a3df629cd50046c7e4354f9025aefe8f2c84601
2736+
React-ImageManager: 0d53866c63132791e37bb2373f93044fdef14aa3
2737+
React-jserrorhandler: d5700d6ab7162fd575287502a3c5d601d98e7f09
2738+
React-jsi: ece95417fedbed0e7153a855cb8342b7c72ab75e
2739+
React-jsiexecutor: 2b0bb644b533df2f5c0cd6ade9a4560d0bf1dd84
2740+
React-jsinspector: 0c160f8510a8852bdf2dac12f0b1949efc18200b
2741+
React-jsinspectorcdp: f4b84409f453f61ddd8614ad45139bc594ec6bb5
2742+
React-jsinspectornetwork: 8f2f0ca8c871ca19b571f426002c0012e7fb2aee
2743+
React-jsinspectortracing: 33f6b977eb8a4bc1e3d1a4b948809aca083143f9
2744+
React-jsitooling: 2c61529b589e17229a9f0a4a4fc35aa7ad495850
2745+
React-jsitracing: 838a7b0c013c4aff7d382d7fdc78cf442013ba1d
2746+
React-logger: 7aef4d74123e5e3d267e5af1fbf5135b5a0d8381
2747+
React-Mapbuffer: 91e0eab42a6ae7f3e34091a126d70fc53bd3823e
2748+
React-microtasksnativemodule: 1ead4fe154df3b1ba34b5a9e35ef3c4bdfa72ccb
2749+
react-native-restart: 0bc732f4461709022a742bb29bcccf6bbc5b4863
2750+
react-native-safe-area-context: 12c7daa0ea4fa4eeb513fc273fac6b47aa332bd6
2751+
React-NativeModulesApple: eff2eba56030eb0d107b1642b8f853bc36a833ac
27522752
React-oscompat: b12c633e9c00f1f99467b1e0e0b8038895dae436
2753-
React-perflogger: ccf4fd2664b00818645e588623c7531a8b32d114
2754-
React-performancetimeline: a866ba759d8e06e9ba174b4421677edcae487baf
2753+
React-perflogger: 58d12c4e5df1403030c97b9c621375c312cca454
2754+
React-performancetimeline: 0ee0a3236c77a4ee6d8a6189089e41e4003d292e
27552755
React-RCTActionSheet: 3f741a3712653611a6bfc5abceb8260af9d0b218
2756-
React-RCTAnimation: 2edeebfba175cc2e937e2752209ab605d3c48f21
2757-
React-RCTAppDelegate: a99ef112d5f199aba910c14e046e9dbc7fe89f75
2758-
React-RCTBlob: 8dfb24b6dd4a5af45e1e59e2fd925b2df1e44d08
2759-
React-RCTFabric: 2cb67c67e545c6ec76a853861aa275983fe5aca4
2760-
React-RCTFBReactNativeSpec: 174272d8db878578a7d282b137ccc2da4776877c
2761-
React-RCTImage: c7fe8c2f2ae8bad98ab4d944d5d50a889da4b652
2762-
React-RCTLinking: 9ac21ce9f1af914bb01c06af3752db2ec840d0ee
2763-
React-RCTNetwork: 09a5de71d757dbad4b3fe3615839290200b932aa
2764-
React-RCTRuntime: 5072e1dbb1ff6d455f0013db6f25d1fdba5f1844
2765-
React-RCTSettings: fee112652ac7569ea9abe910206e1685f5f9adba
2766-
React-RCTText: 7ee9d0bc16b3a8149f8df6d70c48e724d0db1d89
2767-
React-RCTVibration: 619d613abaeb05f6fbc2b2e5e33f724f05df8eb8
2756+
React-RCTAnimation: 408ad69ea136e99a463dd33eadecc29e586b3d72
2757+
React-RCTAppDelegate: 4d5bf77492e4801324f8602272ae5bc9cdcff524
2758+
React-RCTBlob: bd42e92a00ad22eaab92ffe5c137e7a2f725887a
2759+
React-RCTFabric: 66f3591e9c1625ebb710da39a2658420045be706
2760+
React-RCTFBReactNativeSpec: fe771b3d4429dd82df7cc32216e33075f5f4a7ad
2761+
React-RCTImage: 0f1c74f7cd20027f8c34976a211b35d4263a0add
2762+
React-RCTLinking: 6d7dfc3a74110df56c3a73cc7626bf4415656542
2763+
React-RCTNetwork: 6a25d8645a80d5b86098675ca39bf8fcf1afa08b
2764+
React-RCTRuntime: a1e7f9f012252ef5980719b319df360c8e96444c
2765+
React-RCTSettings: 651d9ae2cdd32f547ad0d225a2c13886d6ad2358
2766+
React-RCTText: 9bc66cd288478e23195e01f5cb45eba79986b2b4
2767+
React-RCTVibration: 371226f5667a00c76d792dcdb5c2e0fcbcde0c3b
27682768
React-rendererconsistency: a05f6c37f9389c53213d1e28798e441fa6fbdbcd
2769-
React-renderercss: 3decb27a81648fcdee837c59994b51fff5be5a67
2770-
React-rendererdebug: 3b9a92d36932af52e1b473f2a89ea4b05dbdecdf
2771-
React-RuntimeApple: 4e35fb74be4b721c2e1fd6d54ec66456fa7043e9
2772-
React-RuntimeCore: 0fd7ac6e3e9dd20cb47e87c6b9f35832dd445d5e
2773-
React-runtimeexecutor: 7680156c9f3a5a49c688bc33f9ec5ea1b00527f5
2774-
React-RuntimeHermes: 435b7104a3c749af6251353dcb7317a8e53cbd73
2775-
React-runtimescheduler: 8056b916168e446ea44531883928034e62e76a81
2776-
React-timing: 36da85e32e53008ce73f87528818191e7f2508ba
2777-
React-utils: 71e53d55ce778c6e7c7c9db4b1b9d63ef8f55289
2778-
ReactAppDependencyProvider: 448b422f8af1dedf81374eacc90a15439a0ed7f5
2779-
ReactCodegen: 3baedb0c33f963250c866151b825a3c5194b12f1
2780-
ReactCommon: e897f9a1b4afab370cfefaaf5fb3c80371bc3937
2781-
RNGestureHandler: 4e01eefc427d3af22b877fdb4f7bc826132daab6
2782-
RNReanimated: 1d9e9249c9e4222881b7107e52b52f4a9ee879b6
2783-
RNScreens: 9ae2656a55e9466dc04da3ba196d7932a6bd8146
2769+
React-renderercss: 6e4febfa014b0f53bc171a62b0f713ddbdbb9860
2770+
React-rendererdebug: e94bf27b9d55ef2795caa8e43aa92abc4a373b8b
2771+
React-RuntimeApple: 723be5159519eba1cd92449acb29436d21571b82
2772+
React-RuntimeCore: f58eb0f01065c9d27d91de10b2e4ab4c76d83b0e
2773+
React-runtimeexecutor: f615ec8742d0b5820170f7c8b4d2c7cb75d93ac9
2774+
React-RuntimeHermes: fddb258e03d330d1132bb19e78fe51ac2f3f41ac
2775+
React-runtimescheduler: e92a31460e654ced8587debeec37553315e1b6a5
2776+
React-timing: 97ada2c47b4c5932e7f773c7d239c52b90d6ca68
2777+
React-utils: f0949d247a46b4c09f03e5a3cb1167602d0b729a
2778+
ReactAppDependencyProvider: 3eb9096cb139eb433965693bbe541d96eb3d3ec9
2779+
ReactCodegen: 4d203eddf6f977caa324640a20f92e70408d648b
2780+
ReactCommon: ce5d4226dfaf9d5dacbef57b4528819e39d3a120
2781+
RNGestureHandler: 12a436b5074378be95468a57b62c165a1e24cfc9
2782+
RNReanimated: 488bbae315509dec258dc50e8625b34d3d449aec
2783+
RNScreens: ad259502cdad69dc7082a69f7e91c55c46b3fd1c
27842784
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
27852785
Yoga: 11c9686a21e2cd82a094a723649d9f4507200fb0
27862786

27872787
PODFILE CHECKSUM: e1c705abfb728b259283bd3b94a9aaac16e72096
27882788

2789-
COCOAPODS: 1.15.2
2789+
COCOAPODS: 1.16.2

FabricExample/ios/Podfile.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2530,7 +2530,7 @@ PODS:
25302530
- RNWorklets
25312531
- SocketRocket
25322532
- Yoga
2533-
- RNScreens (4.16.0):
2533+
- RNScreens (4.17.1):
25342534
- boost
25352535
- DoubleConversion
25362536
- fast_float
@@ -2557,10 +2557,10 @@ PODS:
25572557
- ReactCodegen
25582558
- ReactCommon/turbomodule/bridging
25592559
- ReactCommon/turbomodule/core
2560-
- RNScreens/common (= 4.16.0)
2560+
- RNScreens/common (= 4.17.1)
25612561
- SocketRocket
25622562
- Yoga
2563-
- RNScreens/common (4.16.0):
2563+
- RNScreens/common (4.17.1):
25642564
- boost
25652565
- DoubleConversion
25662566
- fast_float
@@ -3006,7 +3006,7 @@ SPEC CHECKSUMS:
30063006
ReactCommon: 9e5f2e80ecaeb6c70f21ae0db29caaff75dabe47
30073007
RNGestureHandler: f1dd7f92a0faa2868a919ab53bb9d66eb4ebfcf5
30083008
RNReanimated: aadd939e2bb8984700467ca876b422b0a07b75cb
3009-
RNScreens: 0bbf16c074ae6bb1058a7bf2d1ae017f4306797c
3009+
RNScreens: 650bfd588793b73ed561b7870bf57d8e1e1dfd14
30103010
RNWorklets: 564218881b4c63ab941bd5b3be37ae585a30a1c6
30113011
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
30123012
Yoga: e80c5fabbc3e26311152fa20404cdfa14f16a11f

android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfigViewManager.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import android.util.Log
44
import android.view.View
55
import com.facebook.react.bridge.JSApplicationCausedNativeException
66
import com.facebook.react.bridge.ReactApplicationContext
7+
import com.facebook.react.bridge.ReadableArray
78
import com.facebook.react.module.annotations.ReactModule
89
import com.facebook.react.uimanager.LayoutShadowNode
910
import com.facebook.react.uimanager.ReactStylesDiffMap
@@ -318,4 +319,18 @@ class ScreenStackHeaderConfigViewManager :
318319
) {
319320
logNotAvailable("blurEffect")
320321
}
322+
323+
override fun setHeaderLeftBarButtonItems(
324+
view: ScreenStackHeaderConfig?,
325+
value: ReadableArray?,
326+
) {
327+
logNotAvailable("headerLeftBarButtonItems")
328+
}
329+
330+
override fun setHeaderRightBarButtonItems(
331+
view: ScreenStackHeaderConfig?,
332+
value: ReadableArray?,
333+
) {
334+
logNotAvailable("headerRightBarButtonItems")
335+
}
321336
}

android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSubviewManager.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.swmansion.rnscreens
22

3+
import android.util.Log
34
import com.facebook.react.bridge.JSApplicationIllegalArgumentException
45
import com.facebook.react.module.annotations.ReactModule
56
import com.facebook.react.uimanager.ReactStylesDiffMap
@@ -41,6 +42,14 @@ class ScreenStackHeaderSubviewManager :
4142
}
4243
}
4344

45+
@ReactProp(name = "hidesSharedBackground")
46+
override fun setHidesSharedBackground(
47+
view: ScreenStackHeaderSubview,
48+
hidesSharedBackground: Boolean,
49+
) {
50+
Log.w("[RNScreens]", "hidesSharedBackground prop is not available on Android")
51+
}
52+
4453
override fun updateState(
4554
view: ScreenStackHeaderSubview,
4655
props: ReactStylesDiffMap?,

android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerDelegate.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import android.view.View;
1313
import androidx.annotation.Nullable;
1414
import com.facebook.react.bridge.ColorPropConverter;
15+
import com.facebook.react.bridge.ReadableArray;
1516
import com.facebook.react.uimanager.BaseViewManager;
1617
import com.facebook.react.uimanager.BaseViewManagerDelegate;
1718
import com.facebook.react.uimanager.LayoutShadowNode;
@@ -108,6 +109,12 @@ public void setProperty(T view, String propName, @Nullable Object value) {
108109
case "topInsetEnabled":
109110
mViewManager.setTopInsetEnabled(view, value == null ? false : (boolean) value);
110111
break;
112+
case "headerLeftBarButtonItems":
113+
mViewManager.setHeaderLeftBarButtonItems(view, (ReadableArray) value);
114+
break;
115+
case "headerRightBarButtonItems":
116+
mViewManager.setHeaderRightBarButtonItems(view, (ReadableArray) value);
117+
break;
111118
default:
112119
super.setProperty(view, propName, value);
113120
}

android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderConfigManagerInterface.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import android.view.View;
1313
import androidx.annotation.Nullable;
14+
import com.facebook.react.bridge.ReadableArray;
1415

1516

1617
public interface RNSScreenStackHeaderConfigManagerInterface<T extends View> {
@@ -42,4 +43,6 @@ public interface RNSScreenStackHeaderConfigManagerInterface<T extends View> {
4243
void setBackButtonInCustomView(T view, boolean value);
4344
void setBlurEffect(T view, @Nullable String value);
4445
void setTopInsetEnabled(T view, boolean value);
46+
void setHeaderLeftBarButtonItems(T view, @Nullable ReadableArray value);
47+
void setHeaderRightBarButtonItems(T view, @Nullable ReadableArray value);
4548
}

android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerDelegate.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ public void setProperty(T view, String propName, @Nullable Object value) {
2626
case "type":
2727
mViewManager.setType(view, (String) value);
2828
break;
29+
case "hidesSharedBackground":
30+
mViewManager.setHidesSharedBackground(view, value == null ? false : (boolean) value);
31+
break;
2932
default:
3033
super.setProperty(view, propName, value);
3134
}

android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenStackHeaderSubviewManagerInterface.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@
1515

1616
public interface RNSScreenStackHeaderSubviewManagerInterface<T extends View> {
1717
void setType(T view, @Nullable String value);
18+
void setHidesSharedBackground(T view, boolean value);
1819
}

apps/Example.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import Orientation from './src/screens/Orientation';
3030
import SearchBar from './src/screens/SearchBar';
3131
import Events from './src/screens/Events';
3232
import Gestures from './src/screens/Gestures';
33+
// import BarButtonItems from './src/screens/BarButtonItems';
3334

3435
import { GestureDetectorProvider } from 'react-native-screens/gesture-handler';
3536
import { GestureHandlerRootView } from 'react-native-gesture-handler';
@@ -127,6 +128,11 @@ const SCREENS: Record<
127128
component: Gestures,
128129
type: 'playground',
129130
},
131+
// BarButtonItems: {
132+
// title: 'Bar Button Items',
133+
// component: BarButtonItems,
134+
// type: 'playground',
135+
// },
130136
};
131137

132138
if (isTestSectionEnabled()) {
@@ -180,8 +186,8 @@ type RootStackParamList = {
180186
Main: undefined;
181187
Tests: undefined;
182188
} & {
183-
[P in keyof typeof SCREENS]: undefined;
184-
};
189+
[P in keyof typeof SCREENS]: undefined;
190+
};
185191

186192
const Stack = createNativeStackNavigator<RootStackParamList>();
187193

0 commit comments

Comments
 (0)