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.
- package/README.md +4 -1
- package/android/src/main/cxx/platform.cpp +16 -0
- package/android/src/main/cxx/platform.h +1 -0
- package/android/src/main/java/com/unistyles/Platform.kt +62 -9
- package/android/src/main/java/com/unistyles/UnistylesModule.kt +53 -1
- package/cxx/UnistylesImpl.cpp +4 -0
- package/cxx/UnistylesModel.cpp +0 -8
- package/cxx/UnistylesModel.h +1 -1
- package/cxx/UnistylesRuntime.h +3 -1
- package/ios/platform/Platform_iOS.mm +10 -0
- package/lib/commonjs/common.js +0 -1
- package/lib/commonjs/common.js.map +1 -1
- package/lib/commonjs/core/UnistylesModule.js +7 -0
- package/lib/commonjs/core/UnistylesModule.js.map +1 -1
- package/lib/commonjs/core/UnistylesRuntime.js +28 -5
- package/lib/commonjs/core/UnistylesRuntime.js.map +1 -1
- package/lib/commonjs/core/mocks/UnistylesMockedRuntime.js +9 -1
- package/lib/commonjs/core/mocks/UnistylesMockedRuntime.js.map +1 -1
- package/lib/commonjs/hooks/useUnistyles.js +1 -8
- package/lib/commonjs/hooks/useUnistyles.js.map +1 -1
- package/lib/module/common.js +0 -1
- package/lib/module/common.js.map +1 -1
- package/lib/module/core/UnistylesModule.js +7 -0
- package/lib/module/core/UnistylesModule.js.map +1 -1
- package/lib/module/core/UnistylesRuntime.js +25 -2
- package/lib/module/core/UnistylesRuntime.js.map +1 -1
- package/lib/module/core/mocks/UnistylesMockedRuntime.js +9 -1
- package/lib/module/core/mocks/UnistylesMockedRuntime.js.map +1 -1
- package/lib/module/hooks/useUnistyles.js +1 -8
- package/lib/module/hooks/useUnistyles.js.map +1 -1
- package/lib/typescript/src/common.d.ts +1 -2
- package/lib/typescript/src/common.d.ts.map +1 -1
- package/lib/typescript/src/core/UnistylesModule.d.ts.map +1 -1
- package/lib/typescript/src/core/UnistylesRuntime.d.ts +15 -0
- package/lib/typescript/src/core/UnistylesRuntime.d.ts.map +1 -1
- package/lib/typescript/src/core/mocks/UnistylesMockedRuntime.d.ts +4 -0
- package/lib/typescript/src/core/mocks/UnistylesMockedRuntime.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useUnistyles.d.ts +0 -1
- package/lib/typescript/src/hooks/useUnistyles.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +1 -1
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/types/stylesheet.d.ts +3 -3
- package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
- package/lib/typescript/src/types/unistyles.d.ts +2 -7
- package/lib/typescript/src/types/unistyles.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/common.ts +1 -2
- package/src/core/UnistylesModule.ts +7 -0
- package/src/core/UnistylesRuntime.ts +26 -2
- package/src/core/mocks/UnistylesMockedRuntime.ts +11 -1
- package/src/hooks/useUnistyles.ts +2 -9
- package/src/index.ts +4 -1
- package/src/types/index.ts +4 -1
- package/src/types/stylesheet.ts +3 -3
- 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
|
-
|
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
|
-
|
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
|
}
|
package/cxx/UnistylesImpl.cpp
CHANGED
package/cxx/UnistylesModel.cpp
CHANGED
@@ -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
|
}
|
package/cxx/UnistylesModel.h
CHANGED
@@ -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
|
|
package/cxx/UnistylesRuntime.h
CHANGED
@@ -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(), ^{
|
package/lib/commonjs/common.js
CHANGED
@@ -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;
|
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","
|
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
|
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,
|
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,
|
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,
|
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","
|
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
|
}
|