react-native-unistyles 3.0.16 → 3.0.18
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 +8 -2
- package/cxx/core/HostUnistyle.cpp +10 -4
- package/cxx/core/HostUnistyle.h +4 -2
- package/cxx/hybridObjects/HybridStyleSheet.cpp +26 -15
- package/cxx/hybridObjects/HybridStyleSheet.h +4 -1
- package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
- package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
- package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts +4 -2
- package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +6 -0
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +1 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +2 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +5 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +2 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +2 -0
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +1 -0
- package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +3 -0
- package/nitrogen/generated/ios/swift/Dimensions.swift +1 -0
- package/nitrogen/generated/ios/swift/Func_void_UnistylesNativeMiniRuntime.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +7 -0
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec_cxx.swift +9 -1
- package/nitrogen/generated/ios/swift/Insets.swift +1 -0
- package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +1 -0
- package/package.json +3 -63
- package/plugin/index.js +23 -4
- package/src/core/withUnistyles/withUnistyles.native.tsx +8 -4
package/README.md
CHANGED
|
@@ -21,14 +21,14 @@ yarn add react-native-unistyles
|
|
|
21
21
|
Install dependencies:
|
|
22
22
|
|
|
23
23
|
```shell
|
|
24
|
-
yarn add react-native-edge-to-edge react-native-nitro-modules@0.31.
|
|
24
|
+
yarn add react-native-edge-to-edge react-native-nitro-modules@0.31.8
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
> To avoid unexpected behavior, always use a fixed version of `react-native-nitro-modules`
|
|
28
28
|
|
|
29
29
|
| react-native-unistyles | react-native-nitro-modules |
|
|
30
30
|
|------------------------|----------------------------|
|
|
31
|
-
| 3.0.0 | 0.31.
|
|
31
|
+
| 3.0.0 | 0.31.8 |
|
|
32
32
|
|
|
33
33
|
Then follow [installation guides](https://unistyl.es/v3/start/getting-started) for your platform.
|
|
34
34
|
|
|
@@ -74,6 +74,12 @@ Then follow [installation guides](https://unistyl.es/v3/start/getting-started) f
|
|
|
74
74
|
<a href="https://github.com/kerwanp">
|
|
75
75
|
<img src="https://avatars.githubusercontent.com/u/36955373?v=4" height="70px" width="70px" alt="kerwanp" />
|
|
76
76
|
</a>
|
|
77
|
+
<a href="https://github.com/rauchg">
|
|
78
|
+
<img src="https://avatars.githubusercontent.com/u/13041?v=4" height="70px" width="70px" alt="rauchg" />
|
|
79
|
+
</a>
|
|
80
|
+
<a href="https://github.com/oliverloops">
|
|
81
|
+
<img src="https://avatars.githubusercontent.com/u/33361399?v=4" height="70px" width="70px" alt="oliverloops" />
|
|
82
|
+
</a>
|
|
77
83
|
|
|
78
84
|
## Past sponsors
|
|
79
85
|
|
|
@@ -17,6 +17,12 @@ std::vector<jsi::PropNameID> HostUnistyle::getPropertyNames(jsi::Runtime& rt) {
|
|
|
17
17
|
return propertyNames;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
HostUnistyle::~HostUnistyle() {
|
|
21
|
+
if (this->_ownsStyleSheet) {
|
|
22
|
+
this->_stylesheet->unistyles.clear();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
20
26
|
jsi::Value HostUnistyle::get(jsi::Runtime& rt, const jsi::PropNameID& propNameId) {
|
|
21
27
|
auto propertyName = propNameId.utf8(rt);
|
|
22
28
|
|
|
@@ -92,23 +98,23 @@ jsi::Function HostUnistyle::createAddVariantsProxyFunction(jsi::Runtime& rt) {
|
|
|
92
98
|
this->_stylesheet->type,
|
|
93
99
|
jsi::Value(rt, this->_stylesheet->rawValue).asObject(rt)
|
|
94
100
|
);
|
|
95
|
-
|
|
101
|
+
|
|
96
102
|
parser.buildUnistyles(rt, stylesheetCopy);
|
|
97
103
|
parser.parseUnistyles(rt, stylesheetCopy);
|
|
98
|
-
|
|
104
|
+
|
|
99
105
|
helpers::enumerateJSIObject(rt, thisVal.asObject(rt), [this, &parser, &rt, &variants, stylesheetCopy](const std::string& name, jsi::Value& value){
|
|
100
106
|
if (name == helpers::ADD_VARIANTS_FN || !stylesheetCopy->unistyles.contains(name)) {
|
|
101
107
|
return;
|
|
102
108
|
}
|
|
103
109
|
|
|
104
110
|
auto unistyle = stylesheetCopy->unistyles[name];
|
|
105
|
-
|
|
111
|
+
|
|
106
112
|
if (unistyle->dependsOn(UnistyleDependency::VARIANTS)) {
|
|
107
113
|
parser.rebuildUnistyle(rt, unistyle, variants, std::nullopt);
|
|
108
114
|
}
|
|
109
115
|
});
|
|
110
116
|
|
|
111
|
-
auto style = std::make_shared<core::HostUnistyle>(stylesheetCopy, this->_unistylesRuntime, variants);
|
|
117
|
+
auto style = std::make_shared<core::HostUnistyle>(stylesheetCopy, this->_unistylesRuntime, variants, true);
|
|
112
118
|
auto styleHostObject = jsi::Object::createFromHostObject(rt, style);
|
|
113
119
|
|
|
114
120
|
return styleHostObject;
|
package/cxx/core/HostUnistyle.h
CHANGED
|
@@ -9,8 +9,9 @@ namespace margelo::nitro::unistyles::core {
|
|
|
9
9
|
using Variants = std::vector<std::pair<std::string, std::string>>;
|
|
10
10
|
|
|
11
11
|
struct JSI_EXPORT HostUnistyle : public jsi::HostObject {
|
|
12
|
-
HostUnistyle(std::shared_ptr<StyleSheet> stylesheet, std::shared_ptr<HybridUnistylesRuntime> unistylesRuntime, Variants& variants)
|
|
13
|
-
: _stylesheet(stylesheet), _unistylesRuntime{unistylesRuntime}, _variants{std::move(variants)} {};
|
|
12
|
+
HostUnistyle(std::shared_ptr<StyleSheet> stylesheet, std::shared_ptr<HybridUnistylesRuntime> unistylesRuntime, Variants& variants, bool ownsStyleSheet = false)
|
|
13
|
+
: _stylesheet(stylesheet), _unistylesRuntime{unistylesRuntime}, _variants{std::move(variants)}, _ownsStyleSheet(ownsStyleSheet) {};
|
|
14
|
+
~HostUnistyle();
|
|
14
15
|
|
|
15
16
|
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& rt);
|
|
16
17
|
jsi::Value get(jsi::Runtime& rt, const jsi::PropNameID& propNameId);
|
|
@@ -19,6 +20,7 @@ struct JSI_EXPORT HostUnistyle : public jsi::HostObject {
|
|
|
19
20
|
jsi::Function createAddVariantsProxyFunction(jsi::Runtime& rt);
|
|
20
21
|
|
|
21
22
|
private:
|
|
23
|
+
bool _ownsStyleSheet;
|
|
22
24
|
Variants _variants;
|
|
23
25
|
std::shared_ptr<StyleSheet> _stylesheet;
|
|
24
26
|
std::shared_ptr<HybridUnistylesRuntime> _unistylesRuntime;
|
|
@@ -251,9 +251,9 @@ void HybridStyleSheet::loadExternalMethods(const jsi::Value& thisValue, jsi::Run
|
|
|
251
251
|
auto maybeProcessColorFn = jsMethods.asObject(rt).getProperty(rt, "processColor");
|
|
252
252
|
|
|
253
253
|
helpers::assertThat(rt, maybeProcessColorFn.isObject(), "Unistyles: Can't load processColor function from JS.");
|
|
254
|
-
|
|
254
|
+
|
|
255
255
|
auto maybeParseBoxShadowStringFn = jsMethods.asObject(rt).getProperty(rt, "parseBoxShadowString");
|
|
256
|
-
|
|
256
|
+
|
|
257
257
|
helpers::assertThat(rt, maybeParseBoxShadowStringFn.isObject(), "Unistyles: Can't load parseBoxShadowString function from JS.");
|
|
258
258
|
|
|
259
259
|
auto processColorFn = maybeProcessColorFn.asObject(rt).asFunction(rt);
|
|
@@ -386,25 +386,36 @@ void HybridStyleSheet::onImeChange(UnistylesNativeMiniRuntime miniRuntime) {
|
|
|
386
386
|
}
|
|
387
387
|
|
|
388
388
|
void HybridStyleSheet::notifyJSListeners(std::vector<UnistyleDependency>& dependencies) {
|
|
389
|
-
if (
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
389
|
+
if (dependencies.empty()) {
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
std::vector<std::function<void(std::vector<UnistyleDependency>&)>> callbacks;
|
|
394
|
+
{
|
|
395
|
+
std::lock_guard<std::mutex> lock(this->_listenersMutex);
|
|
396
|
+
callbacks.reserve(this->_changeListeners.size());
|
|
397
|
+
|
|
398
|
+
for (auto& [id, listener] : this->_changeListeners) {
|
|
399
|
+
callbacks.push_back(*listener);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
for (auto& callback : callbacks) {
|
|
404
|
+
callback(dependencies);
|
|
393
405
|
}
|
|
394
406
|
}
|
|
395
407
|
|
|
396
408
|
std::function<void ()> HybridStyleSheet::addChangeListener(const std::function<void (const std::vector<UnistyleDependency>&)>& onChanged) {
|
|
397
|
-
|
|
409
|
+
static size_t nextListenerId = 0;
|
|
398
410
|
|
|
399
|
-
|
|
411
|
+
std::lock_guard<std::mutex> lock(this->_listenersMutex);
|
|
400
412
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
});
|
|
413
|
+
size_t id = nextListenerId++;
|
|
414
|
+
auto listener = std::make_unique<std::function<void(std::vector<UnistyleDependency>&)>>(onChanged);
|
|
415
|
+
this->_changeListeners[id] = std::move(listener);
|
|
405
416
|
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
417
|
+
return [this, id](){
|
|
418
|
+
std::lock_guard<std::mutex> lock(this->_listenersMutex);
|
|
419
|
+
this->_changeListeners.erase(id);
|
|
409
420
|
};
|
|
410
421
|
}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
#include <cmath>
|
|
4
4
|
#include <jsi/jsi.h>
|
|
5
|
+
#include <mutex>
|
|
6
|
+
#include <unordered_map>
|
|
5
7
|
#include "HybridUnistylesRuntime.h"
|
|
6
8
|
#include "HybridUnistylesStyleSheetSpec.hpp"
|
|
7
9
|
#include "RNStyle.h"
|
|
@@ -72,7 +74,8 @@ private:
|
|
|
72
74
|
|
|
73
75
|
bool isInitialized = false;
|
|
74
76
|
double __unid = -1;
|
|
75
|
-
std::
|
|
77
|
+
std::unordered_map<size_t, std::unique_ptr<std::function<void(std::vector<UnistyleDependency>&)>>> _changeListeners{};
|
|
78
|
+
std::mutex _listenersMutex;
|
|
76
79
|
std::shared_ptr<HybridUnistylesRuntime> _unistylesRuntime;
|
|
77
80
|
std::shared_ptr<UIManager> _uiManager;
|
|
78
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_specs","_utils","_useProxifiedUnistyles","_warn","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withUnistyles","Component","mappings","getSecrets","styleProps","styles","Array","isArray","flat","secrets","filter","Boolean","reduce","acc","style","unistyleKey","keys","find","key","startsWith","concat","uni__getStyles","uni__dependencies","secret","assign","dependencies","flatMap","forwardRef","props","ref","narrowedProps","NativeComponent","maybeWarnAboutMultipleUnistyles","displayName","name","contentContainerStyle","scopedTheme","useRef","UnistylesShadowRegistry","getScopedTheme","proxifiedRuntime","proxifiedTheme","addDependencies","useProxifiedUnistyles","current","useEffect","styleSecrets","contentContainerStyleSecrets","from","Set","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","uniProps","finalProps","deepMergeObjects","jsx","exports"],"sourceRoot":"../../../../src","sources":["core/withUnistyles/withUnistyles.native.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAAyD,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGzD;;AAEA;;AAaO,MAAMkB,aAAa,GAAGA,CAAkEC,SAAqB,EAAEC,QAA8B,KAAK;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_specs","_utils","_useProxifiedUnistyles","_warn","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withUnistyles","Component","mappings","getSecrets","styleProps","styles","Array","isArray","flat","secrets","filter","Boolean","reduce","acc","style","unistyleKey","keys","find","key","startsWith","concat","uni__getStyles","uni__dependencies","secret","assign","dependencies","flatMap","forwardRef","props","ref","narrowedProps","NativeComponent","maybeWarnAboutMultipleUnistyles","displayName","name","contentContainerStyle","scopedTheme","useRef","UnistylesShadowRegistry","getScopedTheme","proxifiedRuntime","proxifiedTheme","addDependencies","useProxifiedUnistyles","current","useEffect","styleSecrets","contentContainerStyleSecrets","from","Set","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","uniProps","finalProps","deepMergeObjects","jsx","exports"],"sourceRoot":"../../../../src","sources":["core/withUnistyles/withUnistyles.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useEffect","useRef","UnistylesShadowRegistry","deepMergeObjects","useProxifiedUnistyles","maybeWarnAboutMultipleUnistyles","jsx","_jsx","withUnistyles","Component","mappings","getSecrets","styleProps","styles","Array","isArray","flat","secrets","filter","Boolean","reduce","acc","style","unistyleKey","Object","keys","find","key","startsWith","concat","uni__getStyles","uni__dependencies","secret","assign","dependencies","flatMap","props","ref","narrowedProps","NativeComponent","displayName","name","contentContainerStyle","scopedTheme","getScopedTheme","proxifiedRuntime","proxifiedTheme","addDependencies","current","styleSecrets","contentContainerStyleSecrets","from","Set","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","uniProps","finalProps"],"sourceRoot":"../../../../src","sources":["core/withUnistyles/withUnistyles.native.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useEffect","useRef","UnistylesShadowRegistry","deepMergeObjects","useProxifiedUnistyles","maybeWarnAboutMultipleUnistyles","jsx","_jsx","withUnistyles","Component","mappings","getSecrets","styleProps","styles","Array","isArray","flat","secrets","filter","Boolean","reduce","acc","style","unistyleKey","Object","keys","find","key","startsWith","concat","uni__getStyles","uni__dependencies","secret","assign","dependencies","flatMap","props","ref","narrowedProps","NativeComponent","displayName","name","contentContainerStyle","scopedTheme","getScopedTheme","proxifiedRuntime","proxifiedTheme","addDependencies","current","styleSecrets","contentContainerStyleSecrets","from","Set","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","uniProps","finalProps"],"sourceRoot":"../../../../src","sources":["core/withUnistyles/withUnistyles.native.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAoE,OAAO;AACxH,SAAkCC,uBAAuB,QAAQ,aAAa;AAE9E,SAASC,gBAAgB,QAAQ,aAAa;AAC9C,SAASC,qBAAqB,QAAQ,0BAA0B;AAChE,SAASC,+BAA+B,QAAQ,SAAS;;AAGzD;;AAEA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAaA,OAAO,MAAMC,aAAa,GAAGA,CAAkEC,SAAqB,EAAEC,QAA8B,KAAK;EAUrJ,MAAMC,UAAU,GAAGA,CAACC,UAA+B,GAAG,CAAC,CAAC,KAAoB;IACxE,MAAMC,MAAM,GAAGC,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,GAClCA,UAAU,CAACI,IAAI,CAAC,CAAC,GACjB,CAACJ,UAAU,CAAC;IAElB,MAAMK,OAAgC,GAAGJ,MAAM,CAC1CK,MAAM,CAACC,OAAO,CAAC,CACfC,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;MACpB,MAAMC,WAAW,GAAGC,MAAM,CACrBC,IAAI,CAACH,KAAK,CAAC,CACXI,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,UAAU,CAAC,YAAY,CAAC,CAAC;MAE9C,OAAOP,GAAG,CAACQ,MAAM,CAAC,CACdN,WAAW,GACLD,KAAK,CAACC,WAAW,CAAC,GAClB;QACEO,cAAc,EAAEA,CAAA,KAAMR,KAAK;QAC3BS,iBAAiB,EAAE;MACvB,CAAC,CACR,CAAC;IACN,CAAC,EAAE,EAAE,CAAC;IAEV,OAAO;MACHlB,MAAM,EAAEI,OAAO,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEW,MAAM,KAAKR,MAAM,CACzCS,MAAM,CAACZ,GAAG,EAAEW,MAAM,CAACF,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAwB,CAAC;MACrEI,YAAY,EAAEjB,OAAO,CAACkB,OAAO,CAACH,MAAM,IAAIA,MAAM,CAACD,iBAAiB;IACpE,CAAC;EACL,CAAC;EAED,oBAAOhC,UAAU,CAAsD,CAACqC,KAAK,EAAEC,GAAG,KAAK;IACnF,MAAMC,aAAa,GAAGF,KAA4C;IAClE,MAAMG,eAAe,GAAG9B,SAA0B;;IAElD;IACAJ,+BAA+B,CAACiC,aAAa,CAAChB,KAAK,EAAE,iBAAiBb,SAAS,CAAC+B,WAAW,IAAI/B,SAAS,CAACgC,IAAI,IAAI,SAAS,GAAG,CAAC;IAC9H;IACApC,+BAA+B,CAACiC,aAAa,CAACI,qBAAqB,EAAE,iBAAiBjC,SAAS,CAAC+B,WAAW,IAAI/B,SAAS,CAACgC,IAAI,IAAI,SAAS,GAAG,CAAC;IAE9I,MAAME,WAAW,GAAG1C,MAAM,CAACC,uBAAuB,CAAC0C,cAAc,CAAC,CAAmB,CAAC;IACtF,MAAM;MAAEC,gBAAgB;MAAEC,cAAc;MAAEC;IAAgB,CAAC,GAAG3C,qBAAqB,CAACuC,WAAW,CAACK,OAAO,CAAC;IAExGhD,SAAS,CAAC,MAAM;MACZ,MAAMiD,YAAY,GAAGtC,UAAU,CAAC2B,aAAa,CAAChB,KAAK,CAAC;MACpD,MAAM4B,4BAA4B,GAAGvC,UAAU,CAAC2B,aAAa,CAACI,qBAAqB,CAAC;MAEpFK,eAAe,CAACjC,KAAK,CAACqC,IAAI,CAAC,IAAIC,GAAG,CAAC,CAAC,GAAGH,YAAY,CAACf,YAAY,EAAE,GAAGgB,4BAA4B,CAAChB,YAAY,CAAC,CAAC,CAAC,CAAC;IACtH,CAAC,EAAE,CAACI,aAAa,CAAChB,KAAK,EAAEgB,aAAa,CAACI,qBAAqB,CAAC,CAAC;IAE9D,MAAM;MAAEf,GAAG,EAAE0B,WAAW;MAAE,GAAGC;IAAc,CAAC,GAAG5C,QAAQ,GAAGA,QAAQ,CAACoC,cAAc,EAAED,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzG,MAAM;MAAElB,GAAG,EAAE4B,WAAW;MAAE,GAAGC;IAAc,CAAC,GAAGlB,aAAa,CAACmB,QAAQ,GAAGnB,aAAa,CAACmB,QAAQ,CAACX,cAAc,EAAED,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAErI,MAAMI,YAAY,GAAGtC,UAAU,CAAC2B,aAAa,CAAChB,KAAK,CAAC;IACpD,MAAM4B,4BAA4B,GAAGvC,UAAU,CAAC2B,aAAa,CAACI,qBAAqB,CAAC;IAEpF,MAAMgB,UAAU,GAAG;MACf,GAAGvD,gBAAgB,CAACmD,aAAa,EAAEE,aAAa,EAAEpB,KAAK,CAAC;MACxD,IAAGE,aAAa,CAAChB,KAAK,GAAG;QACrBA,KAAK,EAAE2B,YAAY,CAACpC;MACxB,CAAC,GAAG,CAAC,CAAC;MACN,IAAGyB,aAAa,CAACI,qBAAqB,GAAG;QACrCA,qBAAqB,EAAEQ,4BAA4B,CAACrC;MACxD,CAAC,GAAG,CAAC,CAAC;IACV,CAAQ;IAER,oBACIN,IAAA,CAACgC,eAAe;MAAA,GAERmB,UAAU;MACdrB,GAAG,EAAEA;IAAI,GAFJkB,WAAW,IAAIF,WAGvB,CAAC;EAEV,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { type ComponentProps } from 'react';
|
|
2
2
|
import type { Mappings } from './types';
|
|
3
3
|
type GenericComponentProps<P> = ComponentProps<P>;
|
|
4
|
-
export declare const withUnistyles: <TComponent, TMappings extends GenericComponentProps<TComponent>>(Component: TComponent, mappings?: Mappings<TMappings>) => React.ForwardRefExoticComponent<
|
|
4
|
+
export declare const withUnistyles: <TComponent, TMappings extends GenericComponentProps<TComponent>>(Component: TComponent, mappings?: Mappings<TMappings>) => React.ForwardRefExoticComponent<React.PropsWithoutRef<Partial<React.ComponentProps<TComponent>> & {
|
|
5
|
+
uniProps?: Mappings<React.ComponentProps<TComponent>>;
|
|
6
|
+
}> & React.RefAttributes<React.ComponentRef<TComponent>>>;
|
|
5
7
|
export {};
|
|
6
8
|
//# sourceMappingURL=withUnistyles.native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withUnistyles.native.d.ts","sourceRoot":"","sources":["../../../../../src/core/withUnistyles/withUnistyles.native.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"withUnistyles.native.d.ts","sourceRoot":"","sources":["../../../../../src/core/withUnistyles/withUnistyles.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiC,KAAK,cAAc,EAAyC,MAAM,OAAO,CAAA;AAMxH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,KAAK,qBAAqB,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAA;AAcjD,eAAO,MAAM,aAAa,GAAI,UAAU,EAAE,SAAS,SAAS,qBAAqB,CAAC,UAAU,CAAC,EAAE,WAAW,UAAU,EAAE,WAAW,QAAQ,CAAC,SAAS,CAAC;eAGjI,QAAQ,kCAAQ;yDA+ElC,CAAA"}
|
|
@@ -47,7 +47,8 @@ namespace margelo::nitro::unistyles {
|
|
|
47
47
|
jni::local_ref<jni::JArrayClass<JUnistyleDependency>> __array = jni::JArrayClass<JUnistyleDependency>::newArray(__size);
|
|
48
48
|
for (size_t __i = 0; __i < __size; __i++) {
|
|
49
49
|
const auto& __element = dependencies[__i];
|
|
50
|
-
|
|
50
|
+
auto __elementJni = JUnistyleDependency::fromCpp(__element);
|
|
51
|
+
__array->setElement(__i, *__elementJni);
|
|
51
52
|
}
|
|
52
53
|
return __array;
|
|
53
54
|
}(), JUnistylesNativeMiniRuntime::fromCpp(miniRuntime));
|
|
@@ -60,6 +60,12 @@ namespace margelo::nitro::unistyles {
|
|
|
60
60
|
method(_javaPart);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
std::string JHybridNativePlatformSpec::toString() {
|
|
64
|
+
static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
|
|
65
|
+
auto javaString = method(_javaPart);
|
|
66
|
+
return javaString->toStdString();
|
|
67
|
+
}
|
|
68
|
+
|
|
63
69
|
// Properties
|
|
64
70
|
|
|
65
71
|
|
|
@@ -41,6 +41,7 @@ namespace margelo::nitro::unistyles {
|
|
|
41
41
|
public:
|
|
42
42
|
size_t getExternalMemorySize() noexcept override;
|
|
43
43
|
void dispose() noexcept override;
|
|
44
|
+
std::string toString() override;
|
|
44
45
|
|
|
45
46
|
public:
|
|
46
47
|
inline const jni::global_ref<JHybridNativePlatformSpec::javaobject>& getJavaPart() const noexcept {
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt
CHANGED
|
@@ -36,6 +36,11 @@ abstract class HybridNativePlatformSpec: HybridObject() {
|
|
|
36
36
|
super.updateNative(hybridData)
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
// Default implementation of `HybridObject.toString()`
|
|
40
|
+
override fun toString(): String {
|
|
41
|
+
return "[HybridObject NativePlatform]"
|
|
42
|
+
}
|
|
43
|
+
|
|
39
44
|
// Properties
|
|
40
45
|
|
|
41
46
|
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
|
+
import Foundation
|
|
8
9
|
import NitroModules
|
|
9
10
|
|
|
10
|
-
|
|
11
11
|
/**
|
|
12
12
|
* Wraps a Swift `(_ miniRuntime: UnistylesNativeMiniRuntime) -> Void` as a class.
|
|
13
13
|
* This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
|
+
import Foundation
|
|
8
9
|
import NitroModules
|
|
9
10
|
|
|
10
|
-
|
|
11
11
|
/**
|
|
12
12
|
* Wraps a Swift `(_ dependencies: [UnistyleDependency], _ miniRuntime: UnistylesNativeMiniRuntime) -> Void` as a class.
|
|
13
13
|
* This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
|
|
@@ -34,6 +34,13 @@ public protocol HybridNativePlatformSpec_protocol: HybridObject {
|
|
|
34
34
|
func unregisterPlatformListeners() throws -> Void
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
public extension HybridNativePlatformSpec_protocol {
|
|
38
|
+
/// Default implementation of ``HybridObject.toString``
|
|
39
|
+
func toString() -> String {
|
|
40
|
+
return "[HybridObject NativePlatform]"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
37
44
|
/// See ``HybridNativePlatformSpec``
|
|
38
45
|
open class HybridNativePlatformSpec_base {
|
|
39
46
|
private weak var cxxWrapper: HybridNativePlatformSpec_cxx? = nil
|
|
@@ -76,7 +76,7 @@ open class HybridNativePlatformSpec_cxx {
|
|
|
76
76
|
*/
|
|
77
77
|
public func getCxxPart() -> bridge.std__shared_ptr_HybridNativePlatformSpec_ {
|
|
78
78
|
let cachedCxxPart = self.__cxxPart.lock()
|
|
79
|
-
if cachedCxxPart
|
|
79
|
+
if Bool(fromCxx: cachedCxxPart) {
|
|
80
80
|
return cachedCxxPart
|
|
81
81
|
} else {
|
|
82
82
|
let newCxxPart = bridge.create_std__shared_ptr_HybridNativePlatformSpec_(self.toUnsafe())
|
|
@@ -105,6 +105,14 @@ open class HybridNativePlatformSpec_cxx {
|
|
|
105
105
|
self.__implementation.dispose()
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
/**
|
|
109
|
+
* Call toString() on the Swift class.
|
|
110
|
+
*/
|
|
111
|
+
@inline(__always)
|
|
112
|
+
public func toString() -> String {
|
|
113
|
+
return self.__implementation.toString()
|
|
114
|
+
}
|
|
115
|
+
|
|
108
116
|
// Properties
|
|
109
117
|
|
|
110
118
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-unistyles",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.18",
|
|
4
4
|
"description": "Level up your React Native StyleSheet",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "NODE_ENV=babel-test jest ./plugin",
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
"check:ci": "biome check",
|
|
12
12
|
"prepare": "husky && bob build && yarn plugin:build && yarn repack:plugin:build",
|
|
13
13
|
"precommit": "concurrently 'yarn tsc' 'yarn lint' 'yarn check' 'yarn test' 'yarn circular:check'",
|
|
14
|
-
"release": "release-it",
|
|
15
14
|
"plugin:build": "node plugin/esbuild.js",
|
|
16
15
|
"repack:plugin:build": "node repack-plugin/esbuild.js",
|
|
17
16
|
"circular:check": "dpdm --no-warning --no-tree -T --exit-code circular:1 src/**/*.ts",
|
|
@@ -136,7 +135,6 @@
|
|
|
136
135
|
"@callstack/repack": "5.1.0",
|
|
137
136
|
"@commitlint/config-conventional": "19.8.1",
|
|
138
137
|
"@react-native/normalize-colors": "0.79.2",
|
|
139
|
-
"@release-it/conventional-changelog": "8.0.2",
|
|
140
138
|
"@rspack/core": "1.3.10",
|
|
141
139
|
"@types/jest": "29.5.14",
|
|
142
140
|
"@types/react": "19.1.4",
|
|
@@ -148,15 +146,14 @@
|
|
|
148
146
|
"husky": "9.1.7",
|
|
149
147
|
"jest": "29.7.0",
|
|
150
148
|
"metro-react-native-babel-preset": "0.77.0",
|
|
151
|
-
"nitrogen": "0.31.
|
|
149
|
+
"nitrogen": "0.31.8",
|
|
152
150
|
"react": "19.1.0",
|
|
153
151
|
"react-native": "0.79.2",
|
|
154
152
|
"react-native-builder-bob": "0.40.10",
|
|
155
|
-
"react-native-nitro-modules": "0.31.
|
|
153
|
+
"react-native-nitro-modules": "0.31.8",
|
|
156
154
|
"react-native-reanimated": "3.17.5",
|
|
157
155
|
"react-native-web": "0.20.0",
|
|
158
156
|
"react-test-renderer": "19.1.0",
|
|
159
|
-
"release-it": "17.11.0",
|
|
160
157
|
"typescript": "5.8.3"
|
|
161
158
|
},
|
|
162
159
|
"peerDependencies": {
|
|
@@ -200,63 +197,6 @@
|
|
|
200
197
|
"@commitlint/config-conventional"
|
|
201
198
|
]
|
|
202
199
|
},
|
|
203
|
-
"release-it": {
|
|
204
|
-
"git": {
|
|
205
|
-
"commitMessage": "chore: release ${version}",
|
|
206
|
-
"tagName": "v${version}"
|
|
207
|
-
},
|
|
208
|
-
"npm": {
|
|
209
|
-
"publish": true
|
|
210
|
-
},
|
|
211
|
-
"github": {
|
|
212
|
-
"release": true
|
|
213
|
-
},
|
|
214
|
-
"plugins": {
|
|
215
|
-
"@release-it/conventional-changelog": {
|
|
216
|
-
"writerOpts": {
|
|
217
|
-
"groupBy": "type",
|
|
218
|
-
"commitGroupsSort": [
|
|
219
|
-
"feat",
|
|
220
|
-
"fix",
|
|
221
|
-
"perf",
|
|
222
|
-
"refactor",
|
|
223
|
-
"docs",
|
|
224
|
-
"chore"
|
|
225
|
-
],
|
|
226
|
-
"commitsSort": [
|
|
227
|
-
"scope",
|
|
228
|
-
"subject"
|
|
229
|
-
]
|
|
230
|
-
},
|
|
231
|
-
"types": [
|
|
232
|
-
{
|
|
233
|
-
"type": "feat",
|
|
234
|
-
"section": "Features"
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
"type": "fix",
|
|
238
|
-
"section": "Bug Fixes"
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
"type": "perf",
|
|
242
|
-
"section": "Performance Improvements"
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
"type": "refactor",
|
|
246
|
-
"section": "Code Refactoring"
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
"type": "docs",
|
|
250
|
-
"section": "Documentation"
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
"type": "chore",
|
|
254
|
-
"section": "Maintenance"
|
|
255
|
-
}
|
|
256
|
-
]
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
},
|
|
260
200
|
"react-native-builder-bob": {
|
|
261
201
|
"source": "src",
|
|
262
202
|
"output": "lib",
|
package/plugin/index.js
CHANGED
|
@@ -355,14 +355,33 @@ function isKindOfStyleSheet(path2, state) {
|
|
|
355
355
|
if (path2.node.arguments.length !== 1) {
|
|
356
356
|
return false;
|
|
357
357
|
}
|
|
358
|
-
|
|
358
|
+
const { callee } = path2.node;
|
|
359
|
+
const isCreateCall = t4.isMemberExpression(callee) && t4.isIdentifier(callee.property) && callee.property.name === "create" && (t4.isIdentifier(callee.object) || t4.isMemberExpression(callee.object));
|
|
360
|
+
if (!isCreateCall) {
|
|
359
361
|
return false;
|
|
360
362
|
}
|
|
361
|
-
|
|
363
|
+
const argument = path2.node.arguments[0];
|
|
364
|
+
if (t4.isArrowFunctionExpression(argument)) {
|
|
365
|
+
if (argument.params.length > 2) {
|
|
366
|
+
return false;
|
|
367
|
+
}
|
|
368
|
+
if (t4.isObjectExpression(argument.body) && argument.body.properties.length > 0) {
|
|
369
|
+
return true;
|
|
370
|
+
}
|
|
371
|
+
if (t4.isBlockStatement(argument.body)) {
|
|
372
|
+
const returnStatements = getReturnStatementsFromBody(argument.body);
|
|
373
|
+
return returnStatements.some(
|
|
374
|
+
(ret) => ret.argument && t4.isObjectExpression(ret.argument) && ret.argument.properties.length > 0
|
|
375
|
+
);
|
|
376
|
+
}
|
|
362
377
|
return false;
|
|
363
378
|
}
|
|
364
|
-
|
|
365
|
-
|
|
379
|
+
if (t4.isObjectExpression(argument)) {
|
|
380
|
+
return argument.properties.some(
|
|
381
|
+
(property) => t4.isObjectProperty(property) && t4.isObjectExpression(property.value)
|
|
382
|
+
);
|
|
383
|
+
}
|
|
384
|
+
return false;
|
|
366
385
|
}
|
|
367
386
|
function addStyleSheetTag(path2, state) {
|
|
368
387
|
const str = state.filename?.replace(state.cwd, "") ?? "";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, { forwardRef, useEffect, type
|
|
1
|
+
import React, { forwardRef, useEffect, useRef, type ComponentProps, type ComponentRef, type ComponentType } from 'react'
|
|
2
2
|
import { type UnistyleDependency, UnistylesShadowRegistry } from '../../specs'
|
|
3
|
-
import type { UnistylesTheme } from '../../types'
|
|
3
|
+
import type { UnistylesTheme, UnistylesValues } from '../../types'
|
|
4
4
|
import { deepMergeObjects } from '../../utils'
|
|
5
5
|
import { useProxifiedUnistyles } from '../useProxifiedUnistyles'
|
|
6
6
|
import { maybeWarnAboutMultipleUnistyles } from '../warn'
|
|
@@ -26,6 +26,10 @@ export const withUnistyles = <TComponent, TMappings extends GenericComponentProp
|
|
|
26
26
|
type PropsWithUnistyles = Partial<TProps> & {
|
|
27
27
|
uniProps?: Mappings<TProps>
|
|
28
28
|
}
|
|
29
|
+
type UnistyleStyles = {
|
|
30
|
+
style?: UnistylesValues,
|
|
31
|
+
contentContainerStyle?: UnistylesValues
|
|
32
|
+
}
|
|
29
33
|
|
|
30
34
|
const getSecrets = (styleProps: Record<string, any> = {}): MappedSecrets => {
|
|
31
35
|
const styles = Array.isArray(styleProps)
|
|
@@ -57,7 +61,7 @@ export const withUnistyles = <TComponent, TMappings extends GenericComponentProp
|
|
|
57
61
|
}
|
|
58
62
|
|
|
59
63
|
return forwardRef<GenericComponentRef<TComponent>, PropsWithUnistyles>((props, ref) => {
|
|
60
|
-
const narrowedProps = props as PropsWithUnistyles
|
|
64
|
+
const narrowedProps = props as PropsWithUnistyles & UnistyleStyles
|
|
61
65
|
const NativeComponent = Component as ComponentType
|
|
62
66
|
|
|
63
67
|
// @ts-ignore we don't know the type of the component
|
|
@@ -94,7 +98,7 @@ export const withUnistyles = <TComponent, TMappings extends GenericComponentProp
|
|
|
94
98
|
return (
|
|
95
99
|
<NativeComponent
|
|
96
100
|
key={uniPropsKey || mappingsKey}
|
|
97
|
-
{...finalProps
|
|
101
|
+
{...finalProps}
|
|
98
102
|
ref={ref}
|
|
99
103
|
/>
|
|
100
104
|
)
|