react-native-unistyles 2.8.3 → 2.9.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.
Files changed (57) hide show
  1. package/README.md +4 -1
  2. package/android/src/main/cxx/platform.cpp +16 -0
  3. package/android/src/main/cxx/platform.h +1 -0
  4. package/android/src/main/java/com/unistyles/Platform.kt +62 -9
  5. package/android/src/main/java/com/unistyles/UnistylesModule.kt +53 -1
  6. package/cxx/UnistylesImpl.cpp +4 -0
  7. package/cxx/UnistylesModel.cpp +0 -8
  8. package/cxx/UnistylesModel.h +1 -1
  9. package/cxx/UnistylesRuntime.h +3 -1
  10. package/ios/platform/Platform_iOS.mm +10 -0
  11. package/lib/commonjs/common.js +0 -1
  12. package/lib/commonjs/common.js.map +1 -1
  13. package/lib/commonjs/core/UnistylesModule.js +7 -0
  14. package/lib/commonjs/core/UnistylesModule.js.map +1 -1
  15. package/lib/commonjs/core/UnistylesRuntime.js +28 -5
  16. package/lib/commonjs/core/UnistylesRuntime.js.map +1 -1
  17. package/lib/commonjs/core/mocks/UnistylesMockedRuntime.js +9 -1
  18. package/lib/commonjs/core/mocks/UnistylesMockedRuntime.js.map +1 -1
  19. package/lib/commonjs/hooks/useUnistyles.js +1 -8
  20. package/lib/commonjs/hooks/useUnistyles.js.map +1 -1
  21. package/lib/module/common.js +0 -1
  22. package/lib/module/common.js.map +1 -1
  23. package/lib/module/core/UnistylesModule.js +7 -0
  24. package/lib/module/core/UnistylesModule.js.map +1 -1
  25. package/lib/module/core/UnistylesRuntime.js +25 -2
  26. package/lib/module/core/UnistylesRuntime.js.map +1 -1
  27. package/lib/module/core/mocks/UnistylesMockedRuntime.js +9 -1
  28. package/lib/module/core/mocks/UnistylesMockedRuntime.js.map +1 -1
  29. package/lib/module/hooks/useUnistyles.js +1 -8
  30. package/lib/module/hooks/useUnistyles.js.map +1 -1
  31. package/lib/typescript/src/common.d.ts +1 -2
  32. package/lib/typescript/src/common.d.ts.map +1 -1
  33. package/lib/typescript/src/core/UnistylesModule.d.ts.map +1 -1
  34. package/lib/typescript/src/core/UnistylesRuntime.d.ts +15 -0
  35. package/lib/typescript/src/core/UnistylesRuntime.d.ts.map +1 -1
  36. package/lib/typescript/src/core/mocks/UnistylesMockedRuntime.d.ts +4 -0
  37. package/lib/typescript/src/core/mocks/UnistylesMockedRuntime.d.ts.map +1 -1
  38. package/lib/typescript/src/hooks/useUnistyles.d.ts +0 -1
  39. package/lib/typescript/src/hooks/useUnistyles.d.ts.map +1 -1
  40. package/lib/typescript/src/index.d.ts +2 -2
  41. package/lib/typescript/src/index.d.ts.map +1 -1
  42. package/lib/typescript/src/types/index.d.ts +1 -1
  43. package/lib/typescript/src/types/index.d.ts.map +1 -1
  44. package/lib/typescript/src/types/stylesheet.d.ts +3 -3
  45. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  46. package/lib/typescript/src/types/unistyles.d.ts +2 -7
  47. package/lib/typescript/src/types/unistyles.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/src/common.ts +1 -2
  50. package/src/core/UnistylesModule.ts +7 -0
  51. package/src/core/UnistylesRuntime.ts +26 -2
  52. package/src/core/mocks/UnistylesMockedRuntime.ts +11 -1
  53. package/src/hooks/useUnistyles.ts +2 -9
  54. package/src/index.ts +4 -1
  55. package/src/types/index.ts +4 -1
  56. package/src/types/stylesheet.ts +3 -3
  57. package/src/types/unistyles.ts +3 -9
package/README.md CHANGED
@@ -72,7 +72,6 @@ npx expo prebuild
72
72
  <img src="https://avatars.githubusercontent.com/u/686823?v=4" height="70px" width="70px" alt="mwarger" />
73
73
  </a>
74
74
 
75
-
76
75
  ## Past sponsors
77
76
 
78
77
  <a href="https://github.com/kmartinezmedia">
@@ -108,6 +107,10 @@ Your support is greatly appreciated and helps me dedicate more time and resource
108
107
  <img src="https://raw.githubusercontent.com/grapp-dev/stacks/main/assets/stacks-logo.png" height="70px" width="70px" alt="Stacks" />
109
108
  </a>
110
109
 
110
+ ## Plugins
111
+
112
+ [eslint-plugin-react-native-unistyles](https://github.com/RodSarhan/eslint-plugin-react-native-unistyles)
113
+
111
114
  ## Discord
112
115
  Looking for help or you want to chat with me?
113
116
 
@@ -59,6 +59,7 @@ void makeShared(JNIEnv *env, jobject unistylesModule, std::shared_ptr<UnistylesR
59
59
  unistylesRuntime->navigationBar = getNavigationBarDimensions(env, unistylesModule);
60
60
  unistylesRuntime->fontScale = screen.fontScale;
61
61
  unistylesRuntime->pixelRatio = screen.pixelRatio;
62
+ unistylesRuntime->rtl = getIsRTL(env, unistylesModule);
62
63
  }
63
64
 
64
65
  Screen getScreenDimensions(JNIEnv *env, jobject unistylesModule) {
@@ -79,6 +80,21 @@ std::string getColorScheme(JNIEnv *env, jobject unistylesModule) {
79
80
  return colorSchemeStr;
80
81
  }
81
82
 
83
+ bool getIsRTL(JNIEnv *env, jobject unistylesModule) {
84
+ jclass cls = env->GetObjectClass(unistylesModule);
85
+ jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
86
+ jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
87
+ jclass platformClass = env->GetObjectClass(platformInstance);
88
+ jmethodID methodId = env->GetMethodID(platformClass, "getIsRTL", "()Z");
89
+ jboolean result = env->CallBooleanMethod(platformInstance, methodId);
90
+
91
+ env->DeleteLocalRef(cls);
92
+ env->DeleteLocalRef(platformInstance);
93
+ env->DeleteLocalRef(platformClass);
94
+
95
+ return result;
96
+ }
97
+
82
98
  Dimensions getStatusBarDimensions(JNIEnv *env, jobject unistylesModule) {
83
99
  jobject dimensionsObj = JNI_callPlatform(env, unistylesModule, "getStatusBarDimensions", "()Lcom/unistyles/Dimensions;");
84
100
  Dimensions statusBarDimensions = jobjectToDimensions(env, dimensionsObj);
@@ -13,6 +13,7 @@ void setStatusBarHidden(JNIEnv *env, jobject unistylesModule, bool hidden);
13
13
  void setImmersiveMode(JNIEnv *env, jobject unistylesModule, bool hidden);
14
14
  void setRootViewBackgroundColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha);
15
15
  Insets getInsets(JNIEnv *env, jobject unistylesModule);
16
+ bool getIsRTL(JNIEnv *env, jobject unistylesModule);
16
17
  std::string getContentSizeCategory(JNIEnv *env, jobject unistylesModule);
17
18
  void setNavigationBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha);
18
19
  void setStatusBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha);
@@ -1,18 +1,22 @@
1
1
  package com.unistyles
2
2
 
3
+ import android.content.Context
3
4
  import android.content.res.Configuration
4
5
  import android.graphics.Color
5
6
  import android.graphics.Rect
6
7
  import android.os.Build
8
+ import android.util.DisplayMetrics
7
9
  import android.util.Log
8
10
  import android.view.View
9
11
  import android.view.Window
10
12
  import android.view.WindowManager
11
13
  import androidx.core.graphics.ColorUtils
14
+ import androidx.core.text.TextUtilsCompat
12
15
  import androidx.core.view.ViewCompat
13
16
  import androidx.core.view.WindowInsetsCompat
14
17
  import androidx.core.view.WindowInsetsControllerCompat
15
18
  import com.facebook.react.bridge.ReactApplicationContext
19
+ import java.util.Locale
16
20
  import kotlin.math.roundToInt
17
21
 
18
22
  class Platform(private val reactApplicationContext: ReactApplicationContext) {
@@ -22,13 +26,38 @@ class Platform(private val reactApplicationContext: ReactApplicationContext) {
22
26
 
23
27
  var orientation: Int = reactApplicationContext.resources.configuration.orientation
24
28
 
29
+ @Suppress("DEPRECATION")
25
30
  fun getScreenDimensions(): Screen {
31
+ // function takes in count edge-to-edge layout
26
32
  val displayMetrics = reactApplicationContext.resources.displayMetrics
27
33
  val fontScale = reactApplicationContext.resources.configuration.fontScale
28
- val screenWidth = (displayMetrics.widthPixels / displayMetrics.density).roundToInt()
29
- val screenHeight = (displayMetrics.heightPixels / displayMetrics.density).roundToInt()
30
34
 
31
- return Screen(screenWidth, screenHeight, displayMetrics.density, fontScale)
35
+ when {
36
+ Build.VERSION.SDK_INT < Build.VERSION_CODES.R -> {
37
+ val windowManager = reactApplicationContext.getSystemService(Context.WINDOW_SERVICE) as WindowManager
38
+ val metrics = DisplayMetrics()
39
+
40
+ windowManager.defaultDisplay.getRealMetrics(metrics)
41
+
42
+ val screenWidth = (metrics.widthPixels / metrics.density).roundToInt()
43
+ val screenHeight = (metrics.heightPixels / metrics.density).roundToInt()
44
+
45
+ return Screen(screenWidth, screenHeight, metrics.density, fontScale)
46
+ }
47
+ else -> {
48
+ reactApplicationContext.currentActivity?.windowManager?.currentWindowMetrics?.bounds?.let {
49
+ val boundsWidth = (it.width() / displayMetrics.density).roundToInt()
50
+ val boundsHeight = (it.height() / displayMetrics.density).roundToInt()
51
+
52
+ return Screen(boundsWidth, boundsHeight, displayMetrics.density, fontScale)
53
+ } ?: run {
54
+ val screenWidth = (displayMetrics.widthPixels / displayMetrics.density).roundToInt()
55
+ val screenHeight = (displayMetrics.heightPixels / displayMetrics.density).roundToInt()
56
+
57
+ return Screen(screenWidth, screenHeight, displayMetrics.density, fontScale)
58
+ }
59
+ }
60
+ }
32
61
  }
33
62
 
34
63
  fun getColorScheme(): String {
@@ -50,6 +79,19 @@ class Platform(private val reactApplicationContext: ReactApplicationContext) {
50
79
  return Dimensions(screenWidth, getStatusBarHeight())
51
80
  }
52
81
 
82
+ fun getIsRTL(): Boolean {
83
+ // forced by React Native
84
+ val sharedPrefs = reactApplicationContext.getSharedPreferences(
85
+ "com.facebook.react.modules.i18nmanager.I18nUtil",
86
+ Context.MODE_PRIVATE
87
+ )
88
+ val hasForcedRtl = sharedPrefs.getBoolean("RCTI18nUtil_forceRTL", false)
89
+ // user preferences
90
+ val isRtl = TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == ViewCompat.LAYOUT_DIRECTION_RTL
91
+
92
+ return hasForcedRtl || isRtl
93
+ }
94
+
53
95
  fun getNavigationBarDimensions(): Dimensions {
54
96
  val displayMetrics = reactApplicationContext.resources.displayMetrics
55
97
  val screenWidth = (displayMetrics.widthPixels / displayMetrics.density).roundToInt()
@@ -73,7 +115,7 @@ class Platform(private val reactApplicationContext: ReactApplicationContext) {
73
115
  return contentSizeCategory
74
116
  }
75
117
 
76
- fun setInsetsCompat(insetsCompat: WindowInsetsCompat, window: Window) {
118
+ fun setInsetsCompat(insetsCompat: WindowInsetsCompat, window: Window, animatedBottomInsets: Int?) {
77
119
  // below Android 11, we need to use window flags to detect status bar visibility
78
120
  val isStatusBarVisible = when(Build.VERSION.SDK_INT) {
79
121
  in 30..Int.MAX_VALUE -> {
@@ -98,13 +140,24 @@ class Platform(private val reactApplicationContext: ReactApplicationContext) {
98
140
  }
99
141
 
100
142
  val insets = insetsCompat.getInsets(WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout())
101
-
102
- // reports inset bottom as 0 when keyboard is visible
103
- // otherwise it will break other libraries that manipulates bottom insets
104
143
  val imeInsets = insetsCompat.getInsets(WindowInsetsCompat.Type.ime())
105
- val insetsBottom = if (imeInsets.bottom > 0) 0 else insets.bottom
106
144
 
107
- this.insets = Insets(statusBarTopInset, insetsBottom, insets.left, insets.right)
145
+ // Android 10 and below - set bottom insets to 0 while keyboard is visible and use default bottom insets otherwise
146
+ // Android 11 and above - animate bottom insets while keyboard is appearing and disappearing
147
+ val insetBottom = when(imeInsets.bottom > 0) {
148
+ true -> {
149
+ if (Build.VERSION.SDK_INT >= 30 && animatedBottomInsets != null) {
150
+ animatedBottomInsets
151
+ } else {
152
+ 0
153
+ }
154
+ }
155
+ else -> {
156
+ insets.bottom
157
+ }
158
+ }
159
+
160
+ this.insets = Insets(statusBarTopInset, insetBottom, insets.left, insets.right)
108
161
  }
109
162
 
110
163
  fun getInsets(): Insets {
@@ -4,17 +4,21 @@ 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.os.Build
7
8
  import android.os.Handler
8
9
  import android.os.Looper
9
10
  import android.util.Log
10
11
  import android.view.View
11
12
  import androidx.core.view.ViewCompat
12
13
  import androidx.core.view.WindowCompat
14
+ import androidx.core.view.WindowInsetsAnimationCompat
15
+ import androidx.core.view.WindowInsetsCompat
13
16
  import com.facebook.react.bridge.LifecycleEventListener
14
17
  import com.facebook.react.bridge.ReactApplicationContext
15
18
  import com.facebook.react.bridge.ReactContextBaseJavaModule
16
19
  import com.facebook.react.bridge.ReactMethod
17
20
  import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder
21
+ import kotlin.math.roundToInt
18
22
 
19
23
  class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext), LifecycleEventListener {
20
24
  private var isCxxReady: Boolean = false
@@ -141,7 +145,7 @@ class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJ
141
145
  this.reactApplicationContext.currentActivity?.let { activity ->
142
146
  activity.findViewById<View>(android.R.id.content)?.let { mainView ->
143
147
  ViewCompat.setOnApplyWindowInsetsListener(mainView) { _, insets ->
144
- this.platform.setInsetsCompat(insets, activity.window)
148
+ this.platform.setInsetsCompat(insets, activity.window, null)
145
149
 
146
150
  if (this.isCxxReady) {
147
151
  this.onLayoutConfigChange()
@@ -149,6 +153,53 @@ class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJ
149
153
 
150
154
  insets
151
155
  }
156
+
157
+ if (Build.VERSION.SDK_INT >= 30) {
158
+ ViewCompat.setWindowInsetsAnimationCallback(
159
+ mainView,
160
+ object : WindowInsetsAnimationCompat.Callback(DISPATCH_MODE_STOP) {
161
+ var initialBottomInsets = 0
162
+ var isGoingUp = false
163
+
164
+ override fun onPrepare(animation: WindowInsetsAnimationCompat) {
165
+ val insets = ViewCompat.getRootWindowInsets(mainView)
166
+ val isKeyboardVisible = insets?.isVisible(WindowInsetsCompat.Type.ime()) ?: false
167
+
168
+ if (!isKeyboardVisible) {
169
+ val density = reactApplicationContext.resources.displayMetrics.density
170
+
171
+ initialBottomInsets = (this@UnistylesModule.platform.getInsets().bottom * density).roundToInt()
172
+ }
173
+
174
+ isGoingUp = !isKeyboardVisible
175
+ }
176
+
177
+ override fun onProgress(
178
+ insets: WindowInsetsCompat,
179
+ runningAnimations: List<WindowInsetsAnimationCompat>
180
+ ): WindowInsetsCompat {
181
+ runningAnimations.firstOrNull()?.let { animation ->
182
+ val progress = animation.fraction
183
+ val nextBottomInset = if (isGoingUp) {
184
+ (initialBottomInsets - (progress * initialBottomInsets).roundToInt())
185
+ } else {
186
+ // enable this in Unistyles 3.0 to get real time bottom insets
187
+ // initialBottomInsets - (initialBottomInsets - (progress * initialBottomInsets).roundToInt())
188
+ initialBottomInsets
189
+ }
190
+
191
+ this@UnistylesModule.platform.setInsetsCompat(insets, activity.window, nextBottomInset)
192
+
193
+ if (!isGoingUp) {
194
+ this@UnistylesModule.onLayoutConfigChange()
195
+ }
196
+ }
197
+
198
+ return insets
199
+ }
200
+ }
201
+ )
202
+ }
152
203
  }
153
204
  }
154
205
  }
@@ -157,6 +208,7 @@ class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJ
157
208
  this.reactApplicationContext.currentActivity?.let { activity ->
158
209
  activity.window?.decorView?.let { view ->
159
210
  ViewCompat.setOnApplyWindowInsetsListener(view, null)
211
+ ViewCompat.setWindowInsetsAnimationCallback(view, null)
160
212
  }
161
213
  }
162
214
  }
@@ -294,3 +294,7 @@ jsi::Value UnistylesRuntime::setRootBackgroundColor(jsi::Runtime& rt, std::strin
294
294
  return jsi::Value::undefined();
295
295
  });
296
296
  }
297
+
298
+ jsi::Value UnistylesRuntime::getIsRtl(jsi::Runtime& rt, std::string fnName) {
299
+ return jsi::Value(this->rtl);
300
+ }
@@ -67,7 +67,6 @@ void UnistylesModel::handleContentSizeCategoryChange(std::string contentSizeCate
67
67
  }
68
68
 
69
69
  this->contentSizeCategory = contentSizeCategory;
70
- this->onContentSizeCategoryChange(contentSizeCategory);
71
70
  }
72
71
 
73
72
  jsi::Value UnistylesModel::getThemeOrFail(jsi::Runtime& runtime) {
@@ -144,13 +143,6 @@ void UnistylesModel::onThemeChange(std::string themeName) {
144
143
  this->emitDeviceEvent("theme", payload);
145
144
  }
146
145
 
147
- void UnistylesModel::onContentSizeCategoryChange(std::string contentSizeCategory) {
148
- EventPayload payload;
149
- payload["contentSizeCategory"] = contentSizeCategory;
150
-
151
- this->emitDeviceEvent("dynamicTypeSize", payload);
152
- }
153
-
154
146
  void UnistylesModel::onPluginChange() {
155
147
  this->emitDeviceEvent("plugin", {});
156
148
  }
@@ -50,7 +50,6 @@ struct UnistylesModel {
50
50
  void emitDeviceEvent(const std::string eventType, EventPayload payload);
51
51
  void onThemeChange(std::string themeName);
52
52
  void onPluginChange();
53
- void onContentSizeCategoryChange(std::string contentSizeCategory);
54
53
  void onLayoutChange();
55
54
  jsi::Object parseEventPayload(EventPayload payload);
56
55
  jsi::Object parseEventNestedPayload(EventNestedValue payload);
@@ -111,6 +110,7 @@ struct UnistylesModel {
111
110
  Insets insets = {0, 0, 0, 0};
112
111
  float pixelRatio = 1.0;
113
112
  float fontScale = 1.0;
113
+ bool rtl = false;
114
114
  std::string colorScheme = UnistylesUnspecifiedScheme;
115
115
  std::string contentSizeCategory = UnistylesUnspecifiedScheme;
116
116
 
@@ -34,7 +34,8 @@ struct JSI_EXPORT UnistylesRuntime : public jsi::HostObject, UnistylesModel {
34
34
  {"pixelRatio", BIND_FN(getPixelRatio)},
35
35
  {"fontScale", BIND_FN(getFontScale)},
36
36
  {"setRootViewBackgroundColor", BIND_FN(setRootBackgroundColor)},
37
- {"setImmersiveMode", BIND_FN(setImmersiveModeEnabled)}
37
+ {"setImmersiveMode", BIND_FN(setImmersiveModeEnabled)},
38
+ {"rtl", BIND_FN(getIsRtl)}
38
39
  };
39
40
 
40
41
  this->setters = {
@@ -64,6 +65,7 @@ struct JSI_EXPORT UnistylesRuntime : public jsi::HostObject, UnistylesModel {
64
65
  jsi::Value getFontScale(jsi::Runtime&, std::string);
65
66
  jsi::Value setRootBackgroundColor(jsi::Runtime&, std::string);
66
67
  jsi::Value setImmersiveModeEnabled(jsi::Runtime&, std::string);
68
+ jsi::Value getIsRtl(jsi::Runtime&, std::string);
67
69
 
68
70
  std::optional<jsi::Value> setThemes(jsi::Runtime&, const jsi::Value&);
69
71
 
@@ -91,6 +91,7 @@
91
91
  unistylesRuntime->insets = [self getInsets];
92
92
  unistylesRuntime->pixelRatio = screen.pixelRatio;
93
93
  unistylesRuntime->fontScale = screen.fontScale;
94
+ unistylesRuntime->rtl = [self isRtl];
94
95
  });
95
96
  }
96
97
 
@@ -149,6 +150,15 @@
149
150
  return Screen({width, height, pixelRatio, fontScale});
150
151
  }
151
152
 
153
+ - (bool)isRtl {
154
+ // forced by React Native
155
+ BOOL hasForcedRtl = [[NSUserDefaults standardUserDefaults] boolForKey:@"RCTI18nUtil_forceRTL"];
156
+ // user preferences
157
+ BOOL isRtl = [UIApplication sharedApplication].userInterfaceLayoutDirection == UIUserInterfaceLayoutDirectionRightToLeft;
158
+
159
+ return hasForcedRtl || isRtl;
160
+ }
161
+
152
162
  - (void)setStatusBarHidden:(bool)isHidden {
153
163
  // forward it to React Native ViewController
154
164
  dispatch_async(dispatch_get_main_queue(), ^{
@@ -50,7 +50,6 @@ let UnistylesEventType = exports.UnistylesEventType = /*#__PURE__*/function (Uni
50
50
  UnistylesEventType["Theme"] = "theme";
51
51
  UnistylesEventType["Layout"] = "layout";
52
52
  UnistylesEventType["Plugin"] = "plugin";
53
- UnistylesEventType["DynamicTypeSize"] = "dynamicTypeSize";
54
53
  return UnistylesEventType;
55
54
  }({});
56
55
  let UnistylesError = exports.UnistylesError = /*#__PURE__*/function (UnistylesError) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","warn","message","console","exports","isWeb","Platform","OS","isIOS","isAndroid","isMobile","isServer","window","isDev","process","env","NODE_ENV","isTest","JEST_WORKER_ID","undefined","jest","ScreenOrientation","Landscape","Portrait","IOSContentSizeCategory","AndroidContentSizeCategory","UnistylesEventType","UnistylesError"],"sourceRoot":"../../src","sources":["common.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,IAAI,GAAIC,OAAe,IAAK;EACrCC,OAAO,CAACF,IAAI,CAAC,gCAAgCC,OAAO,EAAE,CAAC;AAC3D,CAAC;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA;AAEM,MAAMI,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;AACnC,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAAGF,qBAAQ,CAACC,EAAE,KAAK,KAAK;AACnC,MAAME,SAAS,GAAAL,OAAA,CAAAK,SAAA,GAAGH,qBAAQ,CAACC,EAAE,KAAK,SAAS;AAC3C,MAAMG,QAAQ,GAAAN,OAAA,CAAAM,QAAA,GAAGF,KAAK,IAAIC,SAAS;AACnC,MAAME,QAAQ,GAAAP,OAAA,CAAAO,QAAA,GAAG,OAAOC,MAAM,KAAK,WAAW;AAC9C,MAAMC,KAAK,GAAAT,OAAA,CAAAS,KAAA,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;AACnD,MAAMC,MAAM,GAAAb,OAAA,CAAAa,MAAA,GAAGH,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,IAAIF,OAAO,CAACC,GAAG,CAACG,cAAc,KAAKC,SAAS,IAAI,OAAOC,IAAI,KAAK,WAAW;AAEzH,MAAMC,iBAAiB,GAAAjB,OAAA,CAAAiB,iBAAA,GAAG;EAC7BC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE;AACd,CAAU;AAAA,IAEEC,sBAAsB,GAAApB,OAAA,CAAAoB,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAA,IAgBtBC,0BAA0B,GAAArB,OAAA,CAAAqB,0BAAA,0BAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAAA,OAA1BA,0BAA0B;AAAA;AAAA,IAU1BC,kBAAkB,GAAAtB,OAAA,CAAAsB,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAOlBC,cAAc,GAAAvB,OAAA,CAAAuB,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","warn","message","console","exports","isWeb","Platform","OS","isIOS","isAndroid","isMobile","isServer","window","isDev","process","env","NODE_ENV","isTest","JEST_WORKER_ID","undefined","jest","ScreenOrientation","Landscape","Portrait","IOSContentSizeCategory","AndroidContentSizeCategory","UnistylesEventType","UnistylesError"],"sourceRoot":"../../src","sources":["common.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,IAAI,GAAIC,OAAe,IAAK;EACrCC,OAAO,CAACF,IAAI,CAAC,gCAAgCC,OAAO,EAAE,CAAC;AAC3D,CAAC;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA;AAEM,MAAMI,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;AACnC,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAAGF,qBAAQ,CAACC,EAAE,KAAK,KAAK;AACnC,MAAME,SAAS,GAAAL,OAAA,CAAAK,SAAA,GAAGH,qBAAQ,CAACC,EAAE,KAAK,SAAS;AAC3C,MAAMG,QAAQ,GAAAN,OAAA,CAAAM,QAAA,GAAGF,KAAK,IAAIC,SAAS;AACnC,MAAME,QAAQ,GAAAP,OAAA,CAAAO,QAAA,GAAG,OAAOC,MAAM,KAAK,WAAW;AAC9C,MAAMC,KAAK,GAAAT,OAAA,CAAAS,KAAA,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;AACnD,MAAMC,MAAM,GAAAb,OAAA,CAAAa,MAAA,GAAGH,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,IAAIF,OAAO,CAACC,GAAG,CAACG,cAAc,KAAKC,SAAS,IAAI,OAAOC,IAAI,KAAK,WAAW;AAEzH,MAAMC,iBAAiB,GAAAjB,OAAA,CAAAiB,iBAAA,GAAG;EAC7BC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE;AACd,CAAU;AAAA,IAEEC,sBAAsB,GAAApB,OAAA,CAAAoB,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAA,IAgBtBC,0BAA0B,GAAArB,OAAA,CAAAqB,0BAAA,0BAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAAA,OAA1BA,0BAA0B;AAAA;AAAA,IAU1BC,kBAAkB,GAAAtB,OAAA,CAAAsB,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAMlBC,cAAc,GAAAvB,OAAA,CAAAuB,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -43,11 +43,14 @@ class UnistylesBridgeWeb {
43
43
  };
44
44
  #pixelRatio = 1.0;
45
45
  #fontScale = 1.0;
46
+ #hairlineWidth = 1;
47
+ #rtl = false;
46
48
  constructor() {
47
49
  if (!_common.isServer) {
48
50
  this.setupListeners();
49
51
  this.#screenWidth = window.innerWidth;
50
52
  this.#screenHeight = window.innerHeight;
53
+ this.#rtl = window.getComputedStyle(document.documentElement).direction === 'rtl';
51
54
  }
52
55
  }
53
56
  install() {
@@ -86,6 +89,10 @@ class UnistylesBridgeWeb {
86
89
  return this.#pixelRatio;
87
90
  case 'fontScale':
88
91
  return this.#fontScale;
92
+ case 'hairlineWidth':
93
+ return this.#hairlineWidth;
94
+ case 'rtl':
95
+ return this.#rtl;
89
96
  case 'useTheme':
90
97
  return themeName => this.useTheme(themeName);
91
98
  case 'updateTheme':
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_plugins","_common","UnistylesBridgeWeb","timerRef","undefined","windowResizeDebounceTimeMs","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","setColor","setHidden","navigationBar","pixelRatio","fontScale","constructor","setupListeners","install","globalThis","__UNISTYLES__","Proxy","get","_target","prop","getTheme","useTheme","updateTheme","useBreakpoints","enable","useAdaptiveThemes","pluginName","notify","addPlugin","removePlugin","color","setRootViewBackgroundColor","timeMs","Reflect","set","target","newValue","receiver","includes","emitThemeChange","Object","entries","sort","a","b","getBreakpointFromScreenWidth","concat","emitPluginChange","filter","length","at","onResize","emitLayoutChange","addEventListener","clearTimeout","setTimeout","matchMedia","event","matches","find","value","index","otherBreakpoints","minVal","maxVal","document","body","style","backgroundColor","emit","type","payload","orientation","screen","exports","UnistylesModule"],"sourceRoot":"../../../src","sources":["core/UnistylesModule.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_plugins","_common","UnistylesBridgeWeb","timerRef","undefined","windowResizeDebounceTimeMs","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","setColor","setHidden","navigationBar","pixelRatio","fontScale","hairlineWidth","rtl","constructor","setupListeners","getComputedStyle","document","documentElement","direction","install","globalThis","__UNISTYLES__","Proxy","get","_target","prop","getTheme","useTheme","updateTheme","useBreakpoints","enable","useAdaptiveThemes","pluginName","notify","addPlugin","removePlugin","color","setRootViewBackgroundColor","timeMs","Reflect","set","target","newValue","receiver","includes","emitThemeChange","Object","entries","sort","a","b","getBreakpointFromScreenWidth","concat","emitPluginChange","filter","length","at","onResize","emitLayoutChange","addEventListener","clearTimeout","setTimeout","matchMedia","event","matches","find","value","index","otherBreakpoints","minVal","maxVal","body","style","backgroundColor","emit","type","payload","orientation","screen","exports","UnistylesModule"],"sourceRoot":"../../../src","sources":["core/UnistylesModule.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UnistylesRuntime = void 0;
7
7
  var _common = require("../common");
8
- var _utils = require("../utils");
8
+ var _parseColor = require("../utils/parseColor");
9
9
  /**
10
10
  * Utility to interact with the Unistyles during runtime
11
11
  */
@@ -35,7 +35,9 @@ class UnistylesRuntime {
35
35
  },
36
36
  orientation: this.orientation,
37
37
  pixelRatio: this.pixelRatio,
38
- fontScale: this.fontScale
38
+ fontScale: this.fontScale,
39
+ hairlineWidth: this.hairlineWidth,
40
+ rtl: this.rtl
39
41
  };
40
42
  }
41
43
 
@@ -47,6 +49,14 @@ class UnistylesRuntime {
47
49
  return this.unistylesBridge.colorScheme;
48
50
  }
49
51
 
52
+ /**
53
+ * Get the layout direction
54
+ * @returns - Boolean indicating if the layout direction is RTL
55
+ */
56
+ get rtl() {
57
+ return this.unistylesBridge.rtl;
58
+ }
59
+
50
60
  /**
51
61
  * Get info about adaptive themes
52
62
  * @returns - boolean indicating if the adaptive themes are enabled
@@ -89,6 +99,7 @@ class UnistylesRuntime {
89
99
 
90
100
  /**
91
101
  * Get the names of currently enabled plugins
102
+ * @deprecated - Plugins will be removed in the next major release
92
103
  * @returns - The names of currently enabled plugins
93
104
  */
94
105
  get enabledPlugins() {
@@ -123,7 +134,7 @@ class UnistylesRuntime {
123
134
  width: this.unistylesBridge.statusBar.width,
124
135
  height: this.unistylesBridge.statusBar.height,
125
136
  setColor: (color, alpha) => {
126
- const [parsedColor, parsedAlpha] = (0, _utils.parseColor)(color, alpha);
137
+ const [parsedColor, parsedAlpha] = (0, _parseColor.parseColor)(color, alpha);
127
138
  this.unistylesBridge.statusBar.setColor(parsedColor, parsedAlpha);
128
139
  },
129
140
  setHidden: hidden => this.unistylesBridge.statusBar.setHidden(hidden)
@@ -139,7 +150,7 @@ class UnistylesRuntime {
139
150
  width: this.unistylesBridge.navigationBar.width,
140
151
  height: this.unistylesBridge.navigationBar.height,
141
152
  setColor: (color, alpha) => {
142
- const [parsedColor, parsedAlpha] = (0, _utils.parseColor)(color, alpha);
153
+ const [parsedColor, parsedAlpha] = (0, _parseColor.parseColor)(color, alpha);
143
154
  this.unistylesBridge.navigationBar.setColor(parsedColor, parsedAlpha);
144
155
  },
145
156
  setHidden: hidden => this.unistylesBridge.navigationBar.setHidden(hidden)
@@ -177,6 +188,16 @@ class UnistylesRuntime {
177
188
  return parseFloat(this.unistylesBridge.fontScale.toFixed(2));
178
189
  }
179
190
 
191
+ /**
192
+ * Get the hairline width
193
+ * @returns - The thinnest width of the platform
194
+ */
195
+ get hairlineWidth() {
196
+ const pixelRatio = this.pixelRatio;
197
+ const nearestPixel = Math.trunc(pixelRatio * 0.4) || 1;
198
+ return nearestPixel / pixelRatio;
199
+ }
200
+
180
201
  /**
181
202
  * Get the immersive mode (both status bar and navigation bar hidden (Android))
182
203
  * @param isEnabled
@@ -191,7 +212,7 @@ class UnistylesRuntime {
191
212
  * @param alpha - Color alpha - default is 1
192
213
  */
193
214
  setRootViewBackgroundColor = (color, alpha) => {
194
- const [parsedColor, parsedAlpha] = (0, _utils.parseColor)(color, alpha);
215
+ const [parsedColor, parsedAlpha] = (0, _parseColor.parseColor)(color, alpha);
195
216
  this.unistylesBridge.setRootViewBackgroundColor(parsedColor, parsedAlpha);
196
217
  };
197
218
 
@@ -231,6 +252,7 @@ class UnistylesRuntime {
231
252
 
232
253
  /**
233
254
  * Enable a plugin
255
+ * @deprecated - Plugins will be removed in the next major release
234
256
  * @param plugin - Plugin that conforms to UnistylesPlugin interface
235
257
  */
236
258
  addPlugin = plugin => {
@@ -239,6 +261,7 @@ class UnistylesRuntime {
239
261
 
240
262
  /**
241
263
  * Disable a plugin
264
+ * @deprecated - Plugins will be removed in the next major release
242
265
  * @param plugin - Plugin that conforms to UnistylesPlugin interface
243
266
  */
244
267
  removePlugin = plugin => {
@@ -1 +1 @@
1
- {"version":3,"names":["_common","require","_utils","UnistylesRuntime","constructor","unistylesBridge","unistylesRegistry","miniRuntime","contentSizeCategory","breakpoint","screen","insets","statusBar","width","height","navigationBar","orientation","pixelRatio","fontScale","colorScheme","hasAdaptiveThemes","themeName","breakpoints","enabledPlugins","screenWidth","screenHeight","setColor","color","alpha","parsedColor","parsedAlpha","parseColor","setHidden","hidden","ScreenOrientation","Landscape","Portrait","parseFloat","toFixed","setImmersiveMode","isEnabled","setRootViewBackgroundColor","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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","ignoreList":[]}
1
+ {"version":3,"names":["_common","require","_parseColor","UnistylesRuntime","constructor","unistylesBridge","unistylesRegistry","miniRuntime","contentSizeCategory","breakpoint","screen","insets","statusBar","width","height","navigationBar","orientation","pixelRatio","fontScale","hairlineWidth","rtl","colorScheme","hasAdaptiveThemes","themeName","breakpoints","enabledPlugins","screenWidth","screenHeight","setColor","color","alpha","parsedColor","parsedAlpha","parseColor","setHidden","hidden","ScreenOrientation","Landscape","Portrait","parseFloat","toFixed","nearestPixel","Math","trunc","setImmersiveMode","isEnabled","setRootViewBackgroundColor","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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","ignoreList":[]}
@@ -29,7 +29,9 @@ class UnistylesMockedRuntime {
29
29
  },
30
30
  orientation: this.orientation,
31
31
  pixelRatio: this.pixelRatio,
32
- fontScale: this.fontScale
32
+ fontScale: this.fontScale,
33
+ hairlineWidth: this.hairlineWidth,
34
+ rtl: this.rtl
33
35
  };
34
36
  }
35
37
  get colorScheme() {
@@ -51,6 +53,9 @@ class UnistylesMockedRuntime {
51
53
  const firstBreakpoint = this.unistylesRegistry.sortedBreakpointPairs.at(0);
52
54
  return firstBreakpoint ? firstBreakpoint.at(0) : undefined;
53
55
  }
56
+ get rtl() {
57
+ return false;
58
+ }
54
59
  get breakpoints() {
55
60
  return this.unistylesRegistry.breakpoints;
56
61
  }
@@ -74,6 +79,9 @@ class UnistylesMockedRuntime {
74
79
  get pixelRatio() {
75
80
  return 1.0;
76
81
  }
82
+ get hairlineWidth() {
83
+ return 0.333333;
84
+ }
77
85
  get fontScale() {
78
86
  return 1.0;
79
87
  }