11package com.sbaiahmed1.reactnativeblur
22
3+ import android.content.res.Configuration
34import android.graphics.Color
45
56/* *
@@ -9,51 +10,52 @@ import android.graphics.Color
910enum class BlurType (val overlayColor : Int ) {
1011 XLIGHT (Color .argb(140 , 240 , 240 , 240 )),
1112 LIGHT (Color .argb(42 , 255 , 255 , 255 )),
12- DARK (Color .argb(120 , 25 , 25 , 25 )),
13+ DARK (Color .argb(120 , 26 , 22 , 22 )),
1314 EXTRA_DARK (Color .argb(160 , 35 , 35 , 35 )),
14- REGULAR (Color .argb(35 , 255 , 255 , 255 )),
15- PROMINENT (Color .argb(130 , 240 , 240 , 240 )),
16- SYSTEM_ULTRA_THIN_MATERIAL (Color .argb(75 , 240 , 240 , 240 )),
17- SYSTEM_ULTRA_THIN_MATERIAL_LIGHT (Color .argb(77 , 240 , 240 , 240 )),
15+ REGULAR_LIGHT (Color .argb(35 , 255 , 255 , 255 )),
16+ REGULAR_DARK (Color .argb(35 , 28 , 28 , 30 )),
17+ PROMINENT_LIGHT (Color .argb(140 , 240 , 240 , 240 )),
18+ PROMINENT_DARK (Color .argb(140 , 28 , 28 , 30 )),
19+ SYSTEM_ULTRA_THIN_MATERIAL_LIGHT (Color .argb(75 , 240 , 240 , 240 )),
1820 SYSTEM_ULTRA_THIN_MATERIAL_DARK (Color .argb(65 , 40 , 40 , 40 )),
19- SYSTEM_THIN_MATERIAL (Color .argb(102 , 240 , 240 , 240 )),
20- SYSTEM_THIN_MATERIAL_LIGHT (Color .argb(105 , 240 , 240 , 240 )),
21+ SYSTEM_THIN_MATERIAL_LIGHT (Color .argb(102 , 240 , 240 , 240 )),
2122 SYSTEM_THIN_MATERIAL_DARK (Color .argb(102 , 35 , 35 , 35 )),
22- SYSTEM_MATERIAL (Color .argb(130 , 242 , 242 , 242 )),
23- SYSTEM_MATERIAL_LIGHT (Color .argb(130 , 245 , 245 , 245 )),
23+ SYSTEM_MATERIAL_LIGHT (Color .argb(140 , 245 , 245 , 245 )),
2424 SYSTEM_MATERIAL_DARK (Color .argb(215 , 65 , 60 , 60 )),
25- SYSTEM_THICK_MATERIAL (Color .argb(160 , 240 , 240 , 240 )),
26- SYSTEM_THICK_MATERIAL_LIGHT (Color .argb(160 , 242 , 242 , 242 )),
25+ SYSTEM_THICK_MATERIAL_LIGHT (Color .argb(210 , 248 , 248 , 248 )),
2726 SYSTEM_THICK_MATERIAL_DARK (Color .argb(160 , 35 , 35 , 35 )),
28- SYSTEM_CHROME_MATERIAL (Color .argb(135 , 240 , 240 , 240 )),
29- SYSTEM_CHROME_MATERIAL_LIGHT (Color .argb(135 , 242 , 242 , 242 )),
30- SYSTEM_CHROME_MATERIAL_DARK (Color .argb(90 , 32 , 32 , 32 ));
27+ SYSTEM_CHROME_MATERIAL_LIGHT (Color .argb(165 , 248 , 248 , 248 )),
28+ SYSTEM_CHROME_MATERIAL_DARK (Color .argb(100 , 32 , 32 , 32 ));
3129
3230 companion object {
3331 /* *
3432 * Get BlurType from string, with fallback to LIGHT for unknown types.
33+ * Uses the provided configuration to determine if dark mode is active for
34+ * appropriate defaults.
3535 */
36- fun fromString (type : String ): BlurType {
36+ fun fromString (type : String , configuration : Configuration ): BlurType {
37+ val isDarkMode = (configuration.uiMode and Configuration .UI_MODE_NIGHT_MASK ) == Configuration .UI_MODE_NIGHT_YES
38+
3739 return when (type.lowercase()) {
3840 " xlight" -> XLIGHT
3941 " light" -> LIGHT
4042 " dark" -> DARK
4143 " extradark" -> EXTRA_DARK
42- " regular" -> REGULAR
43- " prominent" -> PROMINENT
44- " systemultrathinmaterial" -> SYSTEM_ULTRA_THIN_MATERIAL
44+ " regular" -> if (isDarkMode) REGULAR_DARK else REGULAR_LIGHT
45+ " prominent" -> if (isDarkMode) PROMINENT_DARK else PROMINENT_LIGHT
46+ " systemultrathinmaterial" -> if (isDarkMode) SYSTEM_ULTRA_THIN_MATERIAL_DARK else SYSTEM_ULTRA_THIN_MATERIAL_LIGHT
4547 " systemultrathinmateriallight" -> SYSTEM_ULTRA_THIN_MATERIAL_LIGHT
4648 " systemultrathinmaterialdark" -> SYSTEM_ULTRA_THIN_MATERIAL_DARK
47- " systemthinmaterial" -> SYSTEM_THIN_MATERIAL
49+ " systemthinmaterial" -> if (isDarkMode) SYSTEM_THIN_MATERIAL_DARK else SYSTEM_THIN_MATERIAL_LIGHT
4850 " systemthinmateriallight" -> SYSTEM_THIN_MATERIAL_LIGHT
4951 " systemthinmaterialdark" -> SYSTEM_THIN_MATERIAL_DARK
50- " systemmaterial" -> SYSTEM_MATERIAL
52+ " systemmaterial" -> if (isDarkMode) SYSTEM_MATERIAL_DARK else SYSTEM_MATERIAL_LIGHT
5153 " systemmateriallight" -> SYSTEM_MATERIAL_LIGHT
5254 " systemmaterialdark" -> SYSTEM_MATERIAL_DARK
53- " systemthickmaterial" -> SYSTEM_THICK_MATERIAL
55+ " systemthickmaterial" -> if (isDarkMode) SYSTEM_THICK_MATERIAL_DARK else SYSTEM_THICK_MATERIAL_LIGHT
5456 " systemthickmateriallight" -> SYSTEM_THICK_MATERIAL_LIGHT
5557 " systemthickmaterialdark" -> SYSTEM_THICK_MATERIAL_DARK
56- " systemchromematerial" -> SYSTEM_CHROME_MATERIAL
58+ " systemchromematerial" -> if (isDarkMode) SYSTEM_CHROME_MATERIAL_DARK else SYSTEM_CHROME_MATERIAL_LIGHT
5759 " systemchromemateriallight" -> SYSTEM_CHROME_MATERIAL_LIGHT
5860 " systemchromematerialdark" -> SYSTEM_CHROME_MATERIAL_DARK
5961 else -> XLIGHT // default fallback
0 commit comments