Skip to content

Commit da70a27

Browse files
maksgkkafar
andcommitted
fix(iOS): extraLight blur not working (#2338)
Blur style `UIBlurEffectStyleExtraLight` equals `0` so using it in `if (config.blurEffect)` makes it that the code for applying `backgroundEffect` doesn't execute. With this fix the navigation bar can no longer be fully transparent because blur effect is always set as `extraLight` by default. So it's up for a discussion if it should stay that way or if we should make this value optional. Fixes #2320. Added `Test2320` to tests. - [x] Included code example that can be used to test this change - [ ] Ensured that CI passes --------- Co-authored-by: Kacper Kafara <[email protected]> (cherry picked from commit fcb1693)
1 parent bb86f5b commit da70a27

File tree

9 files changed

+200
-59
lines changed

9 files changed

+200
-59
lines changed

apps/src/tests/Test2320.tsx

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import * as React from "react";
2+
import { ScrollView, Text } from "react-native";
3+
import { createNativeStackNavigator } from "@react-navigation/native-stack";
4+
import { NavigationContainer, useTheme } from "@react-navigation/native";
5+
import { SafeAreaProvider } from "react-native-safe-area-context";
6+
7+
const ArticleScreen = () => {
8+
return (
9+
<ScrollView contentInsetAdjustmentBehavior="automatic">
10+
<Text style={{ fontSize: 30 }}>
11+
Lorem Ipsum is simply dummy text of the printing and typesetting
12+
industry. Lorem Ipsum has been the industry&apos;s standard dummy text
13+
ever since the 1500s, when an unknown printer took a galley of type and
14+
scrambled it to make a type specimen book. It has survived not only five
15+
centuries, but also the leap into electronic typesetting, remaining
16+
essentially unchanged. It was popularised in the 1960s with the release
17+
of Letraset sheets containing Lorem Ipsum passages, and more recently
18+
with desktop publishing software like Aldus PageMaker including versions
19+
of Lorem Ipsum.
20+
Contrary to popular belief, Lorem Ipsum is not simply random text. It
21+
has roots in a piece of classical Latin literature from 45 BC, making it
22+
over 2000 years old. Richard McClintock, a Latin professor at
23+
Hampden-Sydney College in Virginia, looked up one of the more obscure
24+
Latin words, consectetur, from a Lorem Ipsum passage, and going through
25+
the cites of the word in classical literature, discovered the
26+
undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33
27+
of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and
28+
Evil) by Cicero, written in 45 BC. This book is a treatise on the theory
29+
of ethics, very popular during the Renaissance. The first line of Lorem
30+
Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in
31+
section 1.10.32.
32+
</Text>
33+
</ScrollView>
34+
);
35+
}
36+
37+
export default function App() {
38+
const Stack = createNativeStackNavigator();
39+
return (
40+
<SafeAreaProvider>
41+
<NavigationContainer>
42+
<Stack.Navigator>
43+
<Stack.Screen
44+
name="Article"
45+
component={ArticleScreen}
46+
options={{
47+
headerTransparent: true,
48+
headerBlurEffect: "extraLight",
49+
headerLargeTitle: true
50+
}}
51+
/>
52+
</Stack.Navigator>
53+
</NavigationContainer>
54+
</SafeAreaProvider>
55+
)
56+
}

apps/src/tests/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ export { default as Test2252 } from './Test2252';
111111
export { default as Test2271 } from './Test2271';
112112
export { default as Test2282 } from './Test2282';
113113
export { default as Test2317 } from './Test2317';
114+
export { default as Test2320 } from './Test2320';
114115
export { default as Test2332 } from './Test2332';
115116
export { default as TestScreenAnimation } from './TestScreenAnimation';
116117
export { default as TestHeader } from './TestHeader';

ios/RNSConvert.h

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
1-
#ifdef RCT_NEW_ARCH_ENABLED
21
#import <UIKit/UIKit.h>
2+
#ifdef RCT_NEW_ARCH_ENABLED
33
#import <react/renderer/components/rnscreens/Props.h>
4+
#endif // RCT_NEW_ARCH_ENABLED
45
#import "RNSEnums.h"
56

7+
#ifdef RCT_NEW_ARCH_ENABLED
68
namespace react = facebook::react;
9+
#endif // RCT_NEW_ARCH_ENABLED
710

811
@interface RNSConvert : NSObject
912

13+
#ifdef RCT_NEW_ARCH_ENABLED
14+
1015
+ (UISemanticContentAttribute)UISemanticContentAttributeFromCppEquivalent:
1116
(react::RNSScreenStackHeaderConfigDirection)direction;
1217

@@ -40,8 +45,12 @@ namespace react = facebook::react;
4045

4146
+ (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(react::RNSSearchBarPlacement)placement;
4247

43-
+ (UIBlurEffectStyle)UIBlurEffectStyleFromCppEquivalent:(react::RNSScreenStackHeaderConfigBlurEffect)blurEffect;
44-
45-
@end
48+
+ (RNSBlurEffectStyle)RNSBlurEffectStyleFromCppEquivalent:(react::RNSScreenStackHeaderConfigBlurEffect)blurEffect;
4649

4750
#endif // RCT_NEW_ARCH_ENABLED
51+
52+
/// This method fails (by assertion) when `blurEffect == RNSBlurEffectStyleNone` which has no counter part in the UIKit
53+
/// type.
54+
+ (UIBlurEffectStyle)tryConvertRNSBlurEffectStyleToUIBlurEffectStyle:(RNSBlurEffectStyle)blurEffect;
55+
56+
@end

ios/RNSConvert.mm

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
#import "RNSConvert.h"
22

3-
#ifdef RCT_NEW_ARCH_ENABLED
3+
#ifndef RCT_NEW_ARCH_ENABLED
4+
#import <react/RCTAssert.h>
5+
#endif // !RCT_NEW_ARCH_ENABLED
6+
47
@implementation RNSConvert
58

9+
#ifdef RCT_NEW_ARCH_ENABLED
610
+ (UISemanticContentAttribute)UISemanticContentAttributeFromCppEquivalent:
711
(react::RNSScreenStackHeaderConfigDirection)direction
812
{
@@ -180,71 +184,89 @@ + (RNSSearchBarPlacement)RNSScreenSearchBarPlacementFromCppEquivalent:(react::RN
180184
}
181185
}
182186

183-
+ (UIBlurEffectStyle)UIBlurEffectStyleFromCppEquivalent:(react::RNSScreenStackHeaderConfigBlurEffect)blurEffect
187+
+ (RNSBlurEffectStyle)RNSBlurEffectStyleFromCppEquivalent:(react::RNSScreenStackHeaderConfigBlurEffect)blurEffect
184188
{
185189
#if !TARGET_OS_TV && defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && \
186190
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
187191
if (@available(iOS 13.0, *)) {
188192
switch (blurEffect) {
193+
case react::RNSScreenStackHeaderConfigBlurEffect::None:
194+
return RNSBlurEffectStyleNone;
189195
case react::RNSScreenStackHeaderConfigBlurEffect::ExtraLight:
190-
return UIBlurEffectStyleExtraLight;
196+
return RNSBlurEffectStyleExtraLight;
191197
case react::RNSScreenStackHeaderConfigBlurEffect::Light:
192-
return UIBlurEffectStyleLight;
198+
return RNSBlurEffectStyleLight;
193199
case react::RNSScreenStackHeaderConfigBlurEffect::Dark:
194-
return UIBlurEffectStyleDark;
200+
return RNSBlurEffectStyleDark;
195201
case react::RNSScreenStackHeaderConfigBlurEffect::Regular:
196-
return UIBlurEffectStyleRegular;
202+
return RNSBlurEffectStyleRegular;
197203
case react::RNSScreenStackHeaderConfigBlurEffect::Prominent:
198-
return UIBlurEffectStyleProminent;
204+
return RNSBlurEffectStyleProminent;
199205
case react::RNSScreenStackHeaderConfigBlurEffect::SystemUltraThinMaterial:
200-
return UIBlurEffectStyleSystemUltraThinMaterial;
206+
return RNSBlurEffectStyleSystemUltraThinMaterial;
201207
case react::RNSScreenStackHeaderConfigBlurEffect::SystemThinMaterial:
202-
return UIBlurEffectStyleSystemThinMaterial;
208+
return RNSBlurEffectStyleSystemThinMaterial;
203209
case react::RNSScreenStackHeaderConfigBlurEffect::SystemMaterial:
204-
return UIBlurEffectStyleSystemMaterial;
210+
return RNSBlurEffectStyleSystemMaterial;
205211
case react::RNSScreenStackHeaderConfigBlurEffect::SystemThickMaterial:
206-
return UIBlurEffectStyleSystemThickMaterial;
212+
return RNSBlurEffectStyleSystemThickMaterial;
207213
case react::RNSScreenStackHeaderConfigBlurEffect::SystemChromeMaterial:
208-
return UIBlurEffectStyleSystemChromeMaterial;
214+
return RNSBlurEffectStyleSystemChromeMaterial;
209215
case react::RNSScreenStackHeaderConfigBlurEffect::SystemUltraThinMaterialLight:
210-
return UIBlurEffectStyleSystemUltraThinMaterialLight;
216+
return RNSBlurEffectStyleSystemUltraThinMaterialLight;
211217
case react::RNSScreenStackHeaderConfigBlurEffect::SystemThinMaterialLight:
212-
return UIBlurEffectStyleSystemThinMaterialLight;
218+
return RNSBlurEffectStyleSystemThinMaterialLight;
213219
case react::RNSScreenStackHeaderConfigBlurEffect::SystemMaterialLight:
214-
return UIBlurEffectStyleSystemMaterialLight;
220+
return RNSBlurEffectStyleSystemMaterialLight;
215221
case react::RNSScreenStackHeaderConfigBlurEffect::SystemThickMaterialLight:
216-
return UIBlurEffectStyleSystemThickMaterialLight;
222+
return RNSBlurEffectStyleSystemThickMaterialLight;
217223
case react::RNSScreenStackHeaderConfigBlurEffect::SystemChromeMaterialLight:
218-
return UIBlurEffectStyleSystemChromeMaterialLight;
224+
return RNSBlurEffectStyleSystemChromeMaterialLight;
219225
case react::RNSScreenStackHeaderConfigBlurEffect::SystemUltraThinMaterialDark:
220-
return UIBlurEffectStyleSystemUltraThinMaterialDark;
226+
return RNSBlurEffectStyleSystemUltraThinMaterialDark;
221227
case react::RNSScreenStackHeaderConfigBlurEffect::SystemThinMaterialDark:
222-
return UIBlurEffectStyleSystemThinMaterialDark;
228+
return RNSBlurEffectStyleSystemThinMaterialDark;
223229
case react::RNSScreenStackHeaderConfigBlurEffect::SystemMaterialDark:
224-
return UIBlurEffectStyleSystemMaterialDark;
230+
return RNSBlurEffectStyleSystemMaterialDark;
225231
case react::RNSScreenStackHeaderConfigBlurEffect::SystemThickMaterialDark:
226-
return UIBlurEffectStyleSystemThickMaterialDark;
232+
return RNSBlurEffectStyleSystemThickMaterialDark;
227233
case react::RNSScreenStackHeaderConfigBlurEffect::SystemChromeMaterialDark:
228-
return UIBlurEffectStyleSystemChromeMaterialDark;
234+
return RNSBlurEffectStyleSystemChromeMaterialDark;
229235
}
230236
}
231237
#endif
232238

233239
switch (blurEffect) {
240+
case react::RNSScreenStackHeaderConfigBlurEffect::None:
241+
return RNSBlurEffectStyleNone;
234242
case react::RNSScreenStackHeaderConfigBlurEffect::Light:
235-
return UIBlurEffectStyleLight;
243+
return RNSBlurEffectStyleLight;
236244
case react::RNSScreenStackHeaderConfigBlurEffect::Dark:
237-
return UIBlurEffectStyleDark;
245+
return RNSBlurEffectStyleDark;
238246
case react::RNSScreenStackHeaderConfigBlurEffect::Regular:
239-
return UIBlurEffectStyleRegular;
247+
return RNSBlurEffectStyleRegular;
240248
case react::RNSScreenStackHeaderConfigBlurEffect::Prominent:
241-
return UIBlurEffectStyleProminent;
249+
return RNSBlurEffectStyleProminent;
242250
case react::RNSScreenStackHeaderConfigBlurEffect::ExtraLight:
243251
default:
244-
return UIBlurEffectStyleExtraLight;
252+
return RNSBlurEffectStyleNone;
245253
}
246254
}
247255

248-
@end
256+
#endif // RCT_NEW_ARCH_ENABLED
249257

258+
+ (UIBlurEffectStyle)tryConvertRNSBlurEffectStyleToUIBlurEffectStyle:(RNSBlurEffectStyle)blurEffect
259+
{
260+
#ifdef RCT_NEW_ARCH_ENABLED
261+
react_native_assert(blurEffect != RNSBlurEffectStyleNone);
262+
#else
263+
RCTAssert(
264+
blurEffect != RNSBlurEffectStyleNone, @"RNSBlurEffectStyleNone variant is not convertible to UIBlurEffectStyle");
250265
#endif // RCT_NEW_ARCH_ENABLED
266+
267+
// Cast safety: RNSBlurEffectStyle is defined in such way that its values map 1:1 with
268+
// UIBlurEffectStyle, except RNSBlurEffectStyleNone which is excluded above.
269+
return (UIBlurEffectStyle)blurEffect;
270+
}
271+
272+
@end

ios/RNSEnums.h

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,49 @@ typedef NS_ENUM(NSInteger, RNSSearchBarPlacement) {
7070
RNSSearchBarPlacementInline,
7171
RNSSearchBarPlacementStacked,
7272
};
73+
74+
// Redefinition of UIBlurEffectStyle. We need to represent additional case of `None`.
75+
typedef NS_ENUM(NSInteger, RNSBlurEffectStyle) {
76+
/// No blur effect should be visible
77+
RNSBlurEffectStyleNone = -1,
78+
RNSBlurEffectStyleExtraLight = UIBlurEffectStyleExtraLight,
79+
RNSBlurEffectStyleLight = UIBlurEffectStyleLight,
80+
RNSBlurEffectStyleDark = UIBlurEffectStyleDark,
81+
// TODO: Add support for this variant on tvOS
82+
// RNSBlurEffectStyleExtraDark = UIBlurEffectStyleExtraDark API_AVAILABLE(tvos(10.0)) API_UNAVAILABLE(ios)
83+
// API_UNAVAILABLE(watchos),
84+
RNSBlurEffectStyleRegular API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) = UIBlurEffectStyleRegular,
85+
RNSBlurEffectStyleProminent API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) = UIBlurEffectStyleProminent,
86+
RNSBlurEffectStyleSystemUltraThinMaterial API_AVAILABLE(ios(13.0))
87+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemUltraThinMaterial,
88+
RNSBlurEffectStyleSystemThinMaterial API_AVAILABLE(ios(13.0))
89+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemThinMaterial,
90+
RNSBlurEffectStyleSystemMaterial API_AVAILABLE(ios(13.0))
91+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemMaterial,
92+
RNSBlurEffectStyleSystemThickMaterial API_AVAILABLE(ios(13.0))
93+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemThickMaterial,
94+
RNSBlurEffectStyleSystemChromeMaterial API_AVAILABLE(ios(13.0))
95+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemChromeMaterial,
96+
RNSBlurEffectStyleSystemUltraThinMaterialLight API_AVAILABLE(ios(13.0))
97+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemUltraThinMaterialLight,
98+
RNSBlurEffectStyleSystemThinMaterialLight API_AVAILABLE(ios(13.0))
99+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemThinMaterialLight,
100+
RNSBlurEffectStyleSystemMaterialLight API_AVAILABLE(ios(13.0))
101+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemMaterialLight,
102+
RNSBlurEffectStyleSystemThickMaterialLight API_AVAILABLE(ios(13.0))
103+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemThickMaterialLight,
104+
RNSBlurEffectStyleSystemChromeMaterialLight API_AVAILABLE(ios(13.0))
105+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemChromeMaterialLight,
106+
107+
RNSBlurEffectStyleSystemUltraThinMaterialDark API_AVAILABLE(ios(13.0))
108+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemUltraThinMaterialDark,
109+
RNSBlurEffectStyleSystemThinMaterialDark API_AVAILABLE(ios(13.0))
110+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemThinMaterialDark,
111+
RNSBlurEffectStyleSystemMaterialDark API_AVAILABLE(ios(13.0))
112+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemMaterialDark,
113+
RNSBlurEffectStyleSystemThickMaterialDark API_AVAILABLE(ios(13.0))
114+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemThickMaterialDark,
115+
RNSBlurEffectStyleSystemChromeMaterialDark API_AVAILABLE(ios(13.0))
116+
API_UNAVAILABLE(watchos, tvos) = UIBlurEffectStyleSystemChromeMaterialDark
117+
118+
} API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos);

ios/RNSScreenStackHeaderConfig.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
@property (nonatomic) BOOL backButtonInCustomView;
5656
@property (nonatomic) UISemanticContentAttribute direction;
5757
@property (nonatomic) UINavigationItemBackButtonDisplayMode backButtonDisplayMode;
58-
@property (nonatomic) UIBlurEffectStyle blurEffect;
58+
@property (nonatomic) RNSBlurEffectStyle blurEffect;
5959

6060
+ (void)willShowViewController:(UIViewController *)vc
6161
animated:(BOOL)animated

ios/RNSScreenStackHeaderConfig.mm

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ - (void)initProps
9696
self.hidden = YES;
9797
_reactSubviews = [NSMutableArray new];
9898
_backTitleVisible = YES;
99+
_blurEffect = RNSBlurEffectStyleNone;
99100
}
100101

101102
- (UIView *)reactSuperview
@@ -390,8 +391,11 @@ + (UINavigationBarAppearance *)buildAppearance:(UIViewController *)vc
390391
appearance.backgroundColor = config.backgroundColor;
391392
}
392393

393-
if (config.blurEffect) {
394-
appearance.backgroundEffect = [UIBlurEffect effectWithStyle:config.blurEffect];
394+
if (config.blurEffect != RNSBlurEffectStyleNone) {
395+
appearance.backgroundEffect =
396+
[UIBlurEffect effectWithStyle:[RNSConvert tryConvertRNSBlurEffectStyleToUIBlurEffectStyle:config.blurEffect]];
397+
} else {
398+
appearance.backgroundEffect = nil;
395399
}
396400

397401
if (config.hideShadow) {
@@ -921,7 +925,7 @@ - (void)updateProps:(react::Props::Shared const &)props oldProps:(react::Props::
921925
_backgroundColor = RCTUIColorFromSharedColor(newScreenProps.backgroundColor);
922926

923927
if (newScreenProps.blurEffect != oldScreenProps.blurEffect) {
924-
_blurEffect = [RNSConvert UIBlurEffectStyleFromCppEquivalent:newScreenProps.blurEffect];
928+
_blurEffect = [RNSConvert RNSBlurEffectStyleFromCppEquivalent:newScreenProps.blurEffect];
925929
}
926930

927931
[self updateViewControllerIfNeeded];
@@ -989,7 +993,7 @@ - (UIView *)view
989993
RCT_EXPORT_VIEW_PROPERTY(backTitleFontSize, NSNumber)
990994
RCT_EXPORT_VIEW_PROPERTY(backgroundColor, UIColor)
991995
RCT_EXPORT_VIEW_PROPERTY(backTitleVisible, BOOL)
992-
RCT_EXPORT_VIEW_PROPERTY(blurEffect, UIBlurEffectStyle)
996+
RCT_EXPORT_VIEW_PROPERTY(blurEffect, RNSBlurEffectStyle)
993997
RCT_EXPORT_VIEW_PROPERTY(color, UIColor)
994998
RCT_EXPORT_VIEW_PROPERTY(direction, UISemanticContentAttribute)
995999
RCT_EXPORT_VIEW_PROPERTY(largeTitle, BOOL)
@@ -1015,36 +1019,37 @@ + (NSMutableDictionary *)blurEffectsForIOSVersion
10151019
{
10161020
NSMutableDictionary *blurEffects = [NSMutableDictionary new];
10171021
[blurEffects addEntriesFromDictionary:@{
1018-
@"extraLight" : @(UIBlurEffectStyleExtraLight),
1019-
@"light" : @(UIBlurEffectStyleLight),
1020-
@"dark" : @(UIBlurEffectStyleDark),
1022+
@"none" : @(RNSBlurEffectStyleNone),
1023+
@"extraLight" : @(RNSBlurEffectStyleExtraLight),
1024+
@"light" : @(RNSBlurEffectStyleLight),
1025+
@"dark" : @(RNSBlurEffectStyleDark),
10211026
}];
10221027

10231028
if (@available(iOS 10.0, *)) {
10241029
[blurEffects addEntriesFromDictionary:@{
1025-
@"regular" : @(UIBlurEffectStyleRegular),
1026-
@"prominent" : @(UIBlurEffectStyleProminent),
1030+
@"regular" : @(RNSBlurEffectStyleRegular),
1031+
@"prominent" : @(RNSBlurEffectStyleProminent),
10271032
}];
10281033
}
10291034
#if !TARGET_OS_TV && defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && \
10301035
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
10311036
if (@available(iOS 13.0, *)) {
10321037
[blurEffects addEntriesFromDictionary:@{
1033-
@"systemUltraThinMaterial" : @(UIBlurEffectStyleSystemUltraThinMaterial),
1034-
@"systemThinMaterial" : @(UIBlurEffectStyleSystemThinMaterial),
1035-
@"systemMaterial" : @(UIBlurEffectStyleSystemMaterial),
1036-
@"systemThickMaterial" : @(UIBlurEffectStyleSystemThickMaterial),
1037-
@"systemChromeMaterial" : @(UIBlurEffectStyleSystemChromeMaterial),
1038-
@"systemUltraThinMaterialLight" : @(UIBlurEffectStyleSystemUltraThinMaterialLight),
1039-
@"systemThinMaterialLight" : @(UIBlurEffectStyleSystemThinMaterialLight),
1040-
@"systemMaterialLight" : @(UIBlurEffectStyleSystemMaterialLight),
1041-
@"systemThickMaterialLight" : @(UIBlurEffectStyleSystemThickMaterialLight),
1042-
@"systemChromeMaterialLight" : @(UIBlurEffectStyleSystemChromeMaterialLight),
1043-
@"systemUltraThinMaterialDark" : @(UIBlurEffectStyleSystemUltraThinMaterialDark),
1044-
@"systemThinMaterialDark" : @(UIBlurEffectStyleSystemThinMaterialDark),
1045-
@"systemMaterialDark" : @(UIBlurEffectStyleSystemMaterialDark),
1046-
@"systemThickMaterialDark" : @(UIBlurEffectStyleSystemThickMaterialDark),
1047-
@"systemChromeMaterialDark" : @(UIBlurEffectStyleSystemChromeMaterialDark),
1038+
@"systemUltraThinMaterial" : @(RNSBlurEffectStyleSystemUltraThinMaterial),
1039+
@"systemThinMaterial" : @(RNSBlurEffectStyleSystemThinMaterial),
1040+
@"systemMaterial" : @(RNSBlurEffectStyleSystemMaterial),
1041+
@"systemThickMaterial" : @(RNSBlurEffectStyleSystemThickMaterial),
1042+
@"systemChromeMaterial" : @(RNSBlurEffectStyleSystemChromeMaterial),
1043+
@"systemUltraThinMaterialLight" : @(RNSBlurEffectStyleSystemUltraThinMaterialLight),
1044+
@"systemThinMaterialLight" : @(RNSBlurEffectStyleSystemThinMaterialLight),
1045+
@"systemMaterialLight" : @(RNSBlurEffectStyleSystemMaterialLight),
1046+
@"systemThickMaterialLight" : @(RNSBlurEffectStyleSystemThickMaterialLight),
1047+
@"systemChromeMaterialLight" : @(RNSBlurEffectStyleSystemChromeMaterialLight),
1048+
@"systemUltraThinMaterialDark" : @(RNSBlurEffectStyleSystemUltraThinMaterialDark),
1049+
@"systemThinMaterialDark" : @(RNSBlurEffectStyleSystemThinMaterialDark),
1050+
@"systemMaterialDark" : @(RNSBlurEffectStyleSystemMaterialDark),
1051+
@"systemThickMaterialDark" : @(RNSBlurEffectStyleSystemThickMaterialDark),
1052+
@"systemChromeMaterialDark" : @(RNSBlurEffectStyleSystemChromeMaterialDark),
10481053
}];
10491054
}
10501055
#endif
@@ -1070,6 +1075,6 @@ + (NSMutableDictionary *)blurEffectsForIOSVersion
10701075
UINavigationItemBackButtonDisplayModeDefault,
10711076
integerValue)
10721077

1073-
RCT_ENUM_CONVERTER(UIBlurEffectStyle, ([self blurEffectsForIOSVersion]), UIBlurEffectStyleExtraLight, integerValue)
1078+
RCT_ENUM_CONVERTER(RNSBlurEffectStyle, ([self blurEffectsForIOSVersion]), RNSBlurEffectStyleNone, integerValue)
10741079

10751080
@end

0 commit comments

Comments
 (0)