react-native-unistyles 2.0.0-alpha.9 → 2.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +28 -0
- package/android/build.gradle +40 -0
- package/android/src/main/cxx/cpp-adapter.cpp +108 -0
- package/android/src/main/java/com/unistyles/UnistylesModule.kt +159 -0
- package/android/src/main/java/com/unistyles/UnistylesPackage.kt +18 -0
- package/cxx/UnistylesRuntime.cpp +55 -2
- package/cxx/UnistylesRuntime.h +15 -9
- package/ios/UnistylesModule.mm +16 -6
- package/lib/commonjs/common.js +30 -16
- package/lib/commonjs/common.js.map +1 -1
- package/lib/commonjs/core/UnistyleRegistry.js +65 -3
- package/lib/commonjs/core/UnistyleRegistry.js.map +1 -1
- package/lib/commonjs/core/Unistyles.js +1 -1
- package/lib/commonjs/core/Unistyles.js.map +1 -1
- package/lib/commonjs/core/UnistylesModule.web.js +187 -0
- package/lib/commonjs/core/UnistylesModule.web.js.map +1 -0
- package/lib/commonjs/core/UnistylesRuntime.js +15 -16
- package/lib/commonjs/core/UnistylesRuntime.js.map +1 -1
- package/lib/commonjs/createStyleSheet.js +1 -6
- package/lib/commonjs/createStyleSheet.js.map +1 -1
- package/lib/commonjs/hooks/index.js +7 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useUnistyles.js +12 -9
- package/lib/commonjs/hooks/useUnistyles.js.map +1 -1
- package/lib/commonjs/hooks/useVariants.js +14 -0
- package/lib/commonjs/hooks/useVariants.js.map +1 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/plugins/index.js +38 -0
- package/lib/commonjs/plugins/index.js.map +1 -0
- package/lib/commonjs/plugins/normalizeWebStylesPlugin.js +12 -0
- package/lib/commonjs/plugins/normalizeWebStylesPlugin.js.map +1 -0
- package/lib/commonjs/plugins/normalizer/index.js +32 -0
- package/lib/commonjs/plugins/normalizer/index.js.map +1 -0
- package/lib/commonjs/plugins/normalizer/module.d.js.map +1 -0
- package/lib/commonjs/{utils/normalizeStyles.web.js → plugins/normalizer/normalizeStyle.js} +5 -5
- package/lib/commonjs/plugins/normalizer/normalizeStyle.js.map +1 -0
- package/lib/commonjs/{utils → plugins/normalizer}/normalizer.js +1 -1
- package/lib/commonjs/plugins/normalizer/normalizer.js.map +1 -0
- package/lib/commonjs/types/{mq.js → plugin.js} +1 -1
- package/lib/commonjs/types/{mq.js.map → plugin.js.map} +1 -1
- package/lib/commonjs/types/stylesheet.js +6 -0
- package/lib/commonjs/types/stylesheet.js.map +1 -0
- package/lib/commonjs/types/variants.js +2 -0
- package/lib/commonjs/{utils/module.d.js.map → types/variants.js.map} +1 -1
- package/lib/commonjs/useStyles.js +10 -20
- package/lib/commonjs/useStyles.js.map +1 -1
- package/lib/commonjs/utils/breakpoints.js +13 -59
- package/lib/commonjs/utils/breakpoints.js.map +1 -1
- package/lib/commonjs/utils/index.js +13 -51
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/mq.js +36 -68
- package/lib/commonjs/utils/mq.js.map +1 -1
- package/lib/commonjs/utils/mqParser.js +4 -1
- package/lib/commonjs/utils/mqParser.js.map +1 -1
- package/lib/commonjs/utils/styles.js +35 -20
- package/lib/commonjs/utils/styles.js.map +1 -1
- package/lib/commonjs/utils/withPlugins.js +15 -0
- package/lib/commonjs/utils/withPlugins.js.map +1 -0
- package/lib/module/common.js +28 -17
- package/lib/module/common.js.map +1 -1
- package/lib/module/core/UnistyleRegistry.js +65 -3
- package/lib/module/core/UnistyleRegistry.js.map +1 -1
- package/lib/module/core/Unistyles.js +2 -2
- package/lib/module/core/Unistyles.js.map +1 -1
- package/lib/module/core/UnistylesModule.web.js +180 -0
- package/lib/module/core/UnistylesModule.web.js.map +1 -0
- package/lib/module/core/UnistylesRuntime.js +15 -16
- package/lib/module/core/UnistylesRuntime.js.map +1 -1
- package/lib/module/createStyleSheet.js +1 -6
- package/lib/module/createStyleSheet.js.map +1 -1
- package/lib/module/hooks/index.js +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useUnistyles.js +13 -10
- package/lib/module/hooks/useUnistyles.js.map +1 -1
- package/lib/module/hooks/useVariants.js +7 -0
- package/lib/module/hooks/useVariants.js.map +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/plugins/index.js +3 -0
- package/lib/module/plugins/index.js.map +1 -0
- package/lib/module/plugins/normalizeWebStylesPlugin.js +6 -0
- package/lib/module/plugins/normalizeWebStylesPlugin.js.map +1 -0
- package/lib/module/plugins/normalizer/index.js +3 -0
- package/lib/module/plugins/normalizer/index.js.map +1 -0
- package/lib/module/plugins/normalizer/module.d.js.map +1 -0
- package/lib/module/{utils/normalizeStyles.web.js → plugins/normalizer/normalizeStyle.js} +3 -3
- package/lib/module/plugins/normalizer/normalizeStyle.js.map +1 -0
- package/lib/module/{utils → plugins/normalizer}/normalizer.js +1 -1
- package/lib/module/plugins/normalizer/normalizer.js.map +1 -0
- package/lib/module/types/plugin.js +2 -0
- package/lib/module/types/{mq.js.map → plugin.js.map} +1 -1
- package/lib/module/types/stylesheet.js +2 -0
- package/lib/module/types/stylesheet.js.map +1 -0
- package/lib/module/types/variants.js +2 -0
- package/lib/module/{utils/module.d.js.map → types/variants.js.map} +1 -1
- package/lib/module/useStyles.js +12 -22
- package/lib/module/useStyles.js.map +1 -1
- package/lib/module/utils/breakpoints.js +12 -56
- package/lib/module/utils/breakpoints.js.map +1 -1
- package/lib/module/utils/index.js +4 -6
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/mq.js +35 -67
- package/lib/module/utils/mq.js.map +1 -1
- package/lib/module/utils/mqParser.js +3 -3
- package/lib/module/utils/mqParser.js.map +1 -1
- package/lib/module/utils/styles.js +35 -20
- package/lib/module/utils/styles.js.map +1 -1
- package/lib/module/utils/withPlugins.js +8 -0
- package/lib/module/utils/withPlugins.js.map +1 -0
- package/lib/typescript/src/common.d.ts +23 -12
- package/lib/typescript/src/common.d.ts.map +1 -1
- package/lib/typescript/src/core/UnistyleRegistry.d.ts +45 -4
- package/lib/typescript/src/core/UnistyleRegistry.d.ts.map +1 -1
- package/lib/typescript/src/core/UnistylesModule.web.d.ts +19 -0
- package/lib/typescript/src/core/UnistylesModule.web.d.ts.map +1 -0
- package/lib/typescript/src/core/UnistylesRuntime.d.ts +8 -9
- package/lib/typescript/src/core/UnistylesRuntime.d.ts.map +1 -1
- package/lib/typescript/src/core/index.d.ts +1 -0
- package/lib/typescript/src/core/index.d.ts.map +1 -1
- package/lib/typescript/src/createStyleSheet.d.ts +2 -2
- package/lib/typescript/src/createStyleSheet.d.ts.map +1 -1
- package/lib/typescript/src/global.d.ts.map +1 -1
- package/lib/typescript/src/hooks/index.d.ts +1 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useUnistyles.d.ts +2 -1
- package/lib/typescript/src/hooks/useUnistyles.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useVariants.d.ts +3 -0
- package/lib/typescript/src/hooks/useVariants.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +51 -5
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/plugins/index.d.ts +3 -0
- package/lib/typescript/src/plugins/index.d.ts.map +1 -0
- package/lib/typescript/src/plugins/normalizeWebStylesPlugin.d.ts +3 -0
- package/lib/typescript/src/plugins/normalizeWebStylesPlugin.d.ts.map +1 -0
- package/lib/typescript/src/plugins/normalizer/index.d.ts +3 -0
- package/lib/typescript/src/plugins/normalizer/index.d.ts.map +1 -0
- package/lib/typescript/src/plugins/normalizer/normalizeStyle.d.ts +3 -0
- package/lib/typescript/src/plugins/normalizer/normalizeStyle.d.ts.map +1 -0
- package/lib/typescript/src/{utils → plugins/normalizer}/normalizer.d.ts +1 -1
- package/lib/typescript/src/plugins/normalizer/normalizer.d.ts.map +1 -0
- package/lib/typescript/src/types/breakpoints.d.ts +25 -12
- package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
- package/lib/typescript/src/types/core.d.ts +6 -27
- package/lib/typescript/src/types/core.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +4 -2
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/types/plugin.d.ts +7 -0
- package/lib/typescript/src/types/plugin.d.ts.map +1 -0
- package/lib/typescript/src/types/stylesheet.d.ts +40 -0
- package/lib/typescript/src/types/stylesheet.d.ts.map +1 -0
- package/lib/typescript/src/types/unistyles.d.ts +16 -11
- package/lib/typescript/src/types/unistyles.d.ts.map +1 -1
- package/lib/typescript/src/types/variants.d.ts +14 -0
- package/lib/typescript/src/types/variants.d.ts.map +1 -0
- package/lib/typescript/src/useStyles.d.ts +3 -3
- package/lib/typescript/src/useStyles.d.ts.map +1 -1
- package/lib/typescript/src/utils/breakpoints.d.ts +2 -5
- package/lib/typescript/src/utils/breakpoints.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts +4 -6
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/mq.d.ts +15 -14
- package/lib/typescript/src/utils/mq.d.ts.map +1 -1
- package/lib/typescript/src/utils/mqParser.d.ts +14 -2
- package/lib/typescript/src/utils/mqParser.d.ts.map +1 -1
- package/lib/typescript/src/utils/styles.d.ts +3 -4
- package/lib/typescript/src/utils/styles.d.ts.map +1 -1
- package/lib/typescript/src/utils/withPlugins.d.ts +3 -0
- package/lib/typescript/src/utils/withPlugins.d.ts.map +1 -0
- package/package.json +19 -16
- package/src/__tests__/mocks.ts +24 -0
- package/src/common.ts +30 -14
- package/src/core/UnistyleRegistry.ts +66 -4
- package/src/core/Unistyles.ts +2 -2
- package/src/core/UnistylesModule.web.ts +214 -0
- package/src/core/UnistylesRuntime.ts +18 -20
- package/src/core/index.ts +1 -0
- package/src/createStyleSheet.ts +2 -8
- package/src/global.ts +1 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useUnistyles.ts +12 -10
- package/src/hooks/useVariants.ts +10 -0
- package/src/index.ts +3 -1
- package/src/plugins/index.ts +2 -0
- package/src/plugins/normalizeWebStylesPlugin.ts +7 -0
- package/src/plugins/normalizer/index.ts +2 -0
- package/src/{utils/normalizeStyles.web.ts → plugins/normalizer/normalizeStyle.ts} +3 -3
- package/src/{utils → plugins/normalizer}/normalizer.ts +3 -3
- package/src/types/breakpoints.ts +57 -25
- package/src/types/core.ts +9 -43
- package/src/types/index.ts +11 -2
- package/src/types/plugin.ts +7 -0
- package/src/types/stylesheet.ts +49 -0
- package/src/types/unistyles.ts +18 -13
- package/src/types/variants.ts +19 -0
- package/src/useStyles.ts +18 -25
- package/src/utils/breakpoints.ts +11 -67
- package/src/utils/index.ts +4 -6
- package/src/utils/mq.ts +31 -84
- package/src/utils/mqParser.ts +5 -5
- package/src/utils/styles.ts +44 -50
- package/src/utils/withPlugins.ts +13 -0
- package/lib/commonjs/utils/common.js +0 -25
- package/lib/commonjs/utils/common.js.map +0 -1
- package/lib/commonjs/utils/normalizeStyles.js +0 -10
- package/lib/commonjs/utils/normalizeStyles.js.map +0 -1
- package/lib/commonjs/utils/normalizeStyles.web.js.map +0 -1
- package/lib/commonjs/utils/normalizer.js.map +0 -1
- package/lib/module/types/mq.js +0 -2
- package/lib/module/utils/common.js +0 -17
- package/lib/module/utils/common.js.map +0 -1
- package/lib/module/utils/normalizeStyles.js +0 -3
- package/lib/module/utils/normalizeStyles.js.map +0 -1
- package/lib/module/utils/normalizeStyles.web.js.map +0 -1
- package/lib/module/utils/normalizer.js.map +0 -1
- package/lib/typescript/src/types/mq.d.ts +0 -3
- package/lib/typescript/src/types/mq.d.ts.map +0 -1
- package/lib/typescript/src/utils/common.d.ts +0 -12
- package/lib/typescript/src/utils/common.d.ts.map +0 -1
- package/lib/typescript/src/utils/normalizeStyles.d.ts +0 -2
- package/lib/typescript/src/utils/normalizeStyles.d.ts.map +0 -1
- package/lib/typescript/src/utils/normalizeStyles.web.d.ts +0 -5
- package/lib/typescript/src/utils/normalizeStyles.web.d.ts.map +0 -1
- package/lib/typescript/src/utils/normalizer.d.ts.map +0 -1
- package/src/types/mq.ts +0 -3
- package/src/utils/common.ts +0 -20
- package/src/utils/normalizeStyles.ts +0 -2
- /package/lib/commonjs/{utils → plugins/normalizer}/module.d.js +0 -0
- /package/lib/module/{utils → plugins/normalizer}/module.d.js +0 -0
- /package/src/{utils → plugins/normalizer}/module.d.ts +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.9.0)
|
|
2
|
+
|
|
3
|
+
project(unistyles)
|
|
4
|
+
|
|
5
|
+
add_library(unistyles
|
|
6
|
+
SHARED
|
|
7
|
+
../cxx/UnistylesRuntime.cpp
|
|
8
|
+
./src/main/cxx/cpp-adapter.cpp
|
|
9
|
+
../node_modules/react-native/ReactCommon/jsi/jsi/jsi.cpp
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
include_directories(
|
|
13
|
+
../cxx
|
|
14
|
+
../node_modules/react-native/React
|
|
15
|
+
../node_modules/react-native/React/Base
|
|
16
|
+
../node_modules/react-native/ReactCommon/jsi
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
set_target_properties(unistyles PROPERTIES
|
|
20
|
+
CXX_STANDARD 17
|
|
21
|
+
CXX_STANDARD_REQUIRED ON
|
|
22
|
+
CXX_EXTENSIONS OFF
|
|
23
|
+
POSITION_INDEPENDENT_CODE ON
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
target_link_libraries(unistyles
|
|
27
|
+
android
|
|
28
|
+
)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
buildscript {
|
|
2
|
+
ext.safeExtGet = {prop, fallback ->
|
|
3
|
+
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
4
|
+
}
|
|
5
|
+
repositories {
|
|
6
|
+
google()
|
|
7
|
+
gradlePluginPortal()
|
|
8
|
+
}
|
|
9
|
+
dependencies {
|
|
10
|
+
classpath("com.android.tools.build:gradle:7.3.1")
|
|
11
|
+
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.22")
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
apply plugin: 'com.android.library'
|
|
16
|
+
apply plugin: 'org.jetbrains.kotlin.android'
|
|
17
|
+
|
|
18
|
+
android {
|
|
19
|
+
compileSdkVersion safeExtGet('compileSdkVersion', 33)
|
|
20
|
+
namespace "com.unistyles"
|
|
21
|
+
|
|
22
|
+
defaultConfig {
|
|
23
|
+
minSdkVersion safeExtGet('minSdkVersion', 21)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
externalNativeBuild {
|
|
27
|
+
cmake {
|
|
28
|
+
path "CMakeLists.txt"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
repositories {
|
|
34
|
+
mavenCentral()
|
|
35
|
+
google()
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
dependencies {
|
|
39
|
+
implementation 'com.facebook.react:react-native'
|
|
40
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#include <jni.h>
|
|
2
|
+
#include <jsi/jsi.h>
|
|
3
|
+
#include "UnistylesRuntime.h"
|
|
4
|
+
|
|
5
|
+
using namespace facebook;
|
|
6
|
+
|
|
7
|
+
static jobject unistylesModule = nullptr;
|
|
8
|
+
std::shared_ptr<UnistylesRuntime> unistylesRuntime = nullptr;
|
|
9
|
+
|
|
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
|
+
extern "C"
|
|
23
|
+
JNIEXPORT void JNICALL
|
|
24
|
+
Java_com_unistyles_UnistylesModule_nativeInstall(
|
|
25
|
+
JNIEnv *env,
|
|
26
|
+
jobject thiz,
|
|
27
|
+
jlong jsi,
|
|
28
|
+
jint screenWidth,
|
|
29
|
+
jint screenHeight,
|
|
30
|
+
jstring colorScheme
|
|
31
|
+
) {
|
|
32
|
+
auto runtime = reinterpret_cast<facebook::jsi::Runtime *>(jsi);
|
|
33
|
+
|
|
34
|
+
if (unistylesModule == nullptr) {
|
|
35
|
+
unistylesModule = env->NewGlobalRef(thiz);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (runtime == nullptr || unistylesModule == nullptr) {
|
|
39
|
+
return throwKotlinException(env, "Something went wrong while initializing UnistylesModule");
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const char *colorSchemeChars = env->GetStringUTFChars(colorScheme, nullptr);
|
|
43
|
+
std::string colorSchemeStr(colorSchemeChars);
|
|
44
|
+
env->ReleaseStringUTFChars(colorScheme, colorSchemeChars);
|
|
45
|
+
|
|
46
|
+
unistylesRuntime = std::make_shared<UnistylesRuntime>(
|
|
47
|
+
screenWidth,
|
|
48
|
+
screenHeight,
|
|
49
|
+
colorSchemeStr
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
unistylesRuntime->onThemeChange([=](const std::string &theme) {
|
|
53
|
+
jstring themeStr = env->NewStringUTF(theme.c_str());
|
|
54
|
+
jclass cls = env->GetObjectClass(unistylesModule);
|
|
55
|
+
jmethodID methodId = env->GetMethodID(cls, "onThemeChange", "(Ljava/lang/String;)V");
|
|
56
|
+
|
|
57
|
+
env->CallVoidMethod(unistylesModule, methodId, themeStr);
|
|
58
|
+
env->DeleteLocalRef(themeStr);
|
|
59
|
+
env->DeleteLocalRef(cls);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
unistylesRuntime->onLayoutChange([=](const std::string &breakpoint, const std::string &orientation, int width, int height) {
|
|
63
|
+
jstring breakpointStr = env->NewStringUTF(breakpoint.c_str());
|
|
64
|
+
jstring orientationStr = env->NewStringUTF(orientation.c_str());
|
|
65
|
+
jclass cls = env->GetObjectClass(unistylesModule);
|
|
66
|
+
jmethodID methodId = env->GetMethodID(cls, "onLayoutChange", "(Ljava/lang/String;Ljava/lang/String;II)V");
|
|
67
|
+
|
|
68
|
+
env->CallVoidMethod(unistylesModule, methodId, breakpointStr, orientationStr, width, height);
|
|
69
|
+
env->DeleteLocalRef(breakpointStr);
|
|
70
|
+
env->DeleteLocalRef(orientationStr);
|
|
71
|
+
env->DeleteLocalRef(cls);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
unistylesRuntime->onPluginChange([=]() {
|
|
75
|
+
jclass cls = env->GetObjectClass(unistylesModule);
|
|
76
|
+
jmethodID methodId = env->GetMethodID(cls, "onPluginChange", "()V");
|
|
77
|
+
|
|
78
|
+
env->CallVoidMethod(unistylesModule, methodId);
|
|
79
|
+
env->DeleteLocalRef(cls);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
jsi::Object hostObject = jsi::Object::createFromHostObject(*runtime, unistylesRuntime);
|
|
83
|
+
|
|
84
|
+
runtime->global().setProperty(*runtime, "__UNISTYLES__", std::move(hostObject));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
extern "C"
|
|
88
|
+
JNIEXPORT void JNICALL
|
|
89
|
+
Java_com_unistyles_UnistylesModule_nativeDestroy(JNIEnv *env, jobject thiz) {
|
|
90
|
+
unistylesRuntime.reset();
|
|
91
|
+
env->DeleteGlobalRef(unistylesModule);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
extern "C"
|
|
95
|
+
JNIEXPORT void JNICALL
|
|
96
|
+
Java_com_unistyles_UnistylesModule_nativeOnOrientationChange(JNIEnv *env, jobject thiz, jint width, jint height) {
|
|
97
|
+
if (unistylesRuntime != nullptr) {
|
|
98
|
+
unistylesRuntime->handleScreenSizeChange(width, height);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
extern "C"
|
|
103
|
+
JNIEXPORT void JNICALL
|
|
104
|
+
Java_com_unistyles_UnistylesModule_nativeOnAppearanceChange(JNIEnv *env, jobject thiz, jstring colorScheme) {
|
|
105
|
+
if (unistylesRuntime != nullptr) {
|
|
106
|
+
unistylesRuntime->handleAppearanceChange(env->GetStringUTFChars(colorScheme, nullptr));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
package com.unistyles
|
|
2
|
+
|
|
3
|
+
import android.content.BroadcastReceiver
|
|
4
|
+
import android.content.Context
|
|
5
|
+
import android.content.Intent
|
|
6
|
+
import android.content.IntentFilter
|
|
7
|
+
import android.content.res.Configuration
|
|
8
|
+
import android.os.Handler
|
|
9
|
+
import android.os.Looper
|
|
10
|
+
import android.util.Log
|
|
11
|
+
import com.facebook.react.bridge.Arguments
|
|
12
|
+
import com.facebook.react.bridge.LifecycleEventListener
|
|
13
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
14
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
15
|
+
import com.facebook.react.bridge.ReactMethod
|
|
16
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
17
|
+
|
|
18
|
+
class UnistylesModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext), LifecycleEventListener {
|
|
19
|
+
private val configurationChangeReceiver = object : BroadcastReceiver() {
|
|
20
|
+
override fun onReceive(context: Context, intent: Intent) {
|
|
21
|
+
if (intent.action == Intent.ACTION_CONFIGURATION_CHANGED) {
|
|
22
|
+
Handler(Looper.getMainLooper()).postDelayed({
|
|
23
|
+
this@UnistylesModule.onConfigChange()
|
|
24
|
+
}, 10)
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
override fun getName() = NAME
|
|
30
|
+
companion object {
|
|
31
|
+
const val NAME = "Unistyles"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
//region Lifecycle
|
|
35
|
+
init {
|
|
36
|
+
reactApplicationContext.registerReceiver(configurationChangeReceiver, IntentFilter(Intent.ACTION_CONFIGURATION_CHANGED))
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
override fun onCatalystInstanceDestroy() {
|
|
40
|
+
reactApplicationContext.unregisterReceiver(configurationChangeReceiver)
|
|
41
|
+
this.nativeDestroy()
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
//endregion
|
|
45
|
+
//region Event handlers
|
|
46
|
+
private fun onConfigChange() {
|
|
47
|
+
val config = this.getConfig()
|
|
48
|
+
|
|
49
|
+
reactApplicationContext.runOnJSQueueThread {
|
|
50
|
+
this.nativeOnOrientationChange(
|
|
51
|
+
config["width"] as Int,
|
|
52
|
+
config["height"] as Int
|
|
53
|
+
)
|
|
54
|
+
this.nativeOnAppearanceChange(
|
|
55
|
+
config["colorScheme"] as String
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private fun getConfig(): Map<String, Any> {
|
|
61
|
+
val displayMetrics = reactApplicationContext.resources.displayMetrics
|
|
62
|
+
val colorScheme = when (reactApplicationContext.resources.configuration.uiMode.and(Configuration.UI_MODE_NIGHT_MASK)) {
|
|
63
|
+
Configuration.UI_MODE_NIGHT_YES -> "dark"
|
|
64
|
+
Configuration.UI_MODE_NIGHT_NO -> "light"
|
|
65
|
+
else -> "unspecified"
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return mapOf(
|
|
69
|
+
"width" to (displayMetrics.widthPixels / displayMetrics.density).toInt(),
|
|
70
|
+
"height" to (displayMetrics.heightPixels / displayMetrics.density).toInt(),
|
|
71
|
+
"colorScheme" to colorScheme
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
//endregion
|
|
76
|
+
//region Core
|
|
77
|
+
@ReactMethod(isBlockingSynchronousMethod = true)
|
|
78
|
+
fun install(): Boolean {
|
|
79
|
+
return try {
|
|
80
|
+
System.loadLibrary("unistyles")
|
|
81
|
+
val config = this.getConfig()
|
|
82
|
+
|
|
83
|
+
this.nativeInstall(
|
|
84
|
+
this.reactApplicationContext.javaScriptContextHolder.get(),
|
|
85
|
+
config["width"] as Int,
|
|
86
|
+
config["height"] as Int,
|
|
87
|
+
config["colorScheme"] as String
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
Log.i(NAME, "Installed Unistyles \uD83E\uDD84!")
|
|
91
|
+
|
|
92
|
+
true
|
|
93
|
+
} catch (e: Exception) {
|
|
94
|
+
false
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
private external fun nativeInstall(jsi: Long, width: Int, height: Int, colorScheme: String)
|
|
99
|
+
private external fun nativeDestroy()
|
|
100
|
+
private external fun nativeOnOrientationChange(width: Int, height: Int)
|
|
101
|
+
private external fun nativeOnAppearanceChange(colorScheme: String)
|
|
102
|
+
|
|
103
|
+
//endregion
|
|
104
|
+
//region Event emitter
|
|
105
|
+
private fun onLayoutChange(breakpoint: String, orientation: String, width: Int, height: Int) {
|
|
106
|
+
val body = Arguments.createMap().apply {
|
|
107
|
+
putString("type", "layout")
|
|
108
|
+
putMap("payload", Arguments.createMap().apply {
|
|
109
|
+
putString("breakpoint", breakpoint)
|
|
110
|
+
putString("orientation", orientation)
|
|
111
|
+
putMap("screen", Arguments.createMap().apply {
|
|
112
|
+
putInt("width", width)
|
|
113
|
+
putInt("height", height)
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
reactApplicationContext
|
|
119
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
120
|
+
.emit("__unistylesOnChange", body)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
private fun onThemeChange(themeName: String) {
|
|
124
|
+
val body = Arguments.createMap().apply {
|
|
125
|
+
putString("type", "theme")
|
|
126
|
+
putMap("payload", Arguments.createMap().apply {
|
|
127
|
+
putString("themeName", themeName)
|
|
128
|
+
})
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
reactApplicationContext
|
|
132
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
133
|
+
.emit("__unistylesOnChange", body)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
private fun onPluginChange() {
|
|
137
|
+
val body = Arguments.createMap().apply {
|
|
138
|
+
putString("type", "plugin")
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
reactApplicationContext
|
|
142
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
143
|
+
.emit("__unistylesOnChange", body)
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
@ReactMethod
|
|
147
|
+
fun addListener(eventName: String?) = Unit
|
|
148
|
+
|
|
149
|
+
@ReactMethod
|
|
150
|
+
fun removeListeners(count: Double) = Unit
|
|
151
|
+
override fun onHostResume() {
|
|
152
|
+
this.onConfigChange()
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
override fun onHostPause() {}
|
|
156
|
+
|
|
157
|
+
override fun onHostDestroy() {}
|
|
158
|
+
//endregion
|
|
159
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
package com.unistyles
|
|
2
|
+
|
|
3
|
+
import android.view.View
|
|
4
|
+
import com.facebook.react.ReactPackage
|
|
5
|
+
import com.facebook.react.bridge.NativeModule
|
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
7
|
+
import com.facebook.react.uimanager.ReactShadowNode
|
|
8
|
+
import com.facebook.react.uimanager.ViewManager
|
|
9
|
+
|
|
10
|
+
class UnistylesPackage: ReactPackage {
|
|
11
|
+
override fun createNativeModules(reactContext: ReactApplicationContext): MutableList<NativeModule> {
|
|
12
|
+
return mutableListOf(UnistylesModule(reactContext))
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
override fun createViewManagers(reactContext: ReactApplicationContext): MutableList<ViewManager<View, ReactShadowNode<*>>> {
|
|
16
|
+
return mutableListOf()
|
|
17
|
+
}
|
|
18
|
+
}
|
package/cxx/UnistylesRuntime.cpp
CHANGED
|
@@ -19,6 +19,9 @@ std::vector<jsi::PropNameID> UnistylesRuntime::getPropertyNames(jsi::Runtime& ru
|
|
|
19
19
|
properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("useBreakpoints")));
|
|
20
20
|
properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("useTheme")));
|
|
21
21
|
properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("useAdaptiveThemes")));
|
|
22
|
+
properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("addPlugin")));
|
|
23
|
+
properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("removePlugin")));
|
|
24
|
+
properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("enabledPlugins")));
|
|
22
25
|
|
|
23
26
|
// setters
|
|
24
27
|
properties.push_back(jsi::PropNameID::forUtf8(runtime, std::string("themes")));
|
|
@@ -26,7 +29,6 @@ std::vector<jsi::PropNameID> UnistylesRuntime::getPropertyNames(jsi::Runtime& ru
|
|
|
26
29
|
return properties;
|
|
27
30
|
}
|
|
28
31
|
|
|
29
|
-
|
|
30
32
|
jsi::Value UnistylesRuntime::get(jsi::Runtime& runtime, const jsi::PropNameID& propNameId) {
|
|
31
33
|
std::string propName = propNameId.utf8(runtime);
|
|
32
34
|
|
|
@@ -57,6 +59,16 @@ jsi::Value UnistylesRuntime::get(jsi::Runtime& runtime, const jsi::PropNameID& p
|
|
|
57
59
|
if (propName == "colorScheme") {
|
|
58
60
|
return jsi::Value(jsi::String::createFromUtf8(runtime, this->colorScheme));
|
|
59
61
|
}
|
|
62
|
+
|
|
63
|
+
if (propName == "enabledPlugins") {
|
|
64
|
+
auto jsiArray = facebook::jsi::Array(runtime, this->pluginNames.size());
|
|
65
|
+
|
|
66
|
+
for (size_t i = 0; i < this->pluginNames.size(); i++) {
|
|
67
|
+
jsiArray.setValueAtIndex(runtime, i, facebook::jsi::String::createFromUtf8(runtime, this->pluginNames[i]));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return jsiArray;
|
|
71
|
+
}
|
|
60
72
|
|
|
61
73
|
if (propName == "sortedBreakpointPairs") {
|
|
62
74
|
std::unique_ptr<jsi::Array> sortedBreakpointEntriesArray = std::make_unique<jsi::Array>(runtime, this->sortedBreakpointPairs.size());
|
|
@@ -72,6 +84,47 @@ jsi::Value UnistylesRuntime::get(jsi::Runtime& runtime, const jsi::PropNameID& p
|
|
|
72
84
|
|
|
73
85
|
return jsi::Value(runtime, *sortedBreakpointEntriesArray);
|
|
74
86
|
}
|
|
87
|
+
|
|
88
|
+
if (propName == "addPlugin") {
|
|
89
|
+
return jsi::Function::createFromHostFunction(
|
|
90
|
+
runtime,
|
|
91
|
+
jsi::PropNameID::forAscii(runtime, "addPlugin"),
|
|
92
|
+
1,
|
|
93
|
+
[this](jsi::Runtime &runtime, const jsi::Value &thisVal, const jsi::Value *arguments, size_t count) -> jsi::Value {
|
|
94
|
+
std::string pluginName = arguments[0].asString(runtime).utf8(runtime);
|
|
95
|
+
bool notify = arguments[1].asBool();
|
|
96
|
+
|
|
97
|
+
this->pluginNames.push_back(pluginName);
|
|
98
|
+
|
|
99
|
+
// registry enabled plugins won't notify listeners
|
|
100
|
+
if (notify) {
|
|
101
|
+
this->onPluginChangeCallback();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return jsi::Value::undefined();
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (propName == "removePlugin") {
|
|
110
|
+
return jsi::Function::createFromHostFunction(
|
|
111
|
+
runtime,
|
|
112
|
+
jsi::PropNameID::forAscii(runtime, "removePlugin"),
|
|
113
|
+
1,
|
|
114
|
+
[this](jsi::Runtime &runtime, const jsi::Value &thisVal, const jsi::Value *arguments, size_t count) -> jsi::Value {
|
|
115
|
+
std::string pluginName = arguments[0].asString(runtime).utf8(runtime);
|
|
116
|
+
|
|
117
|
+
auto it = std::find(this->pluginNames.begin(), this->pluginNames.end(), pluginName);
|
|
118
|
+
|
|
119
|
+
if (it != this->pluginNames.end()) {
|
|
120
|
+
this->pluginNames.erase(it);
|
|
121
|
+
this->onPluginChangeCallback();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return jsi::Value::undefined();
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
}
|
|
75
128
|
|
|
76
129
|
if (propName == "useBreakpoints") {
|
|
77
130
|
return jsi::Function::createFromHostFunction(
|
|
@@ -218,7 +271,7 @@ void UnistylesRuntime::handleScreenSizeChange(int width, int height) {
|
|
|
218
271
|
this->screenWidth = width;
|
|
219
272
|
this->screenHeight = height;
|
|
220
273
|
|
|
221
|
-
|
|
274
|
+
std::string orientation = width > height
|
|
222
275
|
? UnistylesOrientationLandscape
|
|
223
276
|
: UnistylesOrientationPortrait;
|
|
224
277
|
|
package/cxx/UnistylesRuntime.h
CHANGED
|
@@ -5,21 +5,22 @@
|
|
|
5
5
|
|
|
6
6
|
using namespace facebook;
|
|
7
7
|
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const std::string UnistylesOrientationPortrait = "portrait";
|
|
9
|
+
const std::string UnistylesOrientationLandscape = "landscape";
|
|
10
10
|
|
|
11
11
|
const std::string UnistylesDarkScheme = "dark";
|
|
12
12
|
const std::string UnistylesLightScheme = "light";
|
|
13
13
|
const std::string UnistylesUnspecifiedScheme = "unspecified";
|
|
14
14
|
|
|
15
|
-
const std::string UnistylesErrorBreakpointsCannotBeEmpty = "
|
|
16
|
-
const std::string UnistylesErrorBreakpointsMustStartFromZero = "
|
|
17
|
-
const std::string UnistylesErrorThemesCannotBeEmpty = "
|
|
15
|
+
const std::string UnistylesErrorBreakpointsCannotBeEmpty = "You are trying to register empty breakpoints object";
|
|
16
|
+
const std::string UnistylesErrorBreakpointsMustStartFromZero = "You are trying to register breakpoints that don't start from 0";
|
|
17
|
+
const std::string UnistylesErrorThemesCannotBeEmpty = "You are trying to register empty themes object";
|
|
18
18
|
|
|
19
19
|
class JSI_EXPORT UnistylesRuntime : public jsi::HostObject {
|
|
20
20
|
private:
|
|
21
21
|
std::function<void(std::string)> onThemeChangeCallback;
|
|
22
|
-
std::function<void(std::string breakpoint,
|
|
22
|
+
std::function<void(std::string breakpoint, std::string orientation, int screenWidth, int screenHeight)> onLayoutChangeCallback;
|
|
23
|
+
std::function<void()> onPluginChangeCallback;
|
|
23
24
|
|
|
24
25
|
int screenWidth;
|
|
25
26
|
int screenHeight;
|
|
@@ -37,17 +38,22 @@ public:
|
|
|
37
38
|
|
|
38
39
|
std::string themeName;
|
|
39
40
|
std::string breakpoint;
|
|
41
|
+
std::vector<std::string> pluginNames;
|
|
40
42
|
std::vector<std::string> themes;
|
|
41
43
|
std::vector<std::pair<std::string, double>> sortedBreakpointPairs;
|
|
42
|
-
|
|
44
|
+
|
|
43
45
|
void onThemeChange(std::function<void(std::string)> callback) {
|
|
44
46
|
this->onThemeChangeCallback = callback;
|
|
45
47
|
}
|
|
46
|
-
|
|
47
|
-
void onLayoutChange(std::function<void(std::string breakpoint,
|
|
48
|
+
|
|
49
|
+
void onLayoutChange(std::function<void(std::string breakpoint, std::string orientation, int screenWidth, int screenHeight)> callback) {
|
|
48
50
|
this->onLayoutChangeCallback = callback;
|
|
49
51
|
}
|
|
50
52
|
|
|
53
|
+
void onPluginChange(std::function<void()> callback) {
|
|
54
|
+
this->onPluginChangeCallback = callback;
|
|
55
|
+
}
|
|
56
|
+
|
|
51
57
|
jsi::Value get(jsi::Runtime&, const jsi::PropNameID& name) override;
|
|
52
58
|
void set(jsi::Runtime& runtime, const jsi::PropNameID& propNameId, const jsi::Value& value) override;
|
|
53
59
|
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override;
|
package/ios/UnistylesModule.mm
CHANGED
|
@@ -65,7 +65,7 @@ RCT_EXPORT_MODULE(Unistyles)
|
|
|
65
65
|
|
|
66
66
|
#pragma mark - Event emitter
|
|
67
67
|
- (NSArray<NSString *> *)supportedEvents {
|
|
68
|
-
return @[@"
|
|
68
|
+
return @[@"__unistylesOnChange"];
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
- (void)startObserving {
|
|
@@ -78,7 +78,7 @@ RCT_EXPORT_MODULE(Unistyles)
|
|
|
78
78
|
|
|
79
79
|
- (void)emitEvent:(NSString *)eventName withBody:(NSDictionary *)body {
|
|
80
80
|
if (self.hasListeners) {
|
|
81
|
-
[self sendEventWithName:@"
|
|
81
|
+
[self sendEventWithName:@"__unistylesOnChange" body:body];
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
|
|
@@ -127,15 +127,15 @@ void registerUnistylesHostObject(jsi::Runtime &runtime, UnistylesModule* weakSel
|
|
|
127
127
|
}
|
|
128
128
|
};
|
|
129
129
|
|
|
130
|
-
[weakSelf emitEvent:@"
|
|
130
|
+
[weakSelf emitEvent:@"__unistylesOnChange" withBody:body];
|
|
131
131
|
});
|
|
132
132
|
|
|
133
|
-
unistylesRuntime.get()->onLayoutChange([=](std::string breakpoint,
|
|
133
|
+
unistylesRuntime.get()->onLayoutChange([=](std::string breakpoint, std::string orientation, int width, int height) {
|
|
134
134
|
NSDictionary *body = @{
|
|
135
135
|
@"type": @"layout",
|
|
136
136
|
@"payload": @{
|
|
137
137
|
@"breakpoint": cxxStringToNSString(breakpoint),
|
|
138
|
-
@"orientation":
|
|
138
|
+
@"orientation": cxxStringToNSString(orientation),
|
|
139
139
|
@"screen": @{
|
|
140
140
|
@"width": @(width),
|
|
141
141
|
@"height": @(height)
|
|
@@ -143,7 +143,17 @@ void registerUnistylesHostObject(jsi::Runtime &runtime, UnistylesModule* weakSel
|
|
|
143
143
|
}
|
|
144
144
|
};
|
|
145
145
|
|
|
146
|
-
[weakSelf emitEvent:@"
|
|
146
|
+
[weakSelf emitEvent:@"__unistylesOnChange" withBody:body];
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
unistylesRuntime.get()->onPluginChange([=]() {
|
|
150
|
+
NSDictionary *body = @{
|
|
151
|
+
@"type": @"plugin"
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
|
155
|
+
[weakSelf emitEvent:@"__unistylesOnChange" withBody:body];
|
|
156
|
+
});
|
|
147
157
|
});
|
|
148
158
|
|
|
149
159
|
weakSelf.unistylesRuntime = unistylesRuntime.get();
|
package/lib/commonjs/common.js
CHANGED
|
@@ -3,24 +3,38 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
exports.warn = exports.isWeb = exports.isServer = exports.isMobile = exports.isIOS = exports.isAndroid = exports.UnistylesEventType = exports.UnistylesError = exports.ScreenOrientation = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const warn = message => {
|
|
9
|
+
console.warn(`🦄 [react-native-unistyles]: ${message}`);
|
|
10
|
+
};
|
|
11
|
+
exports.warn = warn;
|
|
12
|
+
const isWeb = exports.isWeb = _reactNative.Platform.OS === 'web';
|
|
13
|
+
const isIOS = exports.isIOS = _reactNative.Platform.OS === 'ios';
|
|
14
|
+
const isAndroid = exports.isAndroid = _reactNative.Platform.OS === 'android';
|
|
15
|
+
const isMobile = exports.isMobile = isIOS || isAndroid;
|
|
16
|
+
const isServer = exports.isServer = typeof window === 'undefined';
|
|
17
|
+
const ScreenOrientation = exports.ScreenOrientation = {
|
|
18
|
+
Landscape: 'landscape',
|
|
19
|
+
Portrait: 'portrait'
|
|
20
|
+
};
|
|
21
|
+
let UnistylesEventType = exports.UnistylesEventType = /*#__PURE__*/function (UnistylesEventType) {
|
|
22
|
+
UnistylesEventType["Theme"] = "theme";
|
|
23
|
+
UnistylesEventType["Layout"] = "layout";
|
|
24
|
+
UnistylesEventType["Plugin"] = "plugin";
|
|
25
|
+
return UnistylesEventType;
|
|
11
26
|
}({});
|
|
12
27
|
let UnistylesError = exports.UnistylesError = /*#__PURE__*/function (UnistylesError) {
|
|
13
|
-
UnistylesError["RuntimeUnavailable"] = "
|
|
14
|
-
UnistylesError["ThemeNotFound"] = "
|
|
15
|
-
UnistylesError["ThemeNotRegistered"] = "
|
|
16
|
-
UnistylesError["
|
|
17
|
-
UnistylesError["
|
|
18
|
-
UnistylesError["
|
|
28
|
+
UnistylesError["RuntimeUnavailable"] = "Unistyles runtime is not available. Make sure you followed the installation instructions";
|
|
29
|
+
UnistylesError["ThemeNotFound"] = "You are trying to get a theme that is not registered with UnistylesRegistry";
|
|
30
|
+
UnistylesError["ThemeNotRegistered"] = "You are trying to set a theme that was not registered with UnistylesRegistry";
|
|
31
|
+
UnistylesError["ThemeNotSelected"] = "Your themes are registered, but you didn't select the initial theme";
|
|
32
|
+
UnistylesError["ThemesCannotBeEmpty"] = "You are trying to register empty themes object";
|
|
33
|
+
UnistylesError["BreakpointsCannotBeEmpty"] = "You are trying to register empty breakpoints object";
|
|
34
|
+
UnistylesError["BreakpointsMustStartFromZero"] = "You are trying to register breakpoints that don't start from 0";
|
|
35
|
+
UnistylesError["InvalidPluginName"] = "Plugin name can't start from reserved prefix __unistyles";
|
|
36
|
+
UnistylesError["DuplicatePluginName"] = "You are trying to register a plugin with a name that is already registered";
|
|
37
|
+
UnistylesError["CantRemoveInternalPlugin"] = "You are trying to remove an internal unistyles plugin";
|
|
19
38
|
return UnistylesError;
|
|
20
|
-
}({}); // todo to string?
|
|
21
|
-
let ScreenOrientation = exports.ScreenOrientation = /*#__PURE__*/function (ScreenOrientation) {
|
|
22
|
-
ScreenOrientation[ScreenOrientation["Portrait"] = 1] = "Portrait";
|
|
23
|
-
ScreenOrientation[ScreenOrientation["Landscape"] = 2] = "Landscape";
|
|
24
|
-
return ScreenOrientation;
|
|
25
39
|
}({});
|
|
26
40
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNative","require","warn","message","console","exports","isWeb","Platform","OS","isIOS","isAndroid","isMobile","isServer","window","ScreenOrientation","Landscape","Portrait","UnistylesEventType","UnistylesError"],"sourceRoot":"../../src","sources":["common.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,IAAI,GAAIC,OAAe,IAAK;EACrCC,OAAO,CAACF,IAAI,CAAE,gCAA+BC,OAAQ,EAAC,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;AAE9C,MAAMC,iBAAiB,GAAAT,OAAA,CAAAS,iBAAA,GAAG;EAC7BC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE;AACd,CAAU;AAAA,IAEEC,kBAAkB,GAAAZ,OAAA,CAAAY,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAMlBC,cAAc,GAAAb,OAAA,CAAAa,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"}
|