react-native-unistyles 3.0.0-nightly-20250603 → 3.0.0-nightly-20250604
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 +1 -1
- package/cxx/core/UnistylesState.cpp +10 -0
- package/cxx/core/UnistylesState.h +3 -0
- package/cxx/hybridObjects/HybridStyleSheet.cpp +6 -0
- package/cxx/parser/Parser.cpp +14 -0
- package/cxx/parser/Parser.h +1 -0
- package/lib/commonjs/core/parseBoxShadow.js +51 -0
- package/lib/commonjs/core/parseBoxShadow.js.map +1 -0
- package/lib/commonjs/mocks.js +2 -1
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/specs/StyleSheet/index.js +3 -1
- package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
- package/lib/module/core/parseBoxShadow.js +46 -0
- package/lib/module/core/parseBoxShadow.js.map +1 -0
- package/lib/module/mocks.js +2 -1
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/specs/StyleSheet/index.js +3 -1
- package/lib/module/specs/StyleSheet/index.js.map +1 -1
- package/lib/typescript/src/core/parseBoxShadow.d.ts +11 -0
- package/lib/typescript/src/core/parseBoxShadow.d.ts.map +1 -0
- package/lib/typescript/src/specs/StyleSheet/index.d.ts +2 -0
- package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/parseBoxShadow.ts +76 -0
- package/src/mocks.ts +2 -1
- package/src/specs/StyleSheet/index.ts +5 -2
package/README.md
CHANGED
@@ -29,7 +29,7 @@ yarn add react-native-edge-to-edge react-native-nitro-modules@0.25.2
|
|
29
29
|
| react-native-unistyles | react-native-nitro-modules | other requirements |
|
30
30
|
|------------------------|----------------------------|----- |
|
31
31
|
| 3.0.0-nightly-20250520 | 0.25.2 |
|
32
|
-
| 3.0.0-nightly-
|
32
|
+
| 3.0.0-nightly-20250603 | 0.25.2 | React >= 19 and React Native >= 0.78 |
|
33
33
|
| 3.0.0-rc.4 | 0.25.2 | |
|
34
34
|
|
35
35
|
Then follow [installation guides](https://unistyl.es/v3/start/getting-started) for your platform.
|
@@ -95,6 +95,10 @@ void core::UnistylesState::registerProcessColorFunction(jsi::Function&& fn) {
|
|
95
95
|
this->_processColorFn = std::make_shared<jsi::Function>(std::move(fn));
|
96
96
|
}
|
97
97
|
|
98
|
+
void core::UnistylesState::registerParseBoxShadowString(jsi::Function&& fn) {
|
99
|
+
this->_parseBoxShadowStringFn = std::make_shared<jsi::Function>(std::move(fn));
|
100
|
+
}
|
101
|
+
|
98
102
|
int core::UnistylesState::parseColor(jsi::Value& maybeColor) {
|
99
103
|
if (!maybeColor.isString()) {
|
100
104
|
return 0;
|
@@ -114,3 +118,9 @@ int core::UnistylesState::parseColor(jsi::Value& maybeColor) {
|
|
114
118
|
|
115
119
|
return this->_colorCache[colorString.utf8(*_rt).c_str()];
|
116
120
|
}
|
121
|
+
|
122
|
+
jsi::Array core::UnistylesState::parseBoxShadowString(std::string&& boxShadowString) {
|
123
|
+
jsi::Value result = this->_parseBoxShadowStringFn.get()->call(*_rt, boxShadowString);
|
124
|
+
|
125
|
+
return result.asObject(*_rt).asArray(*_rt);
|
126
|
+
}
|
@@ -32,8 +32,10 @@ struct UnistylesState {
|
|
32
32
|
jsi::Object getCurrentJSTheme();
|
33
33
|
jsi::Object getJSThemeByName(std::string& themeName);
|
34
34
|
int parseColor(jsi::Value& color);
|
35
|
+
jsi::Array parseBoxShadowString(std::string&& boxShadowString);
|
35
36
|
void computeCurrentBreakpoint(int screenWidth);
|
36
37
|
void registerProcessColorFunction(jsi::Function&& fn);
|
38
|
+
void registerParseBoxShadowString(jsi::Function&& fn);
|
37
39
|
|
38
40
|
private:
|
39
41
|
jsi::Runtime* _rt;
|
@@ -45,6 +47,7 @@ private:
|
|
45
47
|
std::vector<std::string> _registeredThemeNames{};
|
46
48
|
std::optional<std::string> _currentThemeName = std::nullopt;
|
47
49
|
std::shared_ptr<jsi::Function> _processColorFn;
|
50
|
+
std::shared_ptr<jsi::Function> _parseBoxShadowStringFn;
|
48
51
|
std::unordered_map<std::string, uint32_t> _colorCache{};
|
49
52
|
|
50
53
|
friend class UnistylesRegistry;
|
@@ -251,12 +251,18 @@ 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
|
+
|
255
|
+
auto maybeParseBoxShadowStringFn = jsMethods.asObject(rt).getProperty(rt, "parseBoxShadowString");
|
256
|
+
|
257
|
+
helpers::assertThat(rt, maybeParseBoxShadowStringFn.isObject(), "Unistyles: Can't load parseBoxShadowString function from JS.");
|
254
258
|
|
255
259
|
auto processColorFn = maybeProcessColorFn.asObject(rt).asFunction(rt);
|
260
|
+
auto parseBoxShadowStringFn = maybeParseBoxShadowStringFn.asObject(rt).asFunction(rt);
|
256
261
|
auto& registry = core::UnistylesRegistry::get();
|
257
262
|
auto& state = registry.getState(rt);
|
258
263
|
|
259
264
|
state.registerProcessColorFunction(std::move(processColorFn));
|
265
|
+
state.registerParseBoxShadowString(std::move(parseBoxShadowStringFn));
|
260
266
|
}
|
261
267
|
|
262
268
|
void HybridStyleSheet::onPlatformDependenciesChange(std::vector<UnistyleDependency> dependencies) {
|
package/cxx/parser/Parser.cpp
CHANGED
@@ -424,6 +424,13 @@ jsi::Object parser::Parser::parseFirstLevel(jsi::Runtime& rt, Unistyle::Shared u
|
|
424
424
|
return;
|
425
425
|
}
|
426
426
|
|
427
|
+
// special case as we need to convert it to jsi::Array<jsi::Object>
|
428
|
+
if (propertyName == "boxShadow" && propertyValue.isString()) {
|
429
|
+
parsedStyle.setProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName), parseBoxShadowString(rt, propertyValue.asString(rt).utf8(rt)));
|
430
|
+
|
431
|
+
return;
|
432
|
+
}
|
433
|
+
|
427
434
|
// primitives
|
428
435
|
if (propertyValue.isNumber() || propertyValue.isString() || propertyValue.isUndefined() || propertyValue.isNull()) {
|
429
436
|
parsedStyle.setProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName), propertyValue);
|
@@ -618,6 +625,13 @@ jsi::Value parser::Parser::parseBoxShadow(jsi::Runtime &rt, Unistyle::Shared uni
|
|
618
625
|
return result;
|
619
626
|
}
|
620
627
|
|
628
|
+
jsi::Array parser::Parser::parseBoxShadowString(jsi::Runtime& rt, std::string&& boxShadowString) {
|
629
|
+
auto& registry = core::UnistylesRegistry::get();
|
630
|
+
auto& state = registry.getState(rt);
|
631
|
+
|
632
|
+
return state.parseBoxShadowString(std::move(boxShadowString));
|
633
|
+
}
|
634
|
+
|
621
635
|
// eg. [{ brightness: 0.5 }, { opacity: 0.25 }]
|
622
636
|
jsi::Value parser::Parser::parseFilters(jsi::Runtime &rt, Unistyle::Shared unistyle, jsi::Object &obj) {
|
623
637
|
std::vector<jsi::Value> parsedFilters{};
|
package/cxx/parser/Parser.h
CHANGED
@@ -40,6 +40,7 @@ private:
|
|
40
40
|
std::vector<UnistyleDependency> parseDependencies(jsi::Runtime &rt, jsi::Object&& dependencies);
|
41
41
|
jsi::Value parseTransforms(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj);
|
42
42
|
jsi::Value parseBoxShadow(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj);
|
43
|
+
jsi::Array parseBoxShadowString(jsi::Runtime& rt, std::string&& boxShadowString);
|
43
44
|
jsi::Value parseFilters(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj);
|
44
45
|
jsi::Value getValueFromBreakpoints(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj);
|
45
46
|
jsi::Object parseVariants(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj, Variants& variants);
|
@@ -0,0 +1,51 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.parseBoxShadowString = void 0;
|
7
|
+
const isValue = str => str && (str === '0' || str.endsWith('px'));
|
8
|
+
const parseBoxShadow = str => {
|
9
|
+
if (str === 'none') {
|
10
|
+
return undefined;
|
11
|
+
}
|
12
|
+
|
13
|
+
// split by space, but not if it's inside of ()
|
14
|
+
const parts = str.split(/\s+(?![^(]*\))/);
|
15
|
+
const lastIndex = parts.length - 1;
|
16
|
+
const insetIndex = parts.findIndex(part => part === 'inset');
|
17
|
+
|
18
|
+
// inset can only be at the start or end
|
19
|
+
if (![-1, 0, lastIndex].includes(insetIndex)) {
|
20
|
+
return undefined;
|
21
|
+
}
|
22
|
+
|
23
|
+
// if there is no inset, color can only be at the start or end
|
24
|
+
const maybeColorsIndexes = insetIndex === -1 ? [0, lastIndex] : insetIndex === lastIndex ? [0, lastIndex - 1] : [1, lastIndex];
|
25
|
+
const colorIndex = maybeColorsIndexes.find(index => !isValue(parts[index])) ?? -1;
|
26
|
+
const color = colorIndex !== -1 ? parts[colorIndex] : undefined;
|
27
|
+
const values = parts.filter((_, index) => index !== colorIndex && index !== insetIndex);
|
28
|
+
|
29
|
+
// at this point there can be only 4 values
|
30
|
+
if (values.length > 4) {
|
31
|
+
return undefined;
|
32
|
+
}
|
33
|
+
const [offsetX, offsetY, blurRadius, spreadRadius] = values;
|
34
|
+
if (!isValue(offsetX) || !isValue(offsetY)) {
|
35
|
+
return undefined;
|
36
|
+
}
|
37
|
+
return {
|
38
|
+
inset: insetIndex !== -1 ? true : undefined,
|
39
|
+
offsetX: Number.parseFloat(offsetX),
|
40
|
+
offsetY: Number.parseFloat(offsetY),
|
41
|
+
blurRadius: isValue(blurRadius) ? Number.parseFloat(blurRadius) : undefined,
|
42
|
+
spreadRadius: isValue(spreadRadius) ? Number.parseFloat(spreadRadius) : undefined,
|
43
|
+
color
|
44
|
+
};
|
45
|
+
};
|
46
|
+
const parseBoxShadowString = str => {
|
47
|
+
const parts = str.split(/,(?![^()]*\))/).map(part => part.trim().replace('\n', '')).filter(Boolean).map(parseBoxShadow).filter(Boolean);
|
48
|
+
return parts;
|
49
|
+
};
|
50
|
+
exports.parseBoxShadowString = parseBoxShadowString;
|
51
|
+
//# sourceMappingURL=parseBoxShadow.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["isValue","str","endsWith","parseBoxShadow","undefined","parts","split","lastIndex","length","insetIndex","findIndex","part","includes","maybeColorsIndexes","colorIndex","find","index","color","values","filter","_","offsetX","offsetY","blurRadius","spreadRadius","inset","Number","parseFloat","parseBoxShadowString","map","trim","replace","Boolean","exports"],"sourceRoot":"../../../src","sources":["core/parseBoxShadow.ts"],"mappings":";;;;;;AASA,MAAMA,OAAO,GAAIC,GAAuB,IAAKA,GAAG,KAAKA,GAAG,KAAK,GAAG,IAAIA,GAAG,CAACC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAMC,cAAc,GAAIF,GAAW,IAA4B;EAC3D,IAAIA,GAAG,KAAK,MAAM,EAAE;IAChB,OAAOG,SAAS;EACpB;;EAEA;EACA,MAAMC,KAAK,GAAGJ,GAAG,CAACK,KAAK,CAAC,gBAAgB,CAAC;EACzC,MAAMC,SAAS,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC;EAClC,MAAMC,UAAU,GAAGJ,KAAK,CAACK,SAAS,CAACC,IAAI,IAAIA,IAAI,KAAK,OAAO,CAAC;;EAE5D;EACA,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEJ,SAAS,CAAC,CAACK,QAAQ,CAACH,UAAU,CAAC,EAAE;IAC1C,OAAOL,SAAS;EACpB;;EAEA;EACA,MAAMS,kBAAkB,GAAGJ,UAAU,KAAK,CAAC,CAAC,GACtC,CAAC,CAAC,EAAEF,SAAS,CAAC,GACdE,UAAU,KAAKF,SAAS,GACpB,CAAC,CAAC,EAAEA,SAAS,GAAG,CAAC,CAAC,GAClB,CAAC,CAAC,EAAEA,SAAS,CAAC;EAExB,MAAMO,UAAU,GAAGD,kBAAkB,CAACE,IAAI,CAACC,KAAK,IAAI,CAAChB,OAAO,CAACK,KAAK,CAACW,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;EACjF,MAAMC,KAAK,GAAGH,UAAU,KAAK,CAAC,CAAC,GACzBT,KAAK,CAACS,UAAU,CAAC,GACjBV,SAAS;EACf,MAAMc,MAAM,GAAGb,KAAK,CAACc,MAAM,CAAC,CAACC,CAAC,EAAEJ,KAAK,KAAKA,KAAK,KAAKF,UAAU,IAAIE,KAAK,KAAKP,UAAU,CAAC;;EAEvF;EACA,IAAIS,MAAM,CAACV,MAAM,GAAG,CAAC,EAAE;IACnB,OAAOJ,SAAS;EACpB;EAEA,MAAM,CAACiB,OAAO,EAAEC,OAAO,EAAEC,UAAU,EAAEC,YAAY,CAAC,GAAGN,MAAM;EAE3D,IAAI,CAAClB,OAAO,CAACqB,OAAO,CAAC,IAAI,CAACrB,OAAO,CAACsB,OAAO,CAAC,EAAE;IACxC,OAAOlB,SAAS;EACpB;EAEA,OAAO;IACHqB,KAAK,EAAEhB,UAAU,KAAK,CAAC,CAAC,GAClB,IAAI,GACJL,SAAS;IACfiB,OAAO,EAAEK,MAAM,CAACC,UAAU,CAACN,OAAiB,CAAC;IAC7CC,OAAO,EAAEI,MAAM,CAACC,UAAU,CAACL,OAAiB,CAAC;IAC7CC,UAAU,EAAEvB,OAAO,CAACuB,UAAU,CAAC,GACzBG,MAAM,CAACC,UAAU,CAACJ,UAAoB,CAAC,GACvCnB,SAAS;IACfoB,YAAY,EAAExB,OAAO,CAACwB,YAAY,CAAC,GAC7BE,MAAM,CAACC,UAAU,CAACH,YAAsB,CAAC,GACzCpB,SAAS;IACfa;EACJ,CAAC;AACL,CAAC;AAEM,MAAMW,oBAAoB,GAAI3B,GAAW,IAAuB;EACnE,MAAMI,KAAK,GAAGJ,GAAG,CACZK,KAAK,CAAC,eAAe,CAAC,CACtBuB,GAAG,CAAClB,IAAI,IAAIA,IAAI,CAACmB,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAC1CZ,MAAM,CAACa,OAAO,CAAC,CACfH,GAAG,CAAC1B,cAAc,CAAC,CACnBgB,MAAM,CAACa,OAAO,CAAqB;EAExC,OAAO3B,KAAK;AAChB,CAAC;AAAA4B,OAAA,CAAAL,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
package/lib/commonjs/mocks.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["jest","mock","NitroModules","createHybridObject","add","init","createHybridStatusBar","setStyle","createHybridNavigationBar","React","require","_REGISTRY","themes","breakpoints","miniRuntime","themeName","undefined","breakpoint","hasAdaptiveThemes","colorScheme","contentSizeCategory","insets","top","left","right","bottom","ime","pixelRatio","fontScale","rtl","isLandscape","isPortrait","navigationBar","width","height","screen","statusBar","unistylesRuntime","orientation","dispose","equals","name","setHidden","getTheme","Object","values","at","setTheme","updateTheme","setRootViewBackgroundColor","_setRootViewBackgroundColor","setAdaptiveThemes","setImmersiveMode","Hide","Display","ScopedTheme","withUnistyles","Component","mapper","props","createElement","mq","only","and","useUnistyles","theme","rt","StyleSheet","absoluteFillObject","position","absoluteFill","compose","styles","flatten","create","useVariants","configure","config","jsMethods","processColor","hairlineWidth","unid","addChangeListener","UnistylesRuntime"],"sourceRoot":"../../src","sources":["mocks.ts"],"mappings":"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
|
1
|
+
{"version":3,"names":["jest","mock","NitroModules","createHybridObject","add","init","createHybridStatusBar","setStyle","createHybridNavigationBar","React","require","_REGISTRY","themes","breakpoints","miniRuntime","themeName","undefined","breakpoint","hasAdaptiveThemes","colorScheme","contentSizeCategory","insets","top","left","right","bottom","ime","pixelRatio","fontScale","rtl","isLandscape","isPortrait","navigationBar","width","height","screen","statusBar","unistylesRuntime","orientation","dispose","equals","name","setHidden","getTheme","Object","values","at","setTheme","updateTheme","setRootViewBackgroundColor","_setRootViewBackgroundColor","setAdaptiveThemes","setImmersiveMode","Hide","Display","ScopedTheme","withUnistyles","Component","mapper","props","createElement","mq","only","and","useUnistyles","theme","rt","StyleSheet","absoluteFillObject","position","absoluteFill","compose","styles","flatten","create","useVariants","configure","config","jsMethods","processColor","parseBoxShadowString","hairlineWidth","unid","addChangeListener","UnistylesRuntime"],"sourceRoot":"../../src","sources":["mocks.ts"],"mappings":"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","ignoreList":[]}
|
@@ -6,13 +6,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.StyleSheet = void 0;
|
7
7
|
var _reactNative = require("react-native");
|
8
8
|
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
9
|
+
var _parseBoxShadow = require("../../core/parseBoxShadow");
|
9
10
|
const HybridUnistylesStyleSheet = _reactNativeNitroModules.NitroModules.createHybridObject('UnistylesStyleSheet');
|
10
11
|
HybridUnistylesStyleSheet.absoluteFillObject = _reactNative.StyleSheet.absoluteFillObject;
|
11
12
|
HybridUnistylesStyleSheet.absoluteFill = _reactNative.StyleSheet.absoluteFill;
|
12
13
|
HybridUnistylesStyleSheet.flatten = _reactNative.StyleSheet.flatten;
|
13
14
|
HybridUnistylesStyleSheet.compose = _reactNative.StyleSheet.compose;
|
14
15
|
HybridUnistylesStyleSheet.jsMethods = {
|
15
|
-
processColor: _reactNative.processColor
|
16
|
+
processColor: _reactNative.processColor,
|
17
|
+
parseBoxShadowString: _parseBoxShadow.parseBoxShadowString
|
16
18
|
};
|
17
19
|
HybridUnistylesStyleSheet.init();
|
18
20
|
const StyleSheet = exports.StyleSheet = HybridUnistylesStyleSheet;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeNitroModules","HybridUnistylesStyleSheet","NitroModules","createHybridObject","absoluteFillObject","NativeStyleSheet","absoluteFill","flatten","compose","jsMethods","processColor","init","StyleSheet","exports"],"sourceRoot":"../../../../src","sources":["specs/StyleSheet/index.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,wBAAA,GAAAD,OAAA;
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeNitroModules","_parseBoxShadow","HybridUnistylesStyleSheet","NitroModules","createHybridObject","absoluteFillObject","NativeStyleSheet","absoluteFill","flatten","compose","jsMethods","processColor","parseBoxShadowString","init","StyleSheet","exports"],"sourceRoot":"../../../../src","sources":["specs/StyleSheet/index.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,wBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAsCA,MAAMG,yBAAyB,GAAGC,qCAAY,CACzCC,kBAAkB,CAAsB,qBAAqB,CAAC;AAEnEF,yBAAyB,CAACG,kBAAkB,GAAGC,uBAAgB,CAACD,kBAAkB;AAClFH,yBAAyB,CAACK,YAAY,GAAGD,uBAAgB,CAACC,YAAY;AACtEL,yBAAyB,CAACM,OAAO,GAAGF,uBAAgB,CAACE,OAAO;AAC5DN,yBAAyB,CAACO,OAAO,GAAGH,uBAAgB,CAACG,OAAO;AAC5DP,yBAAyB,CAACQ,SAAS,GAAG;EAClCC,YAAY,EAAZA,yBAAY;EACZC,oBAAoB,EAApBA;AACJ,CAAC;AAEDV,yBAAyB,CAACW,IAAI,CAAC,CAAC;AAIzB,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAGZ,yBAAsE","ignoreList":[]}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
const isValue = str => str && (str === '0' || str.endsWith('px'));
|
4
|
+
const parseBoxShadow = str => {
|
5
|
+
if (str === 'none') {
|
6
|
+
return undefined;
|
7
|
+
}
|
8
|
+
|
9
|
+
// split by space, but not if it's inside of ()
|
10
|
+
const parts = str.split(/\s+(?![^(]*\))/);
|
11
|
+
const lastIndex = parts.length - 1;
|
12
|
+
const insetIndex = parts.findIndex(part => part === 'inset');
|
13
|
+
|
14
|
+
// inset can only be at the start or end
|
15
|
+
if (![-1, 0, lastIndex].includes(insetIndex)) {
|
16
|
+
return undefined;
|
17
|
+
}
|
18
|
+
|
19
|
+
// if there is no inset, color can only be at the start or end
|
20
|
+
const maybeColorsIndexes = insetIndex === -1 ? [0, lastIndex] : insetIndex === lastIndex ? [0, lastIndex - 1] : [1, lastIndex];
|
21
|
+
const colorIndex = maybeColorsIndexes.find(index => !isValue(parts[index])) ?? -1;
|
22
|
+
const color = colorIndex !== -1 ? parts[colorIndex] : undefined;
|
23
|
+
const values = parts.filter((_, index) => index !== colorIndex && index !== insetIndex);
|
24
|
+
|
25
|
+
// at this point there can be only 4 values
|
26
|
+
if (values.length > 4) {
|
27
|
+
return undefined;
|
28
|
+
}
|
29
|
+
const [offsetX, offsetY, blurRadius, spreadRadius] = values;
|
30
|
+
if (!isValue(offsetX) || !isValue(offsetY)) {
|
31
|
+
return undefined;
|
32
|
+
}
|
33
|
+
return {
|
34
|
+
inset: insetIndex !== -1 ? true : undefined,
|
35
|
+
offsetX: Number.parseFloat(offsetX),
|
36
|
+
offsetY: Number.parseFloat(offsetY),
|
37
|
+
blurRadius: isValue(blurRadius) ? Number.parseFloat(blurRadius) : undefined,
|
38
|
+
spreadRadius: isValue(spreadRadius) ? Number.parseFloat(spreadRadius) : undefined,
|
39
|
+
color
|
40
|
+
};
|
41
|
+
};
|
42
|
+
export const parseBoxShadowString = str => {
|
43
|
+
const parts = str.split(/,(?![^()]*\))/).map(part => part.trim().replace('\n', '')).filter(Boolean).map(parseBoxShadow).filter(Boolean);
|
44
|
+
return parts;
|
45
|
+
};
|
46
|
+
//# sourceMappingURL=parseBoxShadow.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["isValue","str","endsWith","parseBoxShadow","undefined","parts","split","lastIndex","length","insetIndex","findIndex","part","includes","maybeColorsIndexes","colorIndex","find","index","color","values","filter","_","offsetX","offsetY","blurRadius","spreadRadius","inset","Number","parseFloat","parseBoxShadowString","map","trim","replace","Boolean"],"sourceRoot":"../../../src","sources":["core/parseBoxShadow.ts"],"mappings":";;AASA,MAAMA,OAAO,GAAIC,GAAuB,IAAKA,GAAG,KAAKA,GAAG,KAAK,GAAG,IAAIA,GAAG,CAACC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAMC,cAAc,GAAIF,GAAW,IAA4B;EAC3D,IAAIA,GAAG,KAAK,MAAM,EAAE;IAChB,OAAOG,SAAS;EACpB;;EAEA;EACA,MAAMC,KAAK,GAAGJ,GAAG,CAACK,KAAK,CAAC,gBAAgB,CAAC;EACzC,MAAMC,SAAS,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC;EAClC,MAAMC,UAAU,GAAGJ,KAAK,CAACK,SAAS,CAACC,IAAI,IAAIA,IAAI,KAAK,OAAO,CAAC;;EAE5D;EACA,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEJ,SAAS,CAAC,CAACK,QAAQ,CAACH,UAAU,CAAC,EAAE;IAC1C,OAAOL,SAAS;EACpB;;EAEA;EACA,MAAMS,kBAAkB,GAAGJ,UAAU,KAAK,CAAC,CAAC,GACtC,CAAC,CAAC,EAAEF,SAAS,CAAC,GACdE,UAAU,KAAKF,SAAS,GACpB,CAAC,CAAC,EAAEA,SAAS,GAAG,CAAC,CAAC,GAClB,CAAC,CAAC,EAAEA,SAAS,CAAC;EAExB,MAAMO,UAAU,GAAGD,kBAAkB,CAACE,IAAI,CAACC,KAAK,IAAI,CAAChB,OAAO,CAACK,KAAK,CAACW,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;EACjF,MAAMC,KAAK,GAAGH,UAAU,KAAK,CAAC,CAAC,GACzBT,KAAK,CAACS,UAAU,CAAC,GACjBV,SAAS;EACf,MAAMc,MAAM,GAAGb,KAAK,CAACc,MAAM,CAAC,CAACC,CAAC,EAAEJ,KAAK,KAAKA,KAAK,KAAKF,UAAU,IAAIE,KAAK,KAAKP,UAAU,CAAC;;EAEvF;EACA,IAAIS,MAAM,CAACV,MAAM,GAAG,CAAC,EAAE;IACnB,OAAOJ,SAAS;EACpB;EAEA,MAAM,CAACiB,OAAO,EAAEC,OAAO,EAAEC,UAAU,EAAEC,YAAY,CAAC,GAAGN,MAAM;EAE3D,IAAI,CAAClB,OAAO,CAACqB,OAAO,CAAC,IAAI,CAACrB,OAAO,CAACsB,OAAO,CAAC,EAAE;IACxC,OAAOlB,SAAS;EACpB;EAEA,OAAO;IACHqB,KAAK,EAAEhB,UAAU,KAAK,CAAC,CAAC,GAClB,IAAI,GACJL,SAAS;IACfiB,OAAO,EAAEK,MAAM,CAACC,UAAU,CAACN,OAAiB,CAAC;IAC7CC,OAAO,EAAEI,MAAM,CAACC,UAAU,CAACL,OAAiB,CAAC;IAC7CC,UAAU,EAAEvB,OAAO,CAACuB,UAAU,CAAC,GACzBG,MAAM,CAACC,UAAU,CAACJ,UAAoB,CAAC,GACvCnB,SAAS;IACfoB,YAAY,EAAExB,OAAO,CAACwB,YAAY,CAAC,GAC7BE,MAAM,CAACC,UAAU,CAACH,YAAsB,CAAC,GACzCpB,SAAS;IACfa;EACJ,CAAC;AACL,CAAC;AAED,OAAO,MAAMW,oBAAoB,GAAI3B,GAAW,IAAuB;EACnE,MAAMI,KAAK,GAAGJ,GAAG,CACZK,KAAK,CAAC,eAAe,CAAC,CACtBuB,GAAG,CAAClB,IAAI,IAAIA,IAAI,CAACmB,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAC1CZ,MAAM,CAACa,OAAO,CAAC,CACfH,GAAG,CAAC1B,cAAc,CAAC,CACnBgB,MAAM,CAACa,OAAO,CAAqB;EAExC,OAAO3B,KAAK;AAChB,CAAC","ignoreList":[]}
|
package/lib/module/mocks.js
CHANGED
package/lib/module/mocks.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["jest","mock","NitroModules","createHybridObject","add","init","createHybridStatusBar","setStyle","createHybridNavigationBar","React","require","_REGISTRY","themes","breakpoints","miniRuntime","themeName","undefined","breakpoint","hasAdaptiveThemes","colorScheme","contentSizeCategory","insets","top","left","right","bottom","ime","pixelRatio","fontScale","rtl","isLandscape","isPortrait","navigationBar","width","height","screen","statusBar","unistylesRuntime","orientation","dispose","equals","name","setHidden","getTheme","Object","values","at","setTheme","updateTheme","setRootViewBackgroundColor","_setRootViewBackgroundColor","setAdaptiveThemes","setImmersiveMode","Hide","Display","ScopedTheme","withUnistyles","Component","mapper","props","createElement","mq","only","and","useUnistyles","theme","rt","StyleSheet","absoluteFillObject","position","absoluteFill","compose","styles","flatten","create","useVariants","configure","config","jsMethods","processColor","hairlineWidth","unid","addChangeListener","UnistylesRuntime"],"sourceRoot":"../../src","sources":["mocks.ts"],"mappings":"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
|
1
|
+
{"version":3,"names":["jest","mock","NitroModules","createHybridObject","add","init","createHybridStatusBar","setStyle","createHybridNavigationBar","React","require","_REGISTRY","themes","breakpoints","miniRuntime","themeName","undefined","breakpoint","hasAdaptiveThemes","colorScheme","contentSizeCategory","insets","top","left","right","bottom","ime","pixelRatio","fontScale","rtl","isLandscape","isPortrait","navigationBar","width","height","screen","statusBar","unistylesRuntime","orientation","dispose","equals","name","setHidden","getTheme","Object","values","at","setTheme","updateTheme","setRootViewBackgroundColor","_setRootViewBackgroundColor","setAdaptiveThemes","setImmersiveMode","Hide","Display","ScopedTheme","withUnistyles","Component","mapper","props","createElement","mq","only","and","useUnistyles","theme","rt","StyleSheet","absoluteFillObject","position","absoluteFill","compose","styles","flatten","create","useVariants","configure","config","jsMethods","processColor","parseBoxShadowString","hairlineWidth","unid","addChangeListener","UnistylesRuntime"],"sourceRoot":"../../src","sources":["mocks.ts"],"mappings":"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","ignoreList":[]}
|
@@ -2,13 +2,15 @@
|
|
2
2
|
|
3
3
|
import { StyleSheet as NativeStyleSheet, processColor } from 'react-native';
|
4
4
|
import { NitroModules } from 'react-native-nitro-modules';
|
5
|
+
import { parseBoxShadowString } from '../../core/parseBoxShadow';
|
5
6
|
const HybridUnistylesStyleSheet = NitroModules.createHybridObject('UnistylesStyleSheet');
|
6
7
|
HybridUnistylesStyleSheet.absoluteFillObject = NativeStyleSheet.absoluteFillObject;
|
7
8
|
HybridUnistylesStyleSheet.absoluteFill = NativeStyleSheet.absoluteFill;
|
8
9
|
HybridUnistylesStyleSheet.flatten = NativeStyleSheet.flatten;
|
9
10
|
HybridUnistylesStyleSheet.compose = NativeStyleSheet.compose;
|
10
11
|
HybridUnistylesStyleSheet.jsMethods = {
|
11
|
-
processColor
|
12
|
+
processColor,
|
13
|
+
parseBoxShadowString
|
12
14
|
};
|
13
15
|
HybridUnistylesStyleSheet.init();
|
14
16
|
export const StyleSheet = HybridUnistylesStyleSheet;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["StyleSheet","NativeStyleSheet","processColor","NitroModules","HybridUnistylesStyleSheet","createHybridObject","absoluteFillObject","absoluteFill","flatten","compose","jsMethods","init"],"sourceRoot":"../../../../src","sources":["specs/StyleSheet/index.ts"],"mappings":";;AAAA,SAASA,UAAU,IAAIC,gBAAgB,EAAEC,YAAY,QAAQ,cAAc;AAE3E,SAASC,YAAY,QAAQ,4BAA4B;
|
1
|
+
{"version":3,"names":["StyleSheet","NativeStyleSheet","processColor","NitroModules","parseBoxShadowString","HybridUnistylesStyleSheet","createHybridObject","absoluteFillObject","absoluteFill","flatten","compose","jsMethods","init"],"sourceRoot":"../../../../src","sources":["specs/StyleSheet/index.ts"],"mappings":";;AAAA,SAASA,UAAU,IAAIC,gBAAgB,EAAEC,YAAY,QAAQ,cAAc;AAE3E,SAASC,YAAY,QAAQ,4BAA4B;AACzD,SAASC,oBAAoB,QAAQ,2BAA2B;AAsChE,MAAMC,yBAAyB,GAAGF,YAAY,CACzCG,kBAAkB,CAAsB,qBAAqB,CAAC;AAEnED,yBAAyB,CAACE,kBAAkB,GAAGN,gBAAgB,CAACM,kBAAkB;AAClFF,yBAAyB,CAACG,YAAY,GAAGP,gBAAgB,CAACO,YAAY;AACtEH,yBAAyB,CAACI,OAAO,GAAGR,gBAAgB,CAACQ,OAAO;AAC5DJ,yBAAyB,CAACK,OAAO,GAAGT,gBAAgB,CAACS,OAAO;AAC5DL,yBAAyB,CAACM,SAAS,GAAG;EAClCT,YAAY;EACZE;AACJ,CAAC;AAEDC,yBAAyB,CAACO,IAAI,CAAC,CAAC;AAIhC,OAAO,MAAMZ,UAAU,GAAGK,yBAAsE","ignoreList":[]}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
type BoxShadow = {
|
2
|
+
inset?: boolean;
|
3
|
+
offsetX?: number;
|
4
|
+
offsetY?: number;
|
5
|
+
blurRadius?: number;
|
6
|
+
spreadRadius?: number;
|
7
|
+
color?: string;
|
8
|
+
};
|
9
|
+
export declare const parseBoxShadowString: (str: string) => Array<BoxShadow>;
|
10
|
+
export {};
|
11
|
+
//# sourceMappingURL=parseBoxShadow.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parseBoxShadow.d.ts","sourceRoot":"","sources":["../../../../src/core/parseBoxShadow.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AA2DD,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,KAAK,CAAC,SAAS,CASjE,CAAA"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { processColor } from 'react-native';
|
2
2
|
import type { StyleSheet as NativeStyleSheetType } from 'react-native';
|
3
|
+
import { parseBoxShadowString } from '../../core/parseBoxShadow';
|
3
4
|
import type { UnistylesBreakpoints, UnistylesThemes } from '../../global';
|
4
5
|
import type { CreateUnistylesStyleSheet } from '../../types';
|
5
6
|
import type { UnistylesStyleSheet as UnistylesStyleSheetSpec } from './UnistylesStyleSheet.nitro';
|
@@ -27,6 +28,7 @@ export interface UnistylesStyleSheet extends UnistylesStyleSheetSpec {
|
|
27
28
|
configure(config: UnistylesConfig): void;
|
28
29
|
jsMethods: {
|
29
30
|
processColor: typeof processColor;
|
31
|
+
parseBoxShadowString: typeof parseBoxShadowString;
|
30
32
|
};
|
31
33
|
}
|
32
34
|
type PrivateMethods = 'jsMethods' | 'addChangeListener' | 'init';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/StyleSheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,KAAK,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAEjG,KAAK,sBAAsB,GAAG;IAC1B,YAAY,EAAE,CAAC,MAAM,MAAM,eAAe,CAAC,GAAG,MAAM,eAAe,CAAA;CACtE,GAAG;IACA,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,KAAK,iBAAiB,GAAG,sBAAsB,GAAG;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAChE,kBAAkB,EAAE,OAAO,oBAAoB,CAAC,kBAAkB,CAAC;IACnE,YAAY,EAAE,OAAO,oBAAoB,CAAC,YAAY,CAAC;IACvD,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC;IAC7C,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC;IAG7C,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,EAAE,yBAAyB,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE;QACP,YAAY,EAAE,OAAO,YAAY,CAAA;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/StyleSheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,KAAK,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAEjG,KAAK,sBAAsB,GAAG;IAC1B,YAAY,EAAE,CAAC,MAAM,MAAM,eAAe,CAAC,GAAG,MAAM,eAAe,CAAA;CACtE,GAAG;IACA,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,KAAK,iBAAiB,GAAG,sBAAsB,GAAG;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAChE,kBAAkB,EAAE,OAAO,oBAAoB,CAAC,kBAAkB,CAAC;IACnE,YAAY,EAAE,OAAO,oBAAoB,CAAC,YAAY,CAAC;IACvD,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC;IAC7C,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC;IAG7C,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,EAAE,yBAAyB,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE;QACP,YAAY,EAAE,OAAO,YAAY,CAAC;QAClC,oBAAoB,EAAE,OAAO,oBAAoB,CAAA;KACpD,CAAA;CACJ;AAgBD,KAAK,cAAc,GAAG,WAAW,GAAG,mBAAmB,GAAG,MAAM,CAAA;AAEhE,eAAO,MAAM,UAAU,EAAgC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAA"}
|
package/package.json
CHANGED
@@ -0,0 +1,76 @@
|
|
1
|
+
type BoxShadow = {
|
2
|
+
inset?: boolean
|
3
|
+
offsetX?: number
|
4
|
+
offsetY?: number
|
5
|
+
blurRadius?: number
|
6
|
+
spreadRadius?: number
|
7
|
+
color?: string
|
8
|
+
}
|
9
|
+
|
10
|
+
const isValue = (str: string | undefined) => str && (str === '0' || str.endsWith('px'))
|
11
|
+
|
12
|
+
const parseBoxShadow = (str: string): BoxShadow | undefined => {
|
13
|
+
if (str === 'none') {
|
14
|
+
return undefined
|
15
|
+
}
|
16
|
+
|
17
|
+
// split by space, but not if it's inside of ()
|
18
|
+
const parts = str.split(/\s+(?![^(]*\))/)
|
19
|
+
const lastIndex = parts.length - 1
|
20
|
+
const insetIndex = parts.findIndex(part => part === 'inset')
|
21
|
+
|
22
|
+
// inset can only be at the start or end
|
23
|
+
if (![-1, 0, lastIndex].includes(insetIndex)) {
|
24
|
+
return undefined
|
25
|
+
}
|
26
|
+
|
27
|
+
// if there is no inset, color can only be at the start or end
|
28
|
+
const maybeColorsIndexes = insetIndex === -1
|
29
|
+
? [0, lastIndex]
|
30
|
+
: insetIndex === lastIndex
|
31
|
+
? [0, lastIndex - 1]
|
32
|
+
: [1, lastIndex]
|
33
|
+
|
34
|
+
const colorIndex = maybeColorsIndexes.find(index => !isValue(parts[index])) ?? -1
|
35
|
+
const color = colorIndex !== -1
|
36
|
+
? parts[colorIndex]
|
37
|
+
: undefined
|
38
|
+
const values = parts.filter((_, index) => index !== colorIndex && index !== insetIndex)
|
39
|
+
|
40
|
+
// at this point there can be only 4 values
|
41
|
+
if (values.length > 4) {
|
42
|
+
return undefined
|
43
|
+
}
|
44
|
+
|
45
|
+
const [offsetX, offsetY, blurRadius, spreadRadius] = values
|
46
|
+
|
47
|
+
if (!isValue(offsetX) || !isValue(offsetY)) {
|
48
|
+
return undefined
|
49
|
+
}
|
50
|
+
|
51
|
+
return {
|
52
|
+
inset: insetIndex !== -1
|
53
|
+
? true
|
54
|
+
: undefined,
|
55
|
+
offsetX: Number.parseFloat(offsetX as string),
|
56
|
+
offsetY: Number.parseFloat(offsetY as string),
|
57
|
+
blurRadius: isValue(blurRadius)
|
58
|
+
? Number.parseFloat(blurRadius as string)
|
59
|
+
: undefined,
|
60
|
+
spreadRadius: isValue(spreadRadius)
|
61
|
+
? Number.parseFloat(spreadRadius as string)
|
62
|
+
: undefined,
|
63
|
+
color
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
67
|
+
export const parseBoxShadowString = (str: string): Array<BoxShadow> => {
|
68
|
+
const parts = str
|
69
|
+
.split(/,(?![^()]*\))/)
|
70
|
+
.map(part => part.trim().replace('\n', ''))
|
71
|
+
.filter(Boolean)
|
72
|
+
.map(parseBoxShadow)
|
73
|
+
.filter(Boolean) as Array<BoxShadow>
|
74
|
+
|
75
|
+
return parts
|
76
|
+
}
|
package/src/mocks.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { StyleSheet as NativeStyleSheet, processColor } from 'react-native'
|
2
2
|
import type { StyleSheet as NativeStyleSheetType } from 'react-native'
|
3
3
|
import { NitroModules } from 'react-native-nitro-modules'
|
4
|
+
import { parseBoxShadowString } from '../../core/parseBoxShadow'
|
4
5
|
import type { UnistylesBreakpoints, UnistylesThemes } from '../../global'
|
5
6
|
import type { CreateUnistylesStyleSheet } from '../../types'
|
6
7
|
import type { UnistylesStyleSheet as UnistylesStyleSheetSpec } from './UnistylesStyleSheet.nitro'
|
@@ -33,7 +34,8 @@ export interface UnistylesStyleSheet extends UnistylesStyleSheetSpec {
|
|
33
34
|
create: CreateUnistylesStyleSheet,
|
34
35
|
configure(config: UnistylesConfig): void,
|
35
36
|
jsMethods: {
|
36
|
-
processColor: typeof processColor
|
37
|
+
processColor: typeof processColor,
|
38
|
+
parseBoxShadowString: typeof parseBoxShadowString
|
37
39
|
}
|
38
40
|
}
|
39
41
|
|
@@ -45,7 +47,8 @@ HybridUnistylesStyleSheet.absoluteFill = NativeStyleSheet.absoluteFill
|
|
45
47
|
HybridUnistylesStyleSheet.flatten = NativeStyleSheet.flatten
|
46
48
|
HybridUnistylesStyleSheet.compose = NativeStyleSheet.compose
|
47
49
|
HybridUnistylesStyleSheet.jsMethods = {
|
48
|
-
processColor
|
50
|
+
processColor,
|
51
|
+
parseBoxShadowString
|
49
52
|
}
|
50
53
|
|
51
54
|
HybridUnistylesStyleSheet.init()
|