react-native-edge-to-edge 1.4.1 → 1.4.3-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/zoontek/rnedgetoedge/EdgeToEdgeModuleImpl.kt +86 -42
- package/android/src/main/res/values/attrs.xml +1 -1
- package/android/src/main/res/values/styles.xml +8 -8
- package/android/src/newarch/com/zoontek/rnedgetoedge/EdgeToEdgeModule.kt +14 -3
- package/android/src/oldarch/com/zoontek/rnedgetoedge/EdgeToEdgeModule.kt +17 -3
- package/dist/commonjs/SystemBars.js +44 -44
- package/dist/commonjs/SystemBars.js.map +1 -1
- package/dist/commonjs/expo.js +18 -18
- package/dist/commonjs/expo.js.map +1 -1
- package/dist/commonjs/specs/NativeEdgeToEdgeModule.js +1 -1
- package/dist/commonjs/specs/NativeEdgeToEdgeModule.js.map +1 -1
- package/dist/commonjs/specs/NativeEdgeToEdgeModule.web.js +1 -4
- package/dist/commonjs/specs/NativeEdgeToEdgeModule.web.js.map +1 -1
- package/dist/module/SystemBars.js +45 -45
- package/dist/module/SystemBars.js.map +1 -1
- package/dist/module/expo.js +18 -18
- package/dist/module/expo.js.map +1 -1
- package/dist/module/specs/NativeEdgeToEdgeModule.js +2 -2
- package/dist/module/specs/NativeEdgeToEdgeModule.js.map +1 -1
- package/dist/module/specs/NativeEdgeToEdgeModule.web.js +1 -4
- package/dist/module/specs/NativeEdgeToEdgeModule.web.js.map +1 -1
- package/dist/typescript/SystemBars.d.ts.map +1 -1
- package/dist/typescript/specs/NativeEdgeToEdgeModule.d.ts +6 -8
- package/dist/typescript/specs/NativeEdgeToEdgeModule.d.ts.map +1 -1
- package/dist/typescript/specs/NativeEdgeToEdgeModule.web.d.ts +1 -4
- package/dist/typescript/specs/NativeEdgeToEdgeModule.web.d.ts.map +1 -1
- package/dist/typescript/types.d.ts +2 -2
- package/dist/typescript/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/SystemBars.ts +77 -74
- package/src/expo.ts +15 -15
- package/src/specs/NativeEdgeToEdgeModule.ts +11 -10
- package/src/specs/NativeEdgeToEdgeModule.web.ts +1 -6
- package/src/types.ts +2 -2
|
@@ -15,7 +15,6 @@ import androidx.core.view.WindowInsetsControllerCompat
|
|
|
15
15
|
|
|
16
16
|
import com.facebook.common.logging.FLog
|
|
17
17
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
18
|
-
import com.facebook.react.bridge.ReadableMap
|
|
19
18
|
import com.facebook.react.common.ReactConstants
|
|
20
19
|
|
|
21
20
|
internal val LightNavigationBarColor = Color.argb(0xe6, 0xFF, 0xFF, 0xFF)
|
|
@@ -24,16 +23,20 @@ internal val DarkNavigationBarColor = Color.argb(0x80, 0x1b, 0x1b, 0x1b)
|
|
|
24
23
|
object EdgeToEdgeModuleImpl {
|
|
25
24
|
const val NAME = "RNEdgeToEdge"
|
|
26
25
|
|
|
26
|
+
private const val NO_ACTIVITY_ERROR = "$NAME: Ignored system bars change, current activity is null."
|
|
27
27
|
private val boolAttributes = mutableMapOf<Int, Boolean>()
|
|
28
28
|
|
|
29
|
+
private var statusBarHidden = false
|
|
30
|
+
private var navigationBarHidden = false
|
|
31
|
+
|
|
29
32
|
private fun resolveBoolAttribute(activity: Activity, resId: Int): Boolean =
|
|
30
33
|
boolAttributes.getOrPut(resId) {
|
|
31
34
|
val value = TypedValue()
|
|
32
35
|
activity.theme.resolveAttribute(resId, value, true) && value.data != 0
|
|
33
36
|
}
|
|
34
37
|
|
|
35
|
-
private fun
|
|
36
|
-
resolveBoolAttribute(activity, R.attr.
|
|
38
|
+
private fun isDefaultLightSystemBars(activity: Activity): Boolean =
|
|
39
|
+
resolveBoolAttribute(activity, R.attr.enforceSystemBarsLightTheme) ||
|
|
37
40
|
activity.window.decorView.resources.configuration.uiMode and
|
|
38
41
|
Configuration.UI_MODE_NIGHT_MASK != Configuration.UI_MODE_NIGHT_YES
|
|
39
42
|
|
|
@@ -41,13 +44,13 @@ object EdgeToEdgeModuleImpl {
|
|
|
41
44
|
!resolveBoolAttribute(activity, R.attr.enforceNavigationBarContrast)
|
|
42
45
|
|
|
43
46
|
@Suppress("DEPRECATION")
|
|
44
|
-
fun applyEdgeToEdge(reactContext: ReactApplicationContext) {
|
|
45
|
-
val activity = reactContext
|
|
47
|
+
fun applyEdgeToEdge(reactContext: ReactApplicationContext?) {
|
|
48
|
+
val activity = reactContext?.currentActivity
|
|
46
49
|
?: return FLog.w(ReactConstants.TAG, "$NAME: Ignored, current activity is null.")
|
|
47
50
|
|
|
48
51
|
activity.runOnUiThread {
|
|
49
52
|
val window = activity.window
|
|
50
|
-
val
|
|
53
|
+
val insetsController = WindowInsetsControllerCompat(window, window.decorView)
|
|
51
54
|
|
|
52
55
|
WindowCompat.setDecorFitsSystemWindows(window, false)
|
|
53
56
|
|
|
@@ -61,17 +64,17 @@ object EdgeToEdgeModuleImpl {
|
|
|
61
64
|
window.isNavigationBarContrastEnforced = false
|
|
62
65
|
}
|
|
63
66
|
} else {
|
|
64
|
-
val
|
|
67
|
+
val light = isDefaultLightSystemBars(activity)
|
|
65
68
|
|
|
66
69
|
window.navigationBarColor = when {
|
|
67
70
|
VERSION.SDK_INT >= VERSION_CODES.Q -> Color.TRANSPARENT
|
|
68
|
-
VERSION.SDK_INT >= VERSION_CODES.O_MR1 &&
|
|
71
|
+
VERSION.SDK_INT >= VERSION_CODES.O_MR1 && light -> LightNavigationBarColor
|
|
69
72
|
else -> DarkNavigationBarColor
|
|
70
73
|
}
|
|
71
74
|
|
|
72
|
-
|
|
75
|
+
insetsController.run {
|
|
73
76
|
isAppearanceLightNavigationBars = when {
|
|
74
|
-
VERSION.SDK_INT >= VERSION_CODES.O_MR1 ->
|
|
77
|
+
VERSION.SDK_INT >= VERSION_CODES.O_MR1 -> light
|
|
75
78
|
else -> false
|
|
76
79
|
}
|
|
77
80
|
}
|
|
@@ -88,52 +91,93 @@ object EdgeToEdgeModuleImpl {
|
|
|
88
91
|
else -> WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
|
|
89
92
|
}
|
|
90
93
|
}
|
|
94
|
+
|
|
95
|
+
// re-apply statusBarHidden / navigationBarHidden when app gains focus
|
|
96
|
+
// see https://github.com/zoontek/react-native-edge-to-edge/issues/66
|
|
97
|
+
if (statusBarHidden || navigationBarHidden) {
|
|
98
|
+
insetsController.systemBarsBehavior =
|
|
99
|
+
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
|
100
|
+
|
|
101
|
+
if (statusBarHidden) {
|
|
102
|
+
insetsController.hide(WindowInsetsCompat.Type.statusBars())
|
|
103
|
+
}
|
|
104
|
+
if (navigationBarHidden) {
|
|
105
|
+
insetsController.hide(WindowInsetsCompat.Type.navigationBars())
|
|
106
|
+
}
|
|
107
|
+
}
|
|
91
108
|
}
|
|
92
109
|
}
|
|
93
110
|
|
|
94
|
-
fun
|
|
95
|
-
val activity = reactContext
|
|
96
|
-
?: return FLog.w(ReactConstants.TAG,
|
|
97
|
-
|
|
98
|
-
val statusBarHidden =
|
|
99
|
-
config.takeIf { it.hasKey("statusBarHidden") }?.getBoolean("statusBarHidden")
|
|
100
|
-
val statusBarStyle =
|
|
101
|
-
config.takeIf { it.hasKey("statusBarStyle") }?.getString("statusBarStyle")
|
|
102
|
-
val navigationBarHidden =
|
|
103
|
-
config.takeIf { it.hasKey("navigationBarHidden") }?.getBoolean("navigationBarHidden")
|
|
104
|
-
val navigationBarStyle =
|
|
105
|
-
config.takeIf { it.hasKey("navigationBarStyle") }?.getString("navigationBarStyle")
|
|
111
|
+
fun setStatusBarStyle(reactContext: ReactApplicationContext?, style: String) {
|
|
112
|
+
val activity = reactContext?.currentActivity
|
|
113
|
+
?: return FLog.w(ReactConstants.TAG, NO_ACTIVITY_ERROR)
|
|
106
114
|
|
|
107
115
|
activity.runOnUiThread {
|
|
108
116
|
val window = activity.window
|
|
109
117
|
val insetsController = WindowInsetsControllerCompat(window, window.decorView)
|
|
110
118
|
|
|
111
|
-
|
|
112
|
-
|
|
119
|
+
insetsController.isAppearanceLightStatusBars = when (style) {
|
|
120
|
+
"dark-content" -> true
|
|
121
|
+
"light-content" -> false
|
|
122
|
+
else -> isDefaultLightSystemBars(activity)
|
|
113
123
|
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
114
126
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
127
|
+
fun setNavigationBarStyle(reactContext: ReactApplicationContext?, style: String) {
|
|
128
|
+
val activity = reactContext?.currentActivity
|
|
129
|
+
?: return FLog.w(ReactConstants.TAG, NO_ACTIVITY_ERROR)
|
|
130
|
+
|
|
131
|
+
if (VERSION.SDK_INT >= VERSION_CODES.O_MR1 && isNavigationBarTransparent(activity)) {
|
|
132
|
+
activity.runOnUiThread {
|
|
133
|
+
val window = activity.window
|
|
134
|
+
val insetsController = WindowInsetsControllerCompat(window, window.decorView)
|
|
135
|
+
|
|
136
|
+
insetsController.isAppearanceLightNavigationBars = when (style) {
|
|
137
|
+
"dark-content" -> true
|
|
138
|
+
"light-content" -> false
|
|
139
|
+
else -> isDefaultLightSystemBars(activity)
|
|
118
140
|
}
|
|
119
141
|
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
120
144
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
145
|
+
fun setStatusBarHidden(reactContext: ReactApplicationContext?, hidden: Boolean) {
|
|
146
|
+
val activity = reactContext?.currentActivity
|
|
147
|
+
?: return FLog.w(ReactConstants.TAG, NO_ACTIVITY_ERROR)
|
|
124
148
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
149
|
+
statusBarHidden = hidden
|
|
150
|
+
|
|
151
|
+
activity.runOnUiThread {
|
|
152
|
+
val window = activity.window
|
|
153
|
+
val insetsController = WindowInsetsControllerCompat(window, window.decorView)
|
|
154
|
+
|
|
155
|
+
insetsController.systemBarsBehavior =
|
|
156
|
+
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
|
157
|
+
|
|
158
|
+
when (hidden) {
|
|
159
|
+
true -> insetsController.hide(WindowInsetsCompat.Type.statusBars())
|
|
160
|
+
else -> insetsController.show(WindowInsetsCompat.Type.statusBars())
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
fun setNavigationBarHidden(reactContext: ReactApplicationContext?, hidden: Boolean) {
|
|
166
|
+
val activity = reactContext?.currentActivity
|
|
167
|
+
?: return FLog.w(ReactConstants.TAG, NO_ACTIVITY_ERROR)
|
|
168
|
+
|
|
169
|
+
navigationBarHidden = hidden
|
|
170
|
+
|
|
171
|
+
activity.runOnUiThread {
|
|
172
|
+
val window = activity.window
|
|
173
|
+
val insetsController = WindowInsetsControllerCompat(window, window.decorView)
|
|
174
|
+
|
|
175
|
+
insetsController.systemBarsBehavior =
|
|
176
|
+
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
|
177
|
+
|
|
178
|
+
when (hidden) {
|
|
179
|
+
true -> insetsController.hide(WindowInsetsCompat.Type.navigationBars())
|
|
180
|
+
else -> insetsController.show(WindowInsetsCompat.Type.navigationBars())
|
|
137
181
|
}
|
|
138
182
|
}
|
|
139
183
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<resources>
|
|
3
3
|
<style name="Theme.EdgeToEdge.DayNight.Common" parent="Theme.AppCompat.DayNight.NoActionBar">
|
|
4
4
|
<item name="enforceNavigationBarContrast">true</item>
|
|
5
|
-
<item name="
|
|
5
|
+
<item name="enforceSystemBarsLightTheme">false</item>
|
|
6
6
|
|
|
7
7
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
|
8
8
|
<item name="android:fitsSystemWindows">false</item>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
<style name="Theme.EdgeToEdge.Material2.DayNight.Common" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
|
15
15
|
<item name="enforceNavigationBarContrast">true</item>
|
|
16
|
-
<item name="
|
|
16
|
+
<item name="enforceSystemBarsLightTheme">false</item>
|
|
17
17
|
|
|
18
18
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
|
19
19
|
<item name="android:fitsSystemWindows">false</item>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
<style name="Theme.EdgeToEdge.Material3.DayNight.Common" parent="Theme.Material3.DayNight.NoActionBar">
|
|
26
26
|
<item name="enforceNavigationBarContrast">true</item>
|
|
27
|
-
<item name="
|
|
27
|
+
<item name="enforceSystemBarsLightTheme">false</item>
|
|
28
28
|
|
|
29
29
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
|
30
30
|
<item name="android:fitsSystemWindows">false</item>
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
<style name="Theme.EdgeToEdge.Material3.Dynamic.DayNight.Common" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
|
|
37
37
|
<item name="enforceNavigationBarContrast">true</item>
|
|
38
|
-
<item name="
|
|
38
|
+
<item name="enforceSystemBarsLightTheme">false</item>
|
|
39
39
|
|
|
40
40
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
|
41
41
|
<item name="android:fitsSystemWindows">false</item>
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
|
|
47
47
|
<style name="Theme.EdgeToEdge.Light.Common" parent="Theme.AppCompat.Light.NoActionBar">
|
|
48
48
|
<item name="enforceNavigationBarContrast">true</item>
|
|
49
|
-
<item name="
|
|
49
|
+
<item name="enforceSystemBarsLightTheme">true</item>
|
|
50
50
|
|
|
51
51
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
|
52
52
|
<item name="android:fitsSystemWindows">false</item>
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
|
|
58
58
|
<style name="Theme.EdgeToEdge.Material2.Light.Common" parent="Theme.MaterialComponents.Light.NoActionBar">
|
|
59
59
|
<item name="enforceNavigationBarContrast">true</item>
|
|
60
|
-
<item name="
|
|
60
|
+
<item name="enforceSystemBarsLightTheme">true</item>
|
|
61
61
|
|
|
62
62
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
|
63
63
|
<item name="android:fitsSystemWindows">false</item>
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
|
|
69
69
|
<style name="Theme.EdgeToEdge.Material3.Light.Common" parent="Theme.Material3.Light.NoActionBar">
|
|
70
70
|
<item name="enforceNavigationBarContrast">true</item>
|
|
71
|
-
<item name="
|
|
71
|
+
<item name="enforceSystemBarsLightTheme">true</item>
|
|
72
72
|
|
|
73
73
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
|
74
74
|
<item name="android:fitsSystemWindows">false</item>
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
|
|
80
80
|
<style name="Theme.EdgeToEdge.Material3.Dynamic.Light.Common" parent="Theme.Material3.DynamicColors.Light.NoActionBar">
|
|
81
81
|
<item name="enforceNavigationBarContrast">true</item>
|
|
82
|
-
<item name="
|
|
82
|
+
<item name="enforceSystemBarsLightTheme">true</item>
|
|
83
83
|
|
|
84
84
|
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
|
85
85
|
<item name="android:fitsSystemWindows">false</item>
|
|
@@ -2,7 +2,6 @@ package com.zoontek.rnedgetoedge
|
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.LifecycleEventListener
|
|
4
4
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
-
import com.facebook.react.bridge.ReadableMap
|
|
6
5
|
import com.facebook.react.module.annotations.ReactModule
|
|
7
6
|
|
|
8
7
|
@ReactModule(name = EdgeToEdgeModuleImpl.NAME)
|
|
@@ -33,7 +32,19 @@ class EdgeToEdgeModule(reactContext: ReactApplicationContext) :
|
|
|
33
32
|
EdgeToEdgeModuleImpl.applyEdgeToEdge(reactApplicationContext)
|
|
34
33
|
}
|
|
35
34
|
|
|
36
|
-
override fun
|
|
37
|
-
EdgeToEdgeModuleImpl.
|
|
35
|
+
override fun setStatusBarStyle(style: String) {
|
|
36
|
+
EdgeToEdgeModuleImpl.setStatusBarStyle(reactApplicationContext, style)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
override fun setNavigationBarStyle(style: String) {
|
|
40
|
+
EdgeToEdgeModuleImpl.setNavigationBarStyle(reactApplicationContext, style)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
override fun setStatusBarHidden(hidden: Boolean) {
|
|
44
|
+
EdgeToEdgeModuleImpl.setStatusBarHidden(reactApplicationContext, hidden)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
override fun setNavigationBarHidden(hidden: Boolean) {
|
|
48
|
+
EdgeToEdgeModuleImpl.setNavigationBarHidden(reactApplicationContext, hidden)
|
|
38
49
|
}
|
|
39
50
|
}
|
|
@@ -4,7 +4,6 @@ import com.facebook.react.bridge.LifecycleEventListener
|
|
|
4
4
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
5
|
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
6
6
|
import com.facebook.react.bridge.ReactMethod
|
|
7
|
-
import com.facebook.react.bridge.ReadableMap
|
|
8
7
|
import com.facebook.react.module.annotations.ReactModule
|
|
9
8
|
|
|
10
9
|
@ReactModule(name = EdgeToEdgeModuleImpl.NAME)
|
|
@@ -37,7 +36,22 @@ class EdgeToEdgeModule(reactContext: ReactApplicationContext) :
|
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
@ReactMethod
|
|
40
|
-
fun
|
|
41
|
-
EdgeToEdgeModuleImpl.
|
|
39
|
+
fun setStatusBarStyle(style: String) {
|
|
40
|
+
EdgeToEdgeModuleImpl.setStatusBarStyle(reactApplicationContext, style)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@ReactMethod
|
|
44
|
+
fun setNavigationBarStyle(style: String) {
|
|
45
|
+
EdgeToEdgeModuleImpl.setNavigationBarStyle(reactApplicationContext, style)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@ReactMethod
|
|
49
|
+
fun setStatusBarHidden(hidden: Boolean) {
|
|
50
|
+
EdgeToEdgeModuleImpl.setStatusBarHidden(reactApplicationContext, hidden)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@ReactMethod
|
|
54
|
+
fun setNavigationBarHidden(hidden: Boolean) {
|
|
55
|
+
EdgeToEdgeModuleImpl.setNavigationBarHidden(reactApplicationContext, hidden)
|
|
42
56
|
}
|
|
43
57
|
}
|
|
@@ -11,12 +11,15 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
11
11
|
function getColorScheme() {
|
|
12
12
|
return _reactNative.Appearance?.getColorScheme() ?? "light";
|
|
13
13
|
}
|
|
14
|
+
function toNativeBarStyle(style) {
|
|
15
|
+
return style === "light" || style === "dark" ? `${style}-content` : "default";
|
|
16
|
+
}
|
|
14
17
|
|
|
15
18
|
/**
|
|
16
19
|
* Merges the entries stack.
|
|
17
20
|
*/
|
|
18
21
|
function mergeEntriesStack(entriesStack) {
|
|
19
|
-
|
|
22
|
+
return entriesStack.reduce((prev, cur) => {
|
|
20
23
|
for (const prop in cur) {
|
|
21
24
|
if (cur[prop] != null) {
|
|
22
25
|
// @ts-expect-error
|
|
@@ -26,15 +29,10 @@ function mergeEntriesStack(entriesStack) {
|
|
|
26
29
|
return prev;
|
|
27
30
|
}, {
|
|
28
31
|
statusBarStyle: undefined,
|
|
29
|
-
statusBarHidden: undefined,
|
|
30
32
|
navigationBarStyle: undefined,
|
|
31
|
-
|
|
33
|
+
statusBarHidden: false,
|
|
34
|
+
navigationBarHidden: false
|
|
32
35
|
});
|
|
33
|
-
if (mergedEntry.statusBarStyle == null && mergedEntry.statusBarHidden == null && mergedEntry.navigationBarStyle == null && mergedEntry.navigationBarHidden == null) {
|
|
34
|
-
return null;
|
|
35
|
-
} else {
|
|
36
|
-
return mergedEntry;
|
|
37
|
-
}
|
|
38
36
|
}
|
|
39
37
|
|
|
40
38
|
/**
|
|
@@ -43,8 +41,8 @@ function mergeEntriesStack(entriesStack) {
|
|
|
43
41
|
function createStackEntry(props) {
|
|
44
42
|
return {
|
|
45
43
|
statusBarStyle: typeof props.style === "string" ? props.style : props.style?.statusBar,
|
|
46
|
-
statusBarHidden: typeof props.hidden === "boolean" ? props.hidden : props.hidden?.statusBar,
|
|
47
44
|
navigationBarStyle: typeof props.style === "string" ? props.style : props.style?.navigationBar,
|
|
45
|
+
statusBarHidden: typeof props.hidden === "boolean" ? props.hidden : props.hidden?.statusBar,
|
|
48
46
|
navigationBarHidden: typeof props.hidden === "boolean" ? props.hidden : props.hidden?.navigationBar
|
|
49
47
|
};
|
|
50
48
|
}
|
|
@@ -54,7 +52,12 @@ const entriesStack = [];
|
|
|
54
52
|
let updateImmediate = null;
|
|
55
53
|
|
|
56
54
|
// The current merged values from the entries stack.
|
|
57
|
-
let currentMergedEntries =
|
|
55
|
+
let currentMergedEntries = {
|
|
56
|
+
statusBarStyle: undefined,
|
|
57
|
+
navigationBarStyle: undefined,
|
|
58
|
+
statusBarHidden: false,
|
|
59
|
+
navigationBarHidden: false
|
|
60
|
+
};
|
|
58
61
|
|
|
59
62
|
/**
|
|
60
63
|
* Updates the native system bars with the entries from the stack.
|
|
@@ -65,42 +68,39 @@ function updateEntriesStack() {
|
|
|
65
68
|
clearImmediate(updateImmediate);
|
|
66
69
|
}
|
|
67
70
|
updateImmediate = setImmediate(() => {
|
|
71
|
+
const autoBarStyle = getColorScheme() === "light" ? "dark" : "light";
|
|
68
72
|
const mergedEntries = mergeEntriesStack(entriesStack);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
}
|
|
73
|
+
const statusBarStyle = mergedEntries.statusBarStyle === "auto" ? autoBarStyle : mergedEntries.statusBarStyle;
|
|
74
|
+
const navigationBarStyle = mergedEntries.navigationBarStyle === "auto" ? autoBarStyle : mergedEntries.navigationBarStyle;
|
|
75
|
+
const {
|
|
76
|
+
statusBarHidden,
|
|
77
|
+
navigationBarHidden
|
|
78
|
+
} = mergedEntries;
|
|
79
|
+
if (statusBarStyle !== currentMergedEntries.statusBarStyle) {
|
|
80
|
+
const style = toNativeBarStyle(statusBarStyle);
|
|
81
|
+
console.log({
|
|
82
|
+
style
|
|
83
|
+
});
|
|
84
|
+
_reactNative.Platform.OS === "android" ? _NativeEdgeToEdgeModule.default?.setStatusBarStyle(style) : _reactNative.StatusBar.setBarStyle(style, true);
|
|
85
|
+
}
|
|
86
|
+
if (statusBarHidden !== currentMergedEntries.statusBarHidden) {
|
|
87
|
+
_reactNative.Platform.OS === "android" ? _NativeEdgeToEdgeModule.default?.setStatusBarHidden(statusBarHidden) : _reactNative.StatusBar.setHidden(statusBarHidden, "fade"); // 'slide' doesn't work in this context
|
|
88
|
+
}
|
|
89
|
+
if (_reactNative.Platform.OS === "android") {
|
|
90
|
+
if (navigationBarStyle !== currentMergedEntries.navigationBarStyle) {
|
|
91
|
+
const style = toNativeBarStyle(navigationBarStyle);
|
|
92
|
+
_NativeEdgeToEdgeModule.default?.setNavigationBarStyle(style);
|
|
93
|
+
}
|
|
94
|
+
if (navigationBarHidden !== currentMergedEntries.navigationBarHidden) {
|
|
95
|
+
_NativeEdgeToEdgeModule.default?.setNavigationBarHidden(navigationBarHidden);
|
|
94
96
|
}
|
|
95
|
-
currentMergedEntries = {
|
|
96
|
-
statusBarStyle,
|
|
97
|
-
statusBarHidden,
|
|
98
|
-
navigationBarStyle,
|
|
99
|
-
navigationBarHidden
|
|
100
|
-
};
|
|
101
|
-
} else {
|
|
102
|
-
currentMergedEntries = null;
|
|
103
97
|
}
|
|
98
|
+
currentMergedEntries = {
|
|
99
|
+
statusBarStyle,
|
|
100
|
+
navigationBarStyle,
|
|
101
|
+
statusBarHidden,
|
|
102
|
+
navigationBarHidden
|
|
103
|
+
};
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
}
|
|
@@ -151,8 +151,8 @@ function SystemBars({
|
|
|
151
151
|
style
|
|
152
152
|
}) {
|
|
153
153
|
const statusBarStyle = typeof style === "string" ? style : style?.statusBar;
|
|
154
|
-
const statusBarHidden = typeof hidden === "boolean" ? hidden : hidden?.statusBar;
|
|
155
154
|
const navigationBarStyle = typeof style === "string" ? style : style?.navigationBar;
|
|
155
|
+
const statusBarHidden = typeof hidden === "boolean" ? hidden : hidden?.statusBar;
|
|
156
156
|
const navigationBarHidden = typeof hidden === "boolean" ? hidden : hidden?.navigationBar;
|
|
157
157
|
const stableProps = (0, _react.useMemo)(() => ({
|
|
158
158
|
style: statusBarStyle === navigationBarStyle ? statusBarStyle : {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_NativeEdgeToEdgeModule","_interopRequireDefault","e","__esModule","default","getColorScheme","Appearance","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_NativeEdgeToEdgeModule","_interopRequireDefault","e","__esModule","default","getColorScheme","Appearance","toNativeBarStyle","style","mergeEntriesStack","entriesStack","reduce","prev","cur","prop","statusBarStyle","undefined","navigationBarStyle","statusBarHidden","navigationBarHidden","createStackEntry","props","statusBar","navigationBar","hidden","updateImmediate","currentMergedEntries","updateEntriesStack","Platform","OS","clearImmediate","setImmediate","autoBarStyle","mergedEntries","console","log","NativeModule","setStatusBarStyle","StatusBar","setBarStyle","setStatusBarHidden","setHidden","setNavigationBarStyle","setNavigationBarHidden","pushStackEntry","entry","push","popStackEntry","index","indexOf","splice","replaceStackEntry","newEntry","SystemBars","stableProps","useMemo","colorScheme","useColorScheme","stackEntryRef","useRef","useEffect","current"],"sourceRoot":"../../src","sources":["SystemBars.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/commonjs/expo.js
CHANGED
|
@@ -42,14 +42,6 @@ const withAndroidEdgeToEdgeTheme = (config, props = {}) => {
|
|
|
42
42
|
if (style.item != null) {
|
|
43
43
|
style.item = style.item.filter(item => !cleanupList.has(item.$.name));
|
|
44
44
|
}
|
|
45
|
-
if (enforceNavigationBarContrast === false) {
|
|
46
|
-
style.item.push({
|
|
47
|
-
$: {
|
|
48
|
-
name: "enforceNavigationBarContrast"
|
|
49
|
-
},
|
|
50
|
-
_: String(false)
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
45
|
if (statusBarStyle != null) {
|
|
54
46
|
style.item.push({
|
|
55
47
|
$: {
|
|
@@ -65,19 +57,27 @@ const withAndroidEdgeToEdgeTheme = (config, props = {}) => {
|
|
|
65
57
|
_: String(userInterfaceStyle === "light")
|
|
66
58
|
});
|
|
67
59
|
}
|
|
68
|
-
if (
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
60
|
+
if (enforceNavigationBarContrast === false) {
|
|
61
|
+
if (navigationBarStyle != null) {
|
|
62
|
+
style.item.push({
|
|
63
|
+
$: {
|
|
64
|
+
name: "android:windowLightNavigationBar"
|
|
65
|
+
},
|
|
66
|
+
_: String(navigationBarStyle === "dark-content")
|
|
67
|
+
});
|
|
68
|
+
} else if (userInterfaceStyle !== "automatic") {
|
|
69
|
+
style.item.push({
|
|
70
|
+
$: {
|
|
71
|
+
name: "android:windowLightNavigationBar"
|
|
72
|
+
},
|
|
73
|
+
_: String(navigationBarStyle === "light")
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
76
|
style.item.push({
|
|
77
77
|
$: {
|
|
78
|
-
name: "
|
|
78
|
+
name: "enforceNavigationBarContrast"
|
|
79
79
|
},
|
|
80
|
-
_: String(
|
|
80
|
+
_: String(false)
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_configPlugins","require","withAndroidEdgeToEdgeTheme","config","props","themes","Default","Material2","Material3","Light","cleanupList","Set","withAndroidStyles","androidNavigationBar","androidStatusBar","userInterfaceStyle","barStyle","navigationBarStyle","statusBarStyle","android","enforceNavigationBarContrast","parentTheme","modResults","resources","style","map","$","name","parent","item","filter","has","push","_","String","_default","exports","default","createRunOncePlugin"],"sourceRoot":"../../src","sources":["expo.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAuBA,MAAMC,0BAA+C,GAAGA,CACtDC,MAAM,EACNC,KAAK,GAAG,CAAC,CAAC,KACP;EACH,MAAMC,MAAmC,GAAG;IAC1CC,OAAO,EAAE,kBAAkB;IAC3BC,SAAS,EAAE,4BAA4B;IACvCC,SAAS,EAAE,4BAA4B;IACvC,mBAAmB,EAAE,oCAAoC;IAEzDC,KAAK,EAAE,wBAAwB;IAC/B,iBAAiB,EAAE,kCAAkC;IACrD,iBAAiB,EAAE,kCAAkC;IACrD,yBAAyB,EAAE;EAC7B,CAAC;EAED,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAAC,CAC1B,8BAA8B,EAC9B,sCAAsC,EACtC,kCAAkC,EAClC,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,yCAAyC,EACzC,yCAAyC,EACzC,kCAAkC,EAClC,8BAA8B,EAC9B,qCAAqC,EACrC,iCAAiC,CAClC,CAAC;EAEF,OAAO,IAAAC,gCAAiB,EAACT,MAAM,EAAGA,MAAM,IAAK;IAC3C,MAAM;MACJU,oBAAoB,GAAG,CAAC,CAAC;MACzBC,gBAAgB,GAAG,CAAC,CAAC;MACrBC,kBAAkB,GAAG;IACvB,CAAC,GAAGZ,MAAM;IAEV,MAAM;MAAEa,QAAQ,EAAEC;IAAmB,CAAC,GAAGJ,oBAAoB;IAC7D,MAAM;MAAEG,QAAQ,EAAEE;IAAe,CAAC,GAAGJ,gBAAgB;IACrD,MAAM;MAAEK,OAAO,GAAG,CAAC;IAAE,CAAC,GAAGf,KAAK;IAC9B,MAAM;MAAEgB,4BAA4B;MAAEC,WAAW,GAAG;IAAU,CAAC,GAAGF,OAAO;IAEzEhB,MAAM,CAACmB,UAAU,CAACC,SAAS,CAACC,KAAK,GAAGrB,MAAM,CAACmB,UAAU,CAACC,SAAS,CAACC,KAAK,EAAEC,GAAG,CACvED,KAAK,IAAmB;MACvB,IAAIA,KAAK,CAACE,CAAC,CAACC,IAAI,KAAK,UAAU,EAAE;QAC/BH,KAAK,CAACE,CAAC,CAACE,MAAM,GAAGvB,MAAM,CAACgB,WAAW,CAAC,IAAIhB,MAAM,CAAC,SAAS,CAAC;QAEzD,IAAImB,KAAK,CAACK,IAAI,IAAI,IAAI,EAAE;UACtBL,KAAK,CAACK,IAAI,GAAGL,KAAK,CAACK,IAAI,CAACC,MAAM,CAC3BD,IAAI,IAAK,CAACnB,WAAW,CAACqB,GAAG,CAACF,IAAI,CAACH,CAAC,CAACC,IAAI,CACxC,CAAC;QACH;QAEA,
|
|
1
|
+
{"version":3,"names":["_configPlugins","require","withAndroidEdgeToEdgeTheme","config","props","themes","Default","Material2","Material3","Light","cleanupList","Set","withAndroidStyles","androidNavigationBar","androidStatusBar","userInterfaceStyle","barStyle","navigationBarStyle","statusBarStyle","android","enforceNavigationBarContrast","parentTheme","modResults","resources","style","map","$","name","parent","item","filter","has","push","_","String","_default","exports","default","createRunOncePlugin"],"sourceRoot":"../../src","sources":["expo.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
-
const NativeModule = _reactNative.TurboModuleRegistry.
|
|
8
|
+
const NativeModule = _reactNative.Platform.OS === "android" ? _reactNative.TurboModuleRegistry.getEnforcing("RNEdgeToEdge") : null;
|
|
9
9
|
if (NativeModule != null) {
|
|
10
10
|
_reactNative.Appearance.addChangeListener(() => {
|
|
11
11
|
NativeModule.onColorSchemeChange();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","NativeModule","TurboModuleRegistry","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","NativeModule","Platform","OS","TurboModuleRegistry","getEnforcing","Appearance","addChangeListener","onColorSchemeChange","_default","exports","default"],"sourceRoot":"../../../src","sources":["specs/NativeEdgeToEdgeModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAYA,MAAMC,YAAY,GAChBC,qBAAQ,CAACC,EAAE,KAAK,SAAS,GACrBC,gCAAmB,CAACC,YAAY,CAAO,cAAc,CAAC,GACtD,IAAI;AAEV,IAAIJ,YAAY,IAAI,IAAI,EAAE;EACxBK,uBAAU,CAACC,iBAAiB,CAAC,MAAM;IACjCN,YAAY,CAACO,mBAAmB,CAAC,CAAC;EACpC,CAAC,CAAC;AACJ;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcV,YAAY","ignoreList":[]}
|
|
@@ -4,8 +4,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _default = exports.default =
|
|
8
|
-
onColorSchemeChange() {},
|
|
9
|
-
setSystemBarsConfig() {}
|
|
10
|
-
};
|
|
7
|
+
var _default = exports.default = null;
|
|
11
8
|
//# sourceMappingURL=NativeEdgeToEdgeModule.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/NativeEdgeToEdgeModule.web.ts"],"mappings":";;;;;;iCAAe,IAAI","ignoreList":[]}
|