react-native-unistyles 2.3.0 → 2.4.0-rc.1

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.
Files changed (33) hide show
  1. package/android/CMakeLists.txt +1 -0
  2. package/android/src/main/cxx/cpp-adapter.cpp +10 -16
  3. package/android/src/main/cxx/helpers.cpp +79 -0
  4. package/android/src/main/cxx/helpers.h +9 -0
  5. package/android/src/main/java/com/unistyles/Platform.kt +92 -0
  6. package/android/src/main/java/com/unistyles/UnistylesModule.kt +23 -32
  7. package/cxx/UnistylesRuntime.cpp +25 -1
  8. package/cxx/UnistylesRuntime.h +14 -3
  9. package/ios/UnistylesModule.mm +3 -1
  10. package/ios/platform/Platform_iOS.h +3 -0
  11. package/ios/platform/Platform_iOS.mm +28 -1
  12. package/ios/platform/Platform_macOS.h +3 -0
  13. package/ios/platform/Platform_macOS.mm +28 -1
  14. package/lib/commonjs/core/UnistylesModule.js +14 -0
  15. package/lib/commonjs/core/UnistylesModule.js.map +1 -1
  16. package/lib/commonjs/core/UnistylesRuntime.js +16 -0
  17. package/lib/commonjs/core/UnistylesRuntime.js.map +1 -1
  18. package/lib/module/core/UnistylesModule.js +14 -0
  19. package/lib/module/core/UnistylesModule.js.map +1 -1
  20. package/lib/module/core/UnistylesRuntime.js +16 -0
  21. package/lib/module/core/UnistylesRuntime.js.map +1 -1
  22. package/lib/typescript/src/core/UnistylesModule.d.ts.map +1 -1
  23. package/lib/typescript/src/core/UnistylesRuntime.d.ts +10 -0
  24. package/lib/typescript/src/core/UnistylesRuntime.d.ts.map +1 -1
  25. package/lib/typescript/src/types/unistyles.d.ts +12 -0
  26. package/lib/typescript/src/types/unistyles.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/src/core/UnistylesModule.ts +15 -1
  29. package/src/core/UnistylesRuntime.ts +16 -0
  30. package/src/types/unistyles.ts +14 -0
  31. package/windows/ReactNativeUnistyles/ReactNativeUnistyles.h +24 -2
  32. package/windows/ReactNativeUnistyles/ReactNativeUnistyles.vcxproj +8 -1
  33. package/windows/ReactNativeUnistyles/ReactNativeUnistyles.vcxproj.filters +2 -1
@@ -6,6 +6,7 @@ add_library(unistyles
6
6
  SHARED
7
7
  ../cxx/UnistylesRuntime.cpp
8
8
  ./src/main/cxx/cpp-adapter.cpp
9
+ ./src/main/cxx/helpers.cpp
9
10
  )
10
11
 
11
12
  include_directories(
@@ -1,24 +1,14 @@
1
1
  #include <jni.h>
2
2
  #include <jsi/jsi.h>
3
+ #include <map>
3
4
  #include "UnistylesRuntime.h"
5
+ #include "helpers.h"
4
6
 
5
7
  using namespace facebook;
6
8
 
7
9
  static jobject unistylesModule = nullptr;
8
10
  std::shared_ptr<UnistylesRuntime> unistylesRuntime = nullptr;
9
11
 
10
- void throwKotlinException(
11
- JNIEnv *env,
12
- const char *message
13
- ) {
14
- jclass runtimeExceptionClass = env->FindClass("java/lang/RuntimeException");
15
-
16
- if (runtimeExceptionClass != nullptr) {
17
- env->ThrowNew(runtimeExceptionClass, message);
18
- env->DeleteLocalRef(runtimeExceptionClass);
19
- }
20
- }
21
-
22
12
  extern "C"
23
13
  JNIEXPORT void JNICALL
24
14
  Java_com_unistyles_UnistylesModule_nativeInstall(
@@ -28,7 +18,9 @@ Java_com_unistyles_UnistylesModule_nativeInstall(
28
18
  jint screenWidth,
29
19
  jint screenHeight,
30
20
  jstring colorScheme,
31
- jstring contentSizeCategory
21
+ jstring contentSizeCategory,
22
+ jobject insets,
23
+ jobject statusBar
32
24
  ) {
33
25
  auto runtime = reinterpret_cast<facebook::jsi::Runtime *>(jsi);
34
26
 
@@ -52,7 +44,9 @@ Java_com_unistyles_UnistylesModule_nativeInstall(
52
44
  screenWidth,
53
45
  screenHeight,
54
46
  colorSchemeStr,
55
- contentSizeCategoryStr
47
+ contentSizeCategoryStr,
48
+ jobjectToStdMap(env, insets),
49
+ jobjectToStdMap(env, statusBar)
56
50
  );
57
51
 
58
52
  unistylesRuntime->onThemeChange([=](const std::string &theme) {
@@ -109,9 +103,9 @@ Java_com_unistyles_UnistylesModule_nativeDestroy(JNIEnv *env, jobject thiz) {
109
103
 
110
104
  extern "C"
111
105
  JNIEXPORT void JNICALL
112
- Java_com_unistyles_UnistylesModule_nativeOnOrientationChange(JNIEnv *env, jobject thiz, jint width, jint height) {
106
+ Java_com_unistyles_UnistylesModule_nativeOnOrientationChange(JNIEnv *env, jobject thiz, jint width, jint height, jobject insets, jobject statusBar) {
113
107
  if (unistylesRuntime != nullptr) {
114
- unistylesRuntime->handleScreenSizeChange(width, height);
108
+ unistylesRuntime->handleScreenSizeChange(width, height, jobjectToStdMap(env, insets), jobjectToStdMap(env, statusBar));
115
109
  }
116
110
  }
117
111
 
@@ -0,0 +1,79 @@
1
+ #include "helpers.h"
2
+
3
+ int jobjectToInt(JNIEnv *env, jobject integer) {
4
+ jclass integerClass = env->FindClass("java/lang/Integer");
5
+ jmethodID intValueMethod = env->GetMethodID(integerClass, "intValue", "()I");
6
+ int value = env->CallIntMethod(integer, intValueMethod);
7
+
8
+ env->DeleteLocalRef(integerClass);
9
+
10
+ return value;
11
+ }
12
+
13
+ std::string jstringToStdString(JNIEnv *env, jstring jStr) {
14
+ if (!jStr) {
15
+ return "";
16
+ }
17
+
18
+ const jclass stringClass = env->GetObjectClass(jStr);
19
+ const jmethodID getBytes = env->GetMethodID(stringClass, "getBytes", "(Ljava/lang/String;)[B");
20
+ const jbyteArray stringJbytes = (jbyteArray) env->CallObjectMethod(jStr, getBytes, env->NewStringUTF("UTF-8"));
21
+
22
+ size_t length = (size_t) env->GetArrayLength(stringJbytes);
23
+ jbyte* pBytes = env->GetByteArrayElements(stringJbytes, NULL);
24
+
25
+ std::string ret = std::string((char *)pBytes, length);
26
+ env->ReleaseByteArrayElements(stringJbytes, pBytes, JNI_ABORT);
27
+
28
+ env->DeleteLocalRef(stringJbytes);
29
+ env->DeleteLocalRef(stringClass);
30
+
31
+ return ret;
32
+ }
33
+
34
+ std::map<std::string, int> jobjectToStdMap(JNIEnv *env, jobject map) {
35
+ std::map<std::string, int> result;
36
+
37
+ jclass setClass = env->FindClass("java/util/Set");
38
+ jclass iteratorClass = env->FindClass("java/util/Iterator");
39
+ jmethodID entrySetMethod = env->GetMethodID(env->GetObjectClass(map), "entrySet", "()Ljava/util/Set;");
40
+ jmethodID iteratorMethod = env->GetMethodID(setClass, "iterator", "()Ljava/util/Iterator;");
41
+ jobject set = env->CallObjectMethod(map, entrySetMethod);
42
+ jobject iterator = env->CallObjectMethod(set, iteratorMethod);
43
+ jmethodID hasNextMethod = env->GetMethodID(iteratorClass, "hasNext", "()Z");
44
+ jmethodID nextMethod = env->GetMethodID(iteratorClass, "next", "()Ljava/lang/Object;");
45
+
46
+ while (env->CallBooleanMethod(iterator, hasNextMethod)) {
47
+ jobject entry = env->CallObjectMethod(iterator, nextMethod);
48
+
49
+ jmethodID getKeyMethod = env->GetMethodID(env->GetObjectClass(entry), "getKey", "()Ljava/lang/Object;");
50
+ jmethodID getValueMethod = env->GetMethodID(env->GetObjectClass(entry), "getValue", "()Ljava/lang/Object;");
51
+ jstring key = (jstring) env->CallObjectMethod(entry, getKeyMethod);
52
+ jobject value = env->CallObjectMethod(entry, getValueMethod);
53
+
54
+ result[jstringToStdString(env, key)] = jobjectToInt(env, value);
55
+
56
+ env->DeleteLocalRef(entry);
57
+ env->DeleteLocalRef(key);
58
+ env->DeleteLocalRef(value);
59
+ }
60
+
61
+ env->DeleteLocalRef(set);
62
+ env->DeleteLocalRef(iterator);
63
+ env->DeleteLocalRef(setClass);
64
+ env->DeleteLocalRef(iteratorClass);
65
+
66
+ return result;
67
+ }
68
+
69
+ void throwKotlinException(
70
+ JNIEnv *env,
71
+ const char *message
72
+ ) {
73
+ jclass runtimeExceptionClass = env->FindClass("java/lang/RuntimeException");
74
+
75
+ if (runtimeExceptionClass != nullptr) {
76
+ env->ThrowNew(runtimeExceptionClass, message);
77
+ env->DeleteLocalRef(runtimeExceptionClass);
78
+ }
79
+ }
@@ -0,0 +1,9 @@
1
+ #include <jni.h>
2
+ #include <string>
3
+ #include <map>
4
+
5
+ int jobjectToInt(JNIEnv *env, jobject integer);
6
+ std::string jstringToStdString(JNIEnv *env, jstring jStr);
7
+ std::map<std::string, int> jobjectToStdMap(JNIEnv *env, jobject map);
8
+
9
+ void throwKotlinException(JNIEnv *env, const char *message);
@@ -0,0 +1,92 @@
1
+ package com.unistyles
2
+
3
+ import android.annotation.SuppressLint
4
+ import android.content.res.Configuration
5
+ import android.os.Build
6
+ import android.view.WindowInsets
7
+ import com.facebook.react.bridge.ReactApplicationContext
8
+
9
+ class Platform(private val reactApplicationContext: ReactApplicationContext) {
10
+ @SuppressLint("InternalInsetResource", "DiscouragedApi", "ObsoleteSdkInt")
11
+ fun getConfig(): Map<String, Any> {
12
+ val displayMetrics = reactApplicationContext.resources.displayMetrics
13
+ val fontScale = reactApplicationContext.resources.configuration.fontScale
14
+ val screenWidth = (displayMetrics.widthPixels / displayMetrics.density).toInt()
15
+ val screenHeight = (displayMetrics.heightPixels / displayMetrics.density).toInt()
16
+
17
+ return mapOf(
18
+ "width" to screenWidth,
19
+ "height" to screenHeight,
20
+ "colorScheme" to getColorScheme(),
21
+ "contentSizeCategory" to getContentSizeCategory(fontScale),
22
+ "insets" to getScreenInsets(displayMetrics.density),
23
+ "statusBar" to mapOf(
24
+ "height" to getStatusBarHeight(displayMetrics.density),
25
+ "width" to screenWidth
26
+ )
27
+ )
28
+ }
29
+
30
+ private fun getContentSizeCategory(fontScale: Float): String {
31
+ val contentSizeCategory = when {
32
+ fontScale <= 0.85f -> "Small"
33
+ fontScale <= 1.0f -> "Default"
34
+ fontScale <= 1.15f -> "Large"
35
+ fontScale <= 1.3f -> "ExtraLarge"
36
+ else -> "Huge"
37
+ }
38
+
39
+ return contentSizeCategory
40
+ }
41
+
42
+ private fun getColorScheme(): String {
43
+ val colorScheme = when (reactApplicationContext.resources.configuration.uiMode.and(Configuration.UI_MODE_NIGHT_MASK)) {
44
+ Configuration.UI_MODE_NIGHT_YES -> "dark"
45
+ Configuration.UI_MODE_NIGHT_NO -> "light"
46
+ else -> "unspecified"
47
+ }
48
+
49
+ return colorScheme
50
+ }
51
+
52
+ @Suppress("DEPRECATION")
53
+ private fun getScreenInsets(density: Float): Map<String, Int> {
54
+ val insets = mutableMapOf(
55
+ "top" to 0,
56
+ "bottom" to 0,
57
+ "left" to 0,
58
+ "right" to 0
59
+ )
60
+
61
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
62
+ val systemInsets = reactApplicationContext.currentActivity?.window?.decorView?.rootWindowInsets?.getInsets(WindowInsets.Type.displayCutout())
63
+
64
+ insets["top"] = ((systemInsets?.top ?: 0) / density).toInt()
65
+ insets["bottom"] = ((systemInsets?.bottom ?: 0) / density).toInt()
66
+ insets["left"] = ((systemInsets?.left ?: 0) / density).toInt()
67
+ insets["right"] = ((systemInsets?.right ?: 0) / density).toInt()
68
+
69
+ return insets
70
+ }
71
+
72
+ val systemInsets = reactApplicationContext.currentActivity?.window?.decorView?.rootWindowInsets
73
+
74
+ insets["top"] = ((systemInsets?.systemWindowInsetTop ?: 0) / density).toInt()
75
+ insets["bottom"] = ((systemInsets?.systemWindowInsetBottom ?: 0) / density).toInt()
76
+ insets["left"] = ((systemInsets?.systemWindowInsetLeft ?: 0) / density).toInt()
77
+ insets["right"] = ((systemInsets?.systemWindowInsetRight ?: 0) / density).toInt()
78
+
79
+ return insets
80
+ }
81
+
82
+ @SuppressLint("InternalInsetResource", "DiscouragedApi")
83
+ private fun getStatusBarHeight(density: Float): Int {
84
+ val heightResId = reactApplicationContext.resources.getIdentifier("status_bar_height", "dimen", "android")
85
+
86
+ if (heightResId > 0) {
87
+ return (reactApplicationContext.resources.getDimensionPixelSize(heightResId) / density).toInt()
88
+ }
89
+
90
+ return 0
91
+ }
92
+ }
@@ -4,7 +4,6 @@ import android.content.BroadcastReceiver
4
4
  import android.content.Context
5
5
  import android.content.Intent
6
6
  import android.content.IntentFilter
7
- import android.content.res.Configuration
8
7
  import android.os.Handler
9
8
  import android.os.Looper
10
9
  import android.util.Log
@@ -15,8 +14,9 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule
15
14
  import com.facebook.react.bridge.ReactMethod
16
15
  import com.facebook.react.modules.core.DeviceEventManagerModule
17
16
 
18
-
19
17
  class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext), LifecycleEventListener {
18
+ private val platform: Platform = Platform(reactContext)
19
+
20
20
  private val configurationChangeReceiver = object : BroadcastReceiver() {
21
21
  override fun onReceive(context: Context, intent: Intent) {
22
22
  if (intent.action == Intent.ACTION_CONFIGURATION_CHANGED) {
@@ -37,6 +37,7 @@ class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJ
37
37
  reactApplicationContext.registerReceiver(configurationChangeReceiver, IntentFilter(Intent.ACTION_CONFIGURATION_CHANGED))
38
38
  }
39
39
 
40
+ @Deprecated("Deprecated in Java")
40
41
  override fun onCatalystInstanceDestroy() {
41
42
  reactApplicationContext.unregisterReceiver(configurationChangeReceiver)
42
43
  this.nativeDestroy()
@@ -44,13 +45,16 @@ class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJ
44
45
 
45
46
  //endregion
46
47
  //region Event handlers
48
+ @Suppress("UNCHECKED_CAST")
47
49
  private fun onConfigChange() {
48
- val config = this.getConfig()
50
+ val config = platform.getConfig()
49
51
 
50
52
  reactApplicationContext.runOnJSQueueThread {
51
53
  this.nativeOnOrientationChange(
52
54
  config["width"] as Int,
53
- config["height"] as Int
55
+ config["height"] as Int,
56
+ config["insets"] as Map<String, Int>,
57
+ config["statusBar"] as Map<String, Int>
54
58
  )
55
59
  this.nativeOnAppearanceChange(
56
60
  config["colorScheme"] as String
@@ -59,37 +63,14 @@ class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJ
59
63
  }
60
64
  }
61
65
 
62
- private fun getConfig(): Map<String, Any> {
63
- val displayMetrics = reactApplicationContext.resources.displayMetrics
64
- val colorScheme = when (reactApplicationContext.resources.configuration.uiMode.and(Configuration.UI_MODE_NIGHT_MASK)) {
65
- Configuration.UI_MODE_NIGHT_YES -> "dark"
66
- Configuration.UI_MODE_NIGHT_NO -> "light"
67
- else -> "unspecified"
68
- }
69
- val fontScale = reactApplicationContext.resources.configuration.fontScale
70
- val contentSizeCategory = when {
71
- fontScale <= 0.85f -> "Small"
72
- fontScale <= 1.0f -> "Default"
73
- fontScale <= 1.15f -> "Large"
74
- fontScale <= 1.3f -> "ExtraLarge"
75
- else -> "Huge"
76
- }
77
-
78
- return mapOf(
79
- "width" to (displayMetrics.widthPixels / displayMetrics.density).toInt(),
80
- "height" to (displayMetrics.heightPixels / displayMetrics.density).toInt(),
81
- "colorScheme" to colorScheme,
82
- "contentSizeCategory" to contentSizeCategory
83
- )
84
- }
85
-
86
66
  //endregion
87
67
  //region Core
68
+ @Suppress("UNCHECKED_CAST")
88
69
  @ReactMethod(isBlockingSynchronousMethod = true)
89
70
  fun install(): Boolean {
90
71
  return try {
91
72
  System.loadLibrary("unistyles")
92
- val config = this.getConfig()
73
+ val config = platform.getConfig()
93
74
 
94
75
  this.reactApplicationContext.javaScriptContextHolder?.let {
95
76
  this.nativeInstall(
@@ -97,7 +78,9 @@ class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJ
97
78
  config["width"] as Int,
98
79
  config["height"] as Int,
99
80
  config["colorScheme"] as String,
100
- config["contentSizeCategory"] as String
81
+ config["contentSizeCategory"] as String,
82
+ config["insets"] as Map<String, Int>,
83
+ config["statusBar"] as Map<String, Int>
101
84
  )
102
85
 
103
86
  Log.i(NAME, "Installed Unistyles \uD83E\uDD84!")
@@ -111,9 +94,17 @@ class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJ
111
94
  }
112
95
  }
113
96
 
114
- private external fun nativeInstall(jsi: Long, width: Int, height: Int, colorScheme: String, contentSizeCategory: String)
97
+ private external fun nativeInstall(
98
+ jsi: Long,
99
+ width: Int,
100
+ height: Int,
101
+ colorScheme: String,
102
+ contentSizeCategory: String,
103
+ insets: Map<String, Int>,
104
+ statusBar: Map<String, Int>
105
+ )
115
106
  private external fun nativeDestroy()
116
- private external fun nativeOnOrientationChange(width: Int, height: Int)
107
+ private external fun nativeOnOrientationChange(width: Int, height: Int, insets: Map<String, Int>, statusBar: Map<String, Int>)
117
108
  private external fun nativeOnAppearanceChange(colorScheme: String)
118
109
  private external fun nativeOnContentSizeCategoryChange(contentSizeCategory: String)
119
110
 
@@ -25,6 +25,8 @@ std::vector<jsi::PropNameID> UnistylesRuntime::getPropertyNames(jsi::Runtime& ru
25
25
  properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("addPlugin")));
26
26
  properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("removePlugin")));
27
27
  properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("enabledPlugins")));
28
+ properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("insets")));
29
+ properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("statusBar")));
28
30
 
29
31
  // setters
30
32
  properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("themes")));
@@ -233,6 +235,26 @@ jsi::Value UnistylesRuntime::get(jsi::Runtime& runtime, const jsi::PropNameID& p
233
235
  }
234
236
  );
235
237
  }
238
+
239
+ if (propName == "insets") {
240
+ auto insets = jsi::Object(runtime);
241
+
242
+ insets.setProperty(runtime, "top", this->insets.at("top"));
243
+ insets.setProperty(runtime, "bottom", this->insets.at("bottom"));
244
+ insets.setProperty(runtime, "left", this->insets.at("left"));
245
+ insets.setProperty(runtime, "right", this->insets.at("right"));
246
+
247
+ return insets;
248
+ }
249
+
250
+ if (propName == "statusBar") {
251
+ auto statusBar = jsi::Object(runtime);
252
+
253
+ statusBar.setProperty(runtime, "height", this->statusBar.at("height"));
254
+ statusBar.setProperty(runtime, "width", this->statusBar.at("width"));
255
+
256
+ return statusBar;
257
+ }
236
258
 
237
259
  return jsi::Value::undefined();
238
260
  }
@@ -286,13 +308,15 @@ std::string UnistylesRuntime::getBreakpointFromScreenWidth(int width, const std:
286
308
  return sortedBreakpointPairs.empty() ? "" : sortedBreakpointPairs.back().first;
287
309
  }
288
310
 
289
- void UnistylesRuntime::handleScreenSizeChange(int width, int height) {
311
+ void UnistylesRuntime::handleScreenSizeChange(int width, int height, std::map<std::string, int> insets, std::map<std::string, int> statusBar) {
290
312
  std::string breakpoint = this->getBreakpointFromScreenWidth(width, this->sortedBreakpointPairs);
291
313
  bool shouldNotify = this->breakpoint != breakpoint || this->screenWidth != width || this->screenHeight != height;
292
314
 
293
315
  this->breakpoint = breakpoint;
294
316
  this->screenWidth = width;
295
317
  this->screenHeight = height;
318
+ this->insets = insets;
319
+ this->statusBar = statusBar;
296
320
 
297
321
  std::string orientation = width > height
298
322
  ? UnistylesOrientationLandscape
@@ -2,6 +2,7 @@
2
2
 
3
3
  #include <jsi/jsi.h>
4
4
  #include <vector>
5
+ #include <map>
5
6
 
6
7
  using namespace facebook;
7
8
 
@@ -33,8 +34,15 @@ public:
33
34
  int screenWidth,
34
35
  int screenHeight,
35
36
  std::string colorScheme,
36
- std::string contentSizeCategory
37
- ): screenWidth(screenWidth), screenHeight(screenHeight), colorScheme(colorScheme), contentSizeCategory(contentSizeCategory) {}
37
+ std::string contentSizeCategory,
38
+ std::map<std::string, int> insets,
39
+ std::map<std::string, int> statusBar
40
+ ): screenWidth(screenWidth),
41
+ screenHeight(screenHeight),
42
+ colorScheme(colorScheme),
43
+ contentSizeCategory(contentSizeCategory),
44
+ insets(insets),
45
+ statusBar(statusBar) {}
38
46
 
39
47
  bool hasAdaptiveThemes;
40
48
  bool supportsAutomaticColorScheme;
@@ -44,6 +52,9 @@ public:
44
52
  std::vector<std::string> pluginNames;
45
53
  std::vector<std::string> themes;
46
54
  std::vector<std::pair<std::string, double>> sortedBreakpointPairs;
55
+
56
+ std::map<std::string, int> insets;
57
+ std::map<std::string, int> statusBar;
47
58
 
48
59
  void onThemeChange(std::function<void(std::string)> callback) {
49
60
  this->onThemeChangeCallback = callback;
@@ -65,7 +76,7 @@ public:
65
76
  void set(jsi::Runtime& runtime, const jsi::PropNameID& propNameId, const jsi::Value& value) override;
66
77
  std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override;
67
78
 
68
- void handleScreenSizeChange(int width, int height);
79
+ void handleScreenSizeChange(int width, int height, std::map<std::string, int> insets, std::map<std::string, int> statusBar);
69
80
  void handleAppearanceChange(std::string colorScheme);
70
81
  void handleContentSizeCategoryChange(std::string contentSizeCategory);
71
82
 
@@ -75,7 +75,9 @@ void registerUnistylesHostObject(jsi::Runtime &runtime, UnistylesModule* weakSel
75
75
  (int)weakSelf.platform.initialWidth,
76
76
  (int)weakSelf.platform.initialHeight,
77
77
  weakSelf.platform.initialColorScheme,
78
- weakSelf.platform.initialContentSizeCategory
78
+ weakSelf.platform.initialContentSizeCategory,
79
+ weakSelf.platform.initialInsets,
80
+ weakSelf.platform.initialStatusBar
79
81
  );
80
82
 
81
83
  unistylesRuntime.get()->onThemeChange([=](std::string theme) {
@@ -1,4 +1,5 @@
1
1
  #include <string>
2
+ #include <map>
2
3
 
3
4
  @interface Platform : NSObject
4
5
 
@@ -6,6 +7,8 @@
6
7
  @property (nonatomic, assign) CGFloat initialHeight;
7
8
  @property (nonatomic, assign) std::string initialColorScheme;
8
9
  @property (nonatomic, assign) std::string initialContentSizeCategory;
10
+ @property (nonatomic, assign) std::map<std::string, int> initialInsets;
11
+ @property (nonatomic, assign) std::map<std::string, int> initialStatusBar;
9
12
  @property (nonatomic, assign) void* unistylesRuntime;
10
13
 
11
14
  - (instancetype)init;
@@ -16,6 +16,8 @@
16
16
  self.initialHeight = screen.bounds.size.height;
17
17
  self.initialColorScheme = [self getColorScheme];
18
18
  self.initialContentSizeCategory = [self getContentSizeCategory:contentSizeCategory];
19
+ self.initialStatusBar = [self getStatusBarDimensions];
20
+ self.initialInsets = [self getInsets];
19
21
 
20
22
  [self setupListeners];
21
23
  }
@@ -74,9 +76,11 @@
74
76
  UIScreen *screen = [UIScreen mainScreen];
75
77
  CGFloat screenWidth = screen.bounds.size.width;
76
78
  CGFloat screenHeight = screen.bounds.size.height;
79
+ std::map<std::string, int> insets = [self getInsets];
80
+ std::map<std::string, int> statusBar = [self getStatusBarDimensions];
77
81
 
78
82
  if (self.unistylesRuntime != nullptr) {
79
- ((UnistylesRuntime*)self.unistylesRuntime)->handleScreenSizeChange((int)screenWidth, (int)screenHeight);
83
+ ((UnistylesRuntime*)self.unistylesRuntime)->handleScreenSizeChange((int)screenWidth, (int)screenHeight, insets, statusBar);
80
84
  }
81
85
  });
82
86
  }
@@ -95,6 +99,29 @@
95
99
  }
96
100
  }
97
101
 
102
+ - (std::map<std::string, int>)getInsets {
103
+ UIWindow *window = UIApplication.sharedApplication.windows.firstObject;
104
+ UIEdgeInsets safeArea = window.safeAreaInsets;
105
+ std::map<std::string, int> insets;
106
+
107
+ insets.insert({ "top", safeArea.top });
108
+ insets.insert({ "bottom", safeArea.bottom });
109
+ insets.insert({ "left", safeArea.left });
110
+ insets.insert({ "right", safeArea.right });
111
+
112
+ return insets;
113
+ }
114
+
115
+ - (std::map<std::string, int>)getStatusBarDimensions {
116
+ CGRect statusBarFrame = UIApplication.sharedApplication.statusBarFrame;
117
+ std::map<std::string, int> statusBar;
118
+
119
+ statusBar.insert({ "height", statusBarFrame.size.height });
120
+ statusBar.insert({ "width", statusBarFrame.size.width });
121
+
122
+ return statusBar;
123
+ }
124
+
98
125
  - (std::string)getContentSizeCategory:(UIContentSizeCategory)contentSizeCategory {
99
126
  if ([contentSizeCategory isEqualToString:UIContentSizeCategoryExtraExtraExtraLarge]) {
100
127
  return std::string([@"xxxLarge" UTF8String]);
@@ -1,4 +1,5 @@
1
1
  #include <string>
2
+ #include <map>
2
3
 
3
4
  @interface Platform : NSObject
4
5
 
@@ -6,6 +7,8 @@
6
7
  @property (nonatomic, assign) CGFloat initialHeight;
7
8
  @property (nonatomic, assign) std::string initialColorScheme;
8
9
  @property (nonatomic, assign) std::string initialContentSizeCategory;
10
+ @property (nonatomic, assign) std::map<std::string, int> initialInsets;
11
+ @property (nonatomic, assign) std::map<std::string, int> initialStatusBar;
9
12
  @property (nonatomic, assign) void* unistylesRuntime;
10
13
 
11
14
  - (instancetype)init;
@@ -15,6 +15,8 @@
15
15
  self.initialHeight = window.frame.size.height;
16
16
  self.initialContentSizeCategory = std::string([@"unspecified" UTF8String]);
17
17
  self.initialColorScheme = [self getColorScheme];
18
+ self.initialStatusBar = [self getStatusBarDimensions];
19
+ self.initialInsets = [self getInsets];
18
20
 
19
21
  [self setupListeners];
20
22
  }
@@ -64,7 +66,12 @@
64
66
  CGFloat screenHeight = window.frame.size.height;
65
67
 
66
68
  if (self.unistylesRuntime != nullptr) {
67
- ((UnistylesRuntime*)self.unistylesRuntime)->handleScreenSizeChange((int)screenWidth, (int)screenHeight);
69
+ ((UnistylesRuntime*)self.unistylesRuntime)->handleScreenSizeChange(
70
+ (int)screenWidth,
71
+ (int)screenHeight,
72
+ self.initialInsets,
73
+ self.initialStatusBar
74
+ );
68
75
  }
69
76
  }
70
77
 
@@ -78,6 +85,26 @@
78
85
  return UnistylesLightScheme;
79
86
  }
80
87
 
88
+ - (std::map<std::string, int>)getInsets {
89
+ std::map<std::string, int> insets;
90
+
91
+ insets.insert({ "top", 0 });
92
+ insets.insert({ "bottom", 0 });
93
+ insets.insert({ "left", 0 });
94
+ insets.insert({ "right", 0 });
95
+
96
+ return insets;
97
+ }
98
+
99
+ - (std::map<std::string, int>)getStatusBarDimensions {
100
+ std::map<std::string, int> statusBar;
101
+
102
+ statusBar.insert({ "height", 0 });
103
+ statusBar.insert({ "width", 0 });
104
+
105
+ return statusBar;
106
+ }
107
+
81
108
  @end
82
109
 
83
110
  #endif
@@ -22,6 +22,16 @@ class UnistylesBridgeWeb {
22
22
  #sortedBreakpointPairs = [];
23
23
  #breakpoint = '';
24
24
  #contentSizeCategory = 'unspecified';
25
+ #insets = {
26
+ top: 0,
27
+ right: 0,
28
+ bottom: 0,
29
+ left: 0
30
+ };
31
+ #statusBar = {
32
+ height: 0,
33
+ width: 0
34
+ };
25
35
  constructor() {
26
36
  if (!_common.isServer) {
27
37
  this.setupListeners();
@@ -55,6 +65,10 @@ class UnistylesBridgeWeb {
55
65
  return this.#enabledPlugins;
56
66
  case 'colorScheme':
57
67
  return this.#colorScheme;
68
+ case 'insets':
69
+ return this.#insets;
70
+ case 'statusBar':
71
+ return this.#statusBar;
58
72
  case 'useTheme':
59
73
  return themeName => this.useTheme(themeName);
60
74
  case 'updateTheme':
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_plugins","_common","UnistylesBridgeWeb","timerRef","undefined","hasAdaptiveThemes","supportsAutomaticColorScheme","screenWidth","isServer","window","innerWidth","screenHeight","innerHeight","themes","breakpoints","colorScheme","getPreferredColorScheme","themeName","enabledPlugins","normalizeWebStylesPlugin","name","unistylesEvents","NativeEventEmitter","NativeModules","Unistyles","sortedBreakpointPairs","breakpoint","contentSizeCategory","constructor","setupListeners","install","globalThis","__UNISTYLES__","Proxy","get","_target","prop","getTheme","useTheme","updateTheme","useBreakpoints","enable","useAdaptiveThemes","pluginName","notify","addPlugin","removePlugin","Reflect","set","target","newValue","receiver","includes","emitThemeChange","Object","entries","sort","a","b","getBreakpointFromScreenWidth","concat","emitPluginChange","filter","length","at","addEventListener","clearTimeout","setTimeout","emitLayoutChange","matchMedia","event","matches","width","find","value","index","otherBreakpoints","minVal","maxVal","emit","type","payload","orientation","screen","height","exports","UnistylesModule"],"sourceRoot":"../../../src","sources":["core/UnistylesModule.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_plugins","_common","UnistylesBridgeWeb","timerRef","undefined","hasAdaptiveThemes","supportsAutomaticColorScheme","screenWidth","isServer","window","innerWidth","screenHeight","innerHeight","themes","breakpoints","colorScheme","getPreferredColorScheme","themeName","enabledPlugins","normalizeWebStylesPlugin","name","unistylesEvents","NativeEventEmitter","NativeModules","Unistyles","sortedBreakpointPairs","breakpoint","contentSizeCategory","insets","top","right","bottom","left","statusBar","height","width","constructor","setupListeners","install","globalThis","__UNISTYLES__","Proxy","get","_target","prop","getTheme","useTheme","updateTheme","useBreakpoints","enable","useAdaptiveThemes","pluginName","notify","addPlugin","removePlugin","Reflect","set","target","newValue","receiver","includes","emitThemeChange","Object","entries","sort","a","b","getBreakpointFromScreenWidth","concat","emitPluginChange","filter","length","at","addEventListener","clearTimeout","setTimeout","emitLayoutChange","matchMedia","event","matches","find","value","index","otherBreakpoints","minVal","maxVal","emit","type","payload","orientation","screen","exports","UnistylesModule"],"sourceRoot":"../../../src","sources":["core/UnistylesModule.ts"],"mappings":"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"}
@@ -81,6 +81,22 @@ class UnistylesRuntime {
81
81
  };
82
82
  }
83
83
 
84
+ /**
85
+ * Get the safe area insets
86
+ * @returns - The safe area insets { top, bottom, left, right }
87
+ */
88
+ get insets() {
89
+ return this.unistylesBridge.insets;
90
+ }
91
+
92
+ /**
93
+ * Get the status bar info
94
+ * @returns - The status bar size { width, height }
95
+ */
96
+ get statusBar() {
97
+ return this.unistylesBridge.statusBar;
98
+ }
99
+
84
100
  /**
85
101
  * Get the screen orientation
86
102
  * @returns - The screen orientation
@@ -1 +1 @@
1
- {"version":3,"names":["_common","require","UnistylesRuntime","constructor","unistylesBridge","unistylesRegistry","colorScheme","hasAdaptiveThemes","themeName","contentSizeCategory","breakpoint","breakpoints","enabledPlugins","screen","width","screenWidth","height","screenHeight","orientation","ScreenOrientation","Landscape","Portrait","setTheme","name","hasTheme","useTheme","Error","UnistylesError","ThemeNotRegistered","updateTheme","updater","getTheme","setAdaptiveThemes","enable","useAdaptiveThemes","addPlugin","plugin","removePlugin","exports"],"sourceRoot":"../../../src","sources":["core/UnistylesRuntime.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_common","require","UnistylesRuntime","constructor","unistylesBridge","unistylesRegistry","colorScheme","hasAdaptiveThemes","themeName","contentSizeCategory","breakpoint","breakpoints","enabledPlugins","screen","width","screenWidth","height","screenHeight","insets","statusBar","orientation","ScreenOrientation","Landscape","Portrait","setTheme","name","hasTheme","useTheme","Error","UnistylesError","ThemeNotRegistered","updateTheme","updater","getTheme","setAdaptiveThemes","enable","useAdaptiveThemes","addPlugin","plugin","removePlugin","exports"],"sourceRoot":"../../../src","sources":["core/UnistylesRuntime.ts"],"mappings":"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"}
@@ -16,6 +16,16 @@ export class UnistylesBridgeWeb {
16
16
  #sortedBreakpointPairs = [];
17
17
  #breakpoint = '';
18
18
  #contentSizeCategory = 'unspecified';
19
+ #insets = {
20
+ top: 0,
21
+ right: 0,
22
+ bottom: 0,
23
+ left: 0
24
+ };
25
+ #statusBar = {
26
+ height: 0,
27
+ width: 0
28
+ };
19
29
  constructor() {
20
30
  if (!isServer) {
21
31
  this.setupListeners();
@@ -49,6 +59,10 @@ export class UnistylesBridgeWeb {
49
59
  return this.#enabledPlugins;
50
60
  case 'colorScheme':
51
61
  return this.#colorScheme;
62
+ case 'insets':
63
+ return this.#insets;
64
+ case 'statusBar':
65
+ return this.#statusBar;
52
66
  case 'useTheme':
53
67
  return themeName => this.useTheme(themeName);
54
68
  case 'updateTheme':
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","NativeModules","normalizeWebStylesPlugin","isServer","UnistylesBridgeWeb","timerRef","undefined","hasAdaptiveThemes","supportsAutomaticColorScheme","screenWidth","window","innerWidth","screenHeight","innerHeight","themes","breakpoints","colorScheme","getPreferredColorScheme","themeName","enabledPlugins","name","unistylesEvents","Unistyles","sortedBreakpointPairs","breakpoint","contentSizeCategory","constructor","setupListeners","install","globalThis","__UNISTYLES__","Proxy","get","_target","prop","getTheme","useTheme","updateTheme","useBreakpoints","enable","useAdaptiveThemes","pluginName","notify","addPlugin","removePlugin","Reflect","set","target","newValue","receiver","includes","emitThemeChange","Object","entries","sort","a","b","getBreakpointFromScreenWidth","concat","emitPluginChange","filter","length","at","addEventListener","clearTimeout","setTimeout","emitLayoutChange","matchMedia","event","matches","width","find","value","index","otherBreakpoints","minVal","maxVal","emit","type","payload","orientation","screen","height","UnistylesModule"],"sourceRoot":"../../../src","sources":["core/UnistylesModule.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeEventEmitter","NativeModules","normalizeWebStylesPlugin","isServer","UnistylesBridgeWeb","timerRef","undefined","hasAdaptiveThemes","supportsAutomaticColorScheme","screenWidth","window","innerWidth","screenHeight","innerHeight","themes","breakpoints","colorScheme","getPreferredColorScheme","themeName","enabledPlugins","name","unistylesEvents","Unistyles","sortedBreakpointPairs","breakpoint","contentSizeCategory","insets","top","right","bottom","left","statusBar","height","width","constructor","setupListeners","install","globalThis","__UNISTYLES__","Proxy","get","_target","prop","getTheme","useTheme","updateTheme","useBreakpoints","enable","useAdaptiveThemes","pluginName","notify","addPlugin","removePlugin","Reflect","set","target","newValue","receiver","includes","emitThemeChange","Object","entries","sort","a","b","getBreakpointFromScreenWidth","concat","emitPluginChange","filter","length","at","addEventListener","clearTimeout","setTimeout","emitLayoutChange","matchMedia","event","matches","find","value","index","otherBreakpoints","minVal","maxVal","emit","type","payload","orientation","screen","UnistylesModule"],"sourceRoot":"../../../src","sources":["core/UnistylesModule.ts"],"mappings":"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"}
@@ -75,6 +75,22 @@ export class UnistylesRuntime {
75
75
  };
76
76
  }
77
77
 
78
+ /**
79
+ * Get the safe area insets
80
+ * @returns - The safe area insets { top, bottom, left, right }
81
+ */
82
+ get insets() {
83
+ return this.unistylesBridge.insets;
84
+ }
85
+
86
+ /**
87
+ * Get the status bar info
88
+ * @returns - The status bar size { width, height }
89
+ */
90
+ get statusBar() {
91
+ return this.unistylesBridge.statusBar;
92
+ }
93
+
78
94
  /**
79
95
  * Get the screen orientation
80
96
  * @returns - The screen orientation
@@ -1 +1 @@
1
- {"version":3,"names":["ScreenOrientation","UnistylesError","UnistylesRuntime","constructor","unistylesBridge","unistylesRegistry","colorScheme","hasAdaptiveThemes","themeName","contentSizeCategory","breakpoint","breakpoints","enabledPlugins","screen","width","screenWidth","height","screenHeight","orientation","Landscape","Portrait","setTheme","name","hasTheme","useTheme","Error","ThemeNotRegistered","updateTheme","updater","getTheme","setAdaptiveThemes","enable","useAdaptiveThemes","addPlugin","plugin","removePlugin"],"sourceRoot":"../../../src","sources":["core/UnistylesRuntime.ts"],"mappings":"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"}
1
+ {"version":3,"names":["ScreenOrientation","UnistylesError","UnistylesRuntime","constructor","unistylesBridge","unistylesRegistry","colorScheme","hasAdaptiveThemes","themeName","contentSizeCategory","breakpoint","breakpoints","enabledPlugins","screen","width","screenWidth","height","screenHeight","insets","statusBar","orientation","Landscape","Portrait","setTheme","name","hasTheme","useTheme","Error","ThemeNotRegistered","updateTheme","updater","getTheme","setAdaptiveThemes","enable","useAdaptiveThemes","addPlugin","plugin","removePlugin"],"sourceRoot":"../../../src","sources":["core/UnistylesRuntime.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UnistylesModule.d.ts","sourceRoot":"","sources":["../../../../src/core/UnistylesModule.ts"],"names":[],"mappings":"AAMA,qBAAa,kBAAkB;;;IAwBpB,OAAO;IAiEd,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;CAe3B;AAED,eAAO,MAAM,eAAe,oBAA2B,CAAA"}
1
+ {"version":3,"file":"UnistylesModule.d.ts","sourceRoot":"","sources":["../../../../src/core/UnistylesModule.ts"],"names":[],"mappings":"AAMA,qBAAa,kBAAkB;;;IAkCpB,OAAO;IAqEd,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;CAe3B;AAED,eAAO,MAAM,eAAe,oBAA2B,CAAA"}
@@ -51,6 +51,16 @@ export declare class UnistylesRuntime {
51
51
  width: number;
52
52
  height: number;
53
53
  };
54
+ /**
55
+ * Get the safe area insets
56
+ * @returns - The safe area insets { top, bottom, left, right }
57
+ */
58
+ get insets(): import("../types").ScreenInsets;
59
+ /**
60
+ * Get the status bar info
61
+ * @returns - The status bar size { width, height }
62
+ */
63
+ get statusBar(): import("../types").StatusBarDimensions;
54
64
  /**
55
65
  * Get the screen orientation
56
66
  * @returns - The screen orientation
@@ -1 +1 @@
1
- {"version":3,"file":"UnistylesRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/UnistylesRuntime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D;;GAEG;AACH,qBAAa,gBAAgB;IACb,OAAO,CAAC,eAAe;IAAmB,OAAO,CAAC,iBAAiB;gBAA3D,eAAe,EAAE,eAAe,EAAU,iBAAiB,EAAE,gBAAgB;IAEjG;;;OAGG;IACH,IAAW,WAAW,uCAErB;IAED;;;OAGG;IACH,IAAW,iBAAiB,YAE3B;IAED;;;OAGG;IACH,IAAW,SAAS,UAEnB;IAED;;;OAGG;IACH,IAAW,mBAAmB,gGAE7B;IAED;;;OAGG;IACH,IAAW,UAAU,mDAEpB;IAED;;;OAGG;IACH,IAAW,WAAW,6CAErB;IAED;;;OAGG;IACH,IAAW,cAAc,aAExB;IAED;;;OAGG;IACH,IAAW,MAAM;;;MAKhB;IAED;;;OAGG;IACH,IAAW,WAAW,6BAQrB;IAED;;;;OAIG;IACI,QAAQ,SAAU,MAAM,eAAe,sBAY7C;IAED;;;;;OAKG;IACI,WAAW,SAAU,MAAM,eAAe,mBAAmB,eAAe,CAAC,MAAM,eAAe,CAAC,KAAK,eAAe,CAAC,MAAM,eAAe,CAAC,UAEpJ;IAED;;;OAGG;IACI,iBAAiB,WAAY,OAAO,UAE1C;IAED;;;OAGG;IACI,SAAS,WAAY,eAAe,UAE1C;IAED;;;OAGG;IACI,YAAY,WAAY,eAAe,UAE7C;CACJ"}
1
+ {"version":3,"file":"UnistylesRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/UnistylesRuntime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D;;GAEG;AACH,qBAAa,gBAAgB;IACb,OAAO,CAAC,eAAe;IAAmB,OAAO,CAAC,iBAAiB;gBAA3D,eAAe,EAAE,eAAe,EAAU,iBAAiB,EAAE,gBAAgB;IAEjG;;;OAGG;IACH,IAAW,WAAW,uCAErB;IAED;;;OAGG;IACH,IAAW,iBAAiB,YAE3B;IAED;;;OAGG;IACH,IAAW,SAAS,UAEnB;IAED;;;OAGG;IACH,IAAW,mBAAmB,gGAE7B;IAED;;;OAGG;IACH,IAAW,UAAU,mDAEpB;IAED;;;OAGG;IACH,IAAW,WAAW,6CAErB;IAED;;;OAGG;IACH,IAAW,cAAc,aAExB;IAED;;;OAGG;IACH,IAAW,MAAM;;;MAKhB;IAED;;;OAGG;IACH,IAAW,MAAM,oCAEhB;IAED;;;OAGG;IACH,IAAW,SAAS,2CAEnB;IAED;;;OAGG;IACH,IAAW,WAAW,6BAQrB;IAED;;;;OAIG;IACI,QAAQ,SAAU,MAAM,eAAe,sBAY7C;IAED;;;;;OAKG;IACI,WAAW,SAAU,MAAM,eAAe,mBAAmB,eAAe,CAAC,MAAM,eAAe,CAAC,KAAK,eAAe,CAAC,MAAM,eAAe,CAAC,UAEpJ;IAED;;;OAGG;IACI,iBAAiB,WAAY,OAAO,UAE1C;IAED;;;OAGG;IACI,SAAS,WAAY,eAAe,UAE1C;IAED;;;OAGG;IACI,YAAY,WAAY,eAAe,UAE7C;CACJ"}
@@ -3,6 +3,16 @@ import type { UnistylesThemes, UnistylesBreakpoints } from '../global';
3
3
  import type { ScreenSize } from './core';
4
4
  import type { UnistylesPlugin } from './plugin';
5
5
  export type ColorSchemeName = 'light' | 'dark' | 'unspecified';
6
+ export type ScreenInsets = {
7
+ top: number;
8
+ right: number;
9
+ bottom: number;
10
+ left: number;
11
+ };
12
+ export type StatusBarDimensions = {
13
+ height: number;
14
+ width: number;
15
+ };
6
16
  export type UnistylesConfig = {
7
17
  adaptiveThemes?: boolean;
8
18
  initialTheme?: keyof UnistylesThemes;
@@ -19,6 +29,8 @@ export type UnistylesBridge = {
19
29
  colorScheme: ColorSchemeName;
20
30
  contentSizeCategory: IOSContentSizeCategory | AndroidContentSizeCategory;
21
31
  sortedBreakpointPairs: Array<[keyof UnistylesBreakpoints, UnistylesBreakpoints[keyof UnistylesBreakpoints]]>;
32
+ insets: ScreenInsets;
33
+ statusBar: StatusBarDimensions;
22
34
  themes: Array<keyof UnistylesThemes>;
23
35
  useBreakpoints(breakpoints: UnistylesBreakpoints): void;
24
36
  useTheme(name: keyof UnistylesThemes): void;
@@ -1 +1 @@
1
- {"version":3,"file":"unistyles.d.ts","sourceRoot":"","sources":["../../../../src/types/unistyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AACrH,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,CAAA;AAE9D,MAAM,MAAM,eAAe,GAAG;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,eAAe,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACjC,2BAA2B,CAAC,EAAE,OAAO,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAE1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,eAAe,CAAC;IACjC,UAAU,EAAE,MAAM,oBAAoB,CAAC;IACvC,WAAW,EAAE,eAAe,CAAC;IAC7B,mBAAmB,EAAE,sBAAsB,GAAG,0BAA0B,CAAC;IACzE,qBAAqB,EAAE,KAAK,CAAC,CAAC,MAAM,oBAAoB,EAAE,oBAAoB,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAG7G,MAAM,EAAE,KAAK,CAAC,MAAM,eAAe,CAAC,CAAC;IACrC,cAAc,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IAC5C,WAAW,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACrD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC;IAC/B,OAAO,EAAE;QACL,SAAS,EAAE,MAAM,eAAe,CAAA;KACnC,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE;QACL,MAAM,EAAE,UAAU,CAAC;QACnB,UAAU,EAAE,MAAM,oBAAoB,CAAC;QACvC,WAAW,EAAE,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAA;KACxE,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IACxC,IAAI,EAAE,kBAAkB,CAAC,eAAe,CAAC;IACzC,OAAO,EAAE;QACL,mBAAmB,EAAE,sBAAsB,GAAG,0BAA0B,CAAA;KAC3E,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,0BAA0B,GAAG,oBAAoB,GAAG,6BAA6B,CAAA"}
1
+ {"version":3,"file":"unistyles.d.ts","sourceRoot":"","sources":["../../../../src/types/unistyles.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-unistyles",
3
- "version": "2.3.0",
3
+ "version": "2.4.0-rc.1",
4
4
  "description": "Level up your React Native StyleSheet",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -1,6 +1,6 @@
1
1
  import { NativeEventEmitter, NativeModules } from 'react-native'
2
2
  import type { UnistylesThemes, UnistylesBreakpoints } from 'react-native-unistyles'
3
- import type { ColorSchemeName } from '../types'
3
+ import type { ColorSchemeName, ScreenInsets, StatusBarDimensions } from '../types'
4
4
  import { normalizeWebStylesPlugin } from '../plugins'
5
5
  import { isServer } from '../common'
6
6
 
@@ -19,6 +19,16 @@ export class UnistylesBridgeWeb {
19
19
  #sortedBreakpointPairs: Array<[keyof UnistylesBreakpoints, number]> = []
20
20
  #breakpoint: keyof UnistylesBreakpoints = '' as keyof UnistylesBreakpoints
21
21
  #contentSizeCategory: string = 'unspecified'
22
+ #insets: ScreenInsets = {
23
+ top: 0,
24
+ right: 0,
25
+ bottom: 0,
26
+ left: 0
27
+ }
28
+ #statusBar: StatusBarDimensions = {
29
+ height: 0,
30
+ width: 0
31
+ }
22
32
 
23
33
  constructor() {
24
34
  if (!isServer) {
@@ -54,6 +64,10 @@ export class UnistylesBridgeWeb {
54
64
  return this.#enabledPlugins
55
65
  case 'colorScheme':
56
66
  return this.#colorScheme
67
+ case 'insets':
68
+ return this.#insets
69
+ case 'statusBar':
70
+ return this.#statusBar
57
71
  case 'useTheme':
58
72
  return (themeName: keyof UnistylesThemes) => this.useTheme(themeName)
59
73
  case 'updateTheme':
@@ -76,6 +76,22 @@ export class UnistylesRuntime {
76
76
  }
77
77
  }
78
78
 
79
+ /**
80
+ * Get the safe area insets
81
+ * @returns - The safe area insets { top, bottom, left, right }
82
+ */
83
+ public get insets() {
84
+ return this.unistylesBridge.insets
85
+ }
86
+
87
+ /**
88
+ * Get the status bar info
89
+ * @returns - The status bar size { width, height }
90
+ */
91
+ public get statusBar() {
92
+ return this.unistylesBridge.statusBar
93
+ }
94
+
79
95
  /**
80
96
  * Get the screen orientation
81
97
  * @returns - The screen orientation
@@ -5,6 +5,18 @@ import type { UnistylesPlugin } from './plugin'
5
5
 
6
6
  export type ColorSchemeName = 'light' | 'dark' | 'unspecified'
7
7
 
8
+ export type ScreenInsets = {
9
+ top: number,
10
+ right: number,
11
+ bottom: number,
12
+ left: number
13
+ }
14
+
15
+ export type StatusBarDimensions = {
16
+ height: number,
17
+ width: number
18
+ }
19
+
8
20
  export type UnistylesConfig = {
9
21
  adaptiveThemes?: boolean,
10
22
  initialTheme?: keyof UnistylesThemes,
@@ -23,6 +35,8 @@ export type UnistylesBridge = {
23
35
  colorScheme: ColorSchemeName,
24
36
  contentSizeCategory: IOSContentSizeCategory | AndroidContentSizeCategory,
25
37
  sortedBreakpointPairs: Array<[keyof UnistylesBreakpoints, UnistylesBreakpoints[keyof UnistylesBreakpoints]]>,
38
+ insets: ScreenInsets,
39
+ statusBar: StatusBarDimensions,
26
40
 
27
41
  // setters
28
42
  themes: Array<keyof UnistylesThemes>,
@@ -39,7 +39,7 @@ struct Unistyles {
39
39
  auto bounds = Window::Current().Bounds();
40
40
 
41
41
  if (this->unistylesRuntime != nullptr) {
42
- ((UnistylesRuntime*)this->unistylesRuntime)->handleScreenSizeChange((int)bounds.Width, (int)bounds.Height);
42
+ ((UnistylesRuntime*)this->unistylesRuntime)->handleScreenSizeChange((int)bounds.Width, (int)bounds.Height, this->getInsets(), this->getStatusBarDimensions());
43
43
  }
44
44
  }));
45
45
 
@@ -94,7 +94,9 @@ struct Unistyles {
94
94
  uiInfo.screenWidth,
95
95
  uiInfo.screenHeight,
96
96
  uiInfo.colorScheme,
97
- uiInfo.contentSizeCategory
97
+ uiInfo.contentSizeCategory,
98
+ this->getInsets(),
99
+ this->getStatusBarDimensions()
98
100
  );
99
101
 
100
102
  unistylesRuntime->onThemeChange([this](std::string theme) {
@@ -192,6 +194,26 @@ struct Unistyles {
192
194
 
193
195
  return UnistylesUnspecifiedScheme;
194
196
  }
197
+
198
+ std::map<std::string, int>getInsets() {
199
+ std::map<std::string, int> insets;
200
+
201
+ insets.insert({ "top", 0 });
202
+ insets.insert({ "bottom", 0 });
203
+ insets.insert({ "left", 0 });
204
+ insets.insert({ "right", 0 });
205
+
206
+ return insets;
207
+ }
208
+
209
+ std::map<std::string, int>getStatusBarDimensions() {
210
+ std::map<std::string, int> statusBar;
211
+
212
+ statusBar.insert({ "height", 0 });
213
+ statusBar.insert({ "width", 0 });
214
+
215
+ return statusBar;
216
+ }
195
217
  };
196
218
 
197
219
  } // namespace winrt::ReactNativeUnistyles
@@ -102,6 +102,8 @@
102
102
  <ClCompile>
103
103
  <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
104
104
  <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">../../cxx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
105
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../cxx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
106
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../cxx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
105
107
  </ClCompile>
106
108
  </ItemDefinitionGroup>
107
109
  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
@@ -119,6 +121,11 @@
119
121
  <ItemGroup>
120
122
  <ClCompile Include="..\..\cxx\UnistylesRuntime.cpp">
121
123
  <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">NotUsing</PrecompiledHeader>
124
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
125
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
126
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
127
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">NotUsing</PrecompiledHeader>
128
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
122
129
  </ClCompile>
123
130
  <ClCompile Include="pch.cpp">
124
131
  <PrecompiledHeader>Create</PrecompiledHeader>
@@ -147,4 +154,4 @@
147
154
  <Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props'))" />
148
155
  <Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets'))" />
149
156
  </Target>
150
- </Project>
157
+ </Project>
@@ -7,6 +7,7 @@
7
7
  <ClCompile Include="pch.cpp" />
8
8
  <ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
9
9
  <ClCompile Include="ReactPackageProvider.cpp" />
10
+ <ClCompile Include="..\..\cxx\UnistylesRuntime.cpp" />
10
11
  </ItemGroup>
11
12
  <ItemGroup>
12
13
  <ClInclude Include="pch.h" />
@@ -16,4 +17,4 @@
16
17
  <ItemGroup>
17
18
  <None Include="PropertySheet.props" />
18
19
  </ItemGroup>
19
- </Project>
20
+ </Project>