Skip to content

Commit 5487e0f

Browse files
committed
Add iOS 13 blurs
1 parent dc00052 commit 5487e0f

File tree

3 files changed

+53
-1
lines changed

3 files changed

+53
-1
lines changed

index.d.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,22 @@ export interface BlurViewProperties {
66
| "xlight"
77
| "light"
88
| "dark"
9+
// iOS 13+ only
10+
| "chromeMaterial"
11+
| "material"
12+
| "thickMaterial"
13+
| "thinMaterial"
14+
| "ultraThinMaterial"
15+
| "chromeMaterialDark"
16+
| "materialDark"
17+
| "thickMaterialDark"
18+
| "thinMaterialDark"
19+
| "ultraThinMaterialDark"
20+
| "chromeMaterialLight"
21+
| "materialLight"
22+
| "thickMaterialLight"
23+
| "thinMaterialLight"
24+
| "ultraThinMaterialLight"
925
// tvOS and iOS 10+ only
1026
| "regular"
1127
| "prominent"

ios/BlurView.m

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,28 @@ - (UIBlurEffectStyle)blurEffectStyle
5858
if ([self.blurType isEqual: @"regular"]) return UIBlurEffectStyleRegular;
5959
if ([self.blurType isEqual: @"prominent"]) return UIBlurEffectStyleProminent;
6060
#endif
61-
61+
62+
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000 /* __IPHONE_10_0 */
63+
// Adaptable blur styles
64+
if ([self.blurType isEqual: @"chromeMaterial"]) return UIBlurEffectStyleSystemUltraThinMaterial;
65+
if ([self.blurType isEqual: @"material"]) return UIBlurEffectStyleSystemMaterial;
66+
if ([self.blurType isEqual: @"thickMaterial"]) return UIBlurEffectStyleSystemThickMaterial;
67+
if ([self.blurType isEqual: @"thinMaterial"]) return UIBlurEffectStyleSystemUltraThinMaterial;
68+
if ([self.blurType isEqual: @"ultraThinMaterial"]) return UIBlurEffectStyleSystemUltraThinMaterial;
69+
// dark blur styles
70+
if ([self.blurType isEqual: @"chromeMaterialDark"]) return UIBlurEffectStyleSystemChromeMaterialDark;
71+
if ([self.blurType isEqual: @"materialDark"]) return UIBlurEffectStyleSystemMaterialDark;
72+
if ([self.blurType isEqual: @"thickMaterialDark"]) return UIBlurEffectStyleSystemThickMaterialDark;
73+
if ([self.blurType isEqual: @"thinMaterialDark"]) return UIBlurEffectStyleSystemUltraThinMaterialDark;
74+
if ([self.blurType isEqual: @"ultraThinMaterialDark"]) return UIBlurEffectStyleSystemUltraThinMaterialDark;
75+
// light blur styles
76+
if ([self.blurType isEqual: @"chromeMaterialLight"]) return UIBlurEffectStyleSystemChromeMaterialLight;
77+
if ([self.blurType isEqual: @"materialLight"]) return UIBlurEffectStyleSystemMaterialLight;
78+
if ([self.blurType isEqual: @"thickMaterialLight"]) return UIBlurEffectStyleSystemThickMaterialLight;
79+
if ([self.blurType isEqual: @"thinMaterialLight"]) return UIBlurEffectStyleSystemUltraThinMaterialLight;
80+
if ([self.blurType isEqual: @"ultraThinMaterialLight"]) return UIBlurEffectStyleSystemUltraThinMaterialLight;
81+
#endif
82+
6283
#if TARGET_OS_TV
6384
if ([self.blurType isEqual: @"regular"]) return UIBlurEffectStyleRegular;
6485
if ([self.blurType isEqual: @"prominent"]) return UIBlurEffectStyleProminent;

src/BlurView.ios.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,21 @@ BlurView.propTypes = {
3333
'prominent',
3434
'regular',
3535
'extraDark',
36+
'chromeMaterial',
37+
'material',
38+
'thickMaterial',
39+
'thinMaterial',
40+
'ultraThinMaterial',
41+
'chromeMaterialDark',
42+
'materialDark',
43+
'thickMaterialDark',
44+
'thinMaterialDark',
45+
'ultraThinMaterialDark',
46+
'chromeMaterialLight',
47+
'materialLight',
48+
'thickMaterialLight',
49+
'thinMaterialLight',
50+
'ultraThinMaterialLight',
3651
]),
3752
blurAmount: PropTypes.number,
3853
};

0 commit comments

Comments
 (0)