react-native-unistyles 3.2.4 → 3.2.5
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 +3 -3
- package/lib/commonjs/reanimated/useAnimatedTheme.js +14 -3
- package/lib/commonjs/reanimated/useAnimatedTheme.js.map +1 -1
- package/lib/commonjs/reanimated/useAnimatedTheme.native.js +14 -4
- package/lib/commonjs/reanimated/useAnimatedTheme.native.js.map +1 -1
- package/lib/commonjs/specs/StyleSheet/index.js +1 -1
- package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
- package/lib/commonjs/web/convert/object/boxShadow.js +1 -1
- package/lib/commonjs/web/convert/object/boxShadow.js.map +1 -1
- package/lib/module/reanimated/useAnimatedTheme.js +16 -5
- package/lib/module/reanimated/useAnimatedTheme.js.map +1 -1
- package/lib/module/reanimated/useAnimatedTheme.native.js +16 -6
- package/lib/module/reanimated/useAnimatedTheme.native.js.map +1 -1
- package/lib/module/specs/StyleSheet/index.js +1 -1
- package/lib/module/specs/StyleSheet/index.js.map +1 -1
- package/lib/module/web/convert/object/boxShadow.js +1 -1
- package/lib/module/web/convert/object/boxShadow.js.map +1 -1
- package/lib/typescript/src/components/native/Animated.d.ts.map +1 -1
- package/lib/typescript/src/reanimated/useAnimatedTheme.d.ts.map +1 -1
- package/lib/typescript/src/reanimated/useAnimatedTheme.native.d.ts.map +1 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts +1 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +14 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +1 -1
- package/package.json +8 -8
- package/plugin/index.js +42 -30
- package/src/reanimated/useAnimatedTheme.native.ts +21 -6
- package/src/reanimated/useAnimatedTheme.ts +20 -7
- package/src/specs/StyleSheet/index.ts +2 -2
- package/src/web/convert/object/boxShadow.ts +1 -1
package/README.md
CHANGED
|
@@ -73,9 +73,6 @@ Then follow [installation guides](https://unistyl.es/v3/start/getting-started) f
|
|
|
73
73
|
<a href="https://github.com/andkindness">
|
|
74
74
|
<img src="https://avatars.githubusercontent.com/u/143941782?v=4" height="70px" width="70px" alt="andkindness" />
|
|
75
75
|
</a>
|
|
76
|
-
<a href="https://github.com/AdiRishi">
|
|
77
|
-
<img src="https://avatars.githubusercontent.com/u/8351234?v=4" height="70px" width="70px" alt="AdiRishi" />
|
|
78
|
-
</a>
|
|
79
76
|
|
|
80
77
|
|
|
81
78
|
## Past sponsors
|
|
@@ -155,6 +152,9 @@ Then follow [installation guides](https://unistyl.es/v3/start/getting-started) f
|
|
|
155
152
|
<a href="https://github.com/cybercarrot">
|
|
156
153
|
<img src="https://avatars.githubusercontent.com/u/6837094?v=4" height="60px" width="60px" alt="cybercarrot" />
|
|
157
154
|
</a>
|
|
155
|
+
<a href="https://github.com/AdiRishi">
|
|
156
|
+
<img src="https://avatars.githubusercontent.com/u/8351234?v=4" height="60px" width="60px" alt="AdiRishi" />
|
|
157
|
+
</a>
|
|
158
158
|
|
|
159
159
|
## Sponsor my work
|
|
160
160
|
|
|
@@ -9,13 +9,24 @@ var _reactNativeReanimated = require("react-native-reanimated");
|
|
|
9
9
|
var _specs = require("../specs");
|
|
10
10
|
var _services = require("../web/services");
|
|
11
11
|
const useAnimatedTheme = () => {
|
|
12
|
-
const
|
|
12
|
+
const [scopedTheme, setScopedTheme] = (0, _react.useState)(() => _specs.UnistylesShadowRegistry.getScopedTheme());
|
|
13
|
+
const theme = (0, _reactNativeReanimated.useSharedValue)(_specs.UnistylesRuntime.getTheme(scopedTheme));
|
|
14
|
+
const maybeNewScopedTheme = _specs.UnistylesShadowRegistry.getScopedTheme();
|
|
15
|
+
if (scopedTheme !== maybeNewScopedTheme) {
|
|
16
|
+
setScopedTheme(maybeNewScopedTheme);
|
|
17
|
+
theme.set(_specs.UnistylesRuntime.getTheme(maybeNewScopedTheme));
|
|
18
|
+
}
|
|
13
19
|
(0, _react.useEffect)(() => {
|
|
14
|
-
const dispose = _services.services.listener.addListeners([_specs.UnistyleDependency.Theme], () =>
|
|
20
|
+
const dispose = _services.services.listener.addListeners([_specs.UnistyleDependency.Theme], () => {
|
|
21
|
+
if (scopedTheme) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
theme.set(_specs.UnistylesRuntime.getTheme());
|
|
25
|
+
});
|
|
15
26
|
return () => {
|
|
16
27
|
dispose();
|
|
17
28
|
};
|
|
18
|
-
}, []);
|
|
29
|
+
}, [scopedTheme]);
|
|
19
30
|
return theme;
|
|
20
31
|
};
|
|
21
32
|
exports.useAnimatedTheme = useAnimatedTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeReanimated","_specs","_services","useAnimatedTheme","theme","useSharedValue","UnistylesRuntime","getTheme","useEffect","dispose","services","listener","addListeners","UnistyleDependency","Theme","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_specs","_services","useAnimatedTheme","scopedTheme","setScopedTheme","useState","UnistylesShadowRegistry","getScopedTheme","theme","useSharedValue","UnistylesRuntime","getTheme","maybeNewScopedTheme","set","useEffect","dispose","services","listener","addListeners","UnistyleDependency","Theme","exports"],"sourceRoot":"../../../src","sources":["reanimated/useAnimatedTheme.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEO,MAAMI,gBAAgB,GAAGA,CAAA,KAAM;EAClC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAC1C,MAAMC,8BAAuB,CAACC,cAAc,CAAC,CACjD,CAAC;EACD,MAAMC,KAAK,GAAG,IAAAC,qCAAc,EAACC,uBAAgB,CAACC,QAAQ,CAACR,WAAW,CAAC,CAAC;EACpE,MAAMS,mBAAmB,GAAGN,8BAAuB,CAACC,cAAc,CAAC,CAA+B;EAElG,IAAIJ,WAAW,KAAKS,mBAAmB,EAAE;IACrCR,cAAc,CAACQ,mBAAmB,CAAC;IACnCJ,KAAK,CAACK,GAAG,CAACH,uBAAgB,CAACC,QAAQ,CAACC,mBAAmB,CAAC,CAAC;EAC7D;EAEA,IAAAE,gBAAS,EAAC,MAAM;IACZ,MAAMC,OAAO,GAAGC,kBAAQ,CAACC,QAAQ,CAACC,YAAY,CAAC,CAACC,yBAAkB,CAACC,KAAK,CAAC,EAAE,MAAM;MAC7E,IAAIjB,WAAW,EAAE;QACb;MACJ;MAEAK,KAAK,CAACK,GAAG,CAACH,uBAAgB,CAACC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO,MAAM;MACTI,OAAO,CAAC,CAAC;IACb,CAAC;EACL,CAAC,EAAE,CAACZ,WAAW,CAAC,CAAC;EAEjB,OAAOK,KAAK;AAChB,CAAC;AAAAa,OAAA,CAAAnB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -8,15 +8,25 @@ var _react = require("react");
|
|
|
8
8
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
9
|
var _specs = require("../specs");
|
|
10
10
|
const useAnimatedTheme = () => {
|
|
11
|
-
const
|
|
11
|
+
const [scopedTheme, setScopedTheme] = (0, _react.useState)(() => _specs.UnistylesShadowRegistry.getScopedTheme());
|
|
12
|
+
const theme = (0, _reactNativeReanimated.useSharedValue)(_specs.UnistylesRuntime.getTheme(scopedTheme));
|
|
13
|
+
const maybeNewScopedTheme = _specs.UnistylesShadowRegistry.getScopedTheme();
|
|
14
|
+
if (scopedTheme !== maybeNewScopedTheme) {
|
|
15
|
+
setScopedTheme(maybeNewScopedTheme);
|
|
16
|
+
theme.set(_specs.UnistylesRuntime.getTheme(maybeNewScopedTheme));
|
|
17
|
+
}
|
|
12
18
|
(0, _react.useEffect)(() => {
|
|
13
19
|
const dispose = _specs.StyleSheet.addChangeListener(changedDependencies => {
|
|
14
|
-
if (changedDependencies.includes(_specs.UnistyleDependency.Theme)) {
|
|
15
|
-
|
|
20
|
+
if (!changedDependencies.includes(_specs.UnistyleDependency.Theme)) {
|
|
21
|
+
return;
|
|
16
22
|
}
|
|
23
|
+
if (scopedTheme) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
theme.set(_specs.UnistylesRuntime.getTheme());
|
|
17
27
|
});
|
|
18
28
|
return () => dispose();
|
|
19
|
-
}, []);
|
|
29
|
+
}, [scopedTheme]);
|
|
20
30
|
return theme;
|
|
21
31
|
};
|
|
22
32
|
exports.useAnimatedTheme = useAnimatedTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeReanimated","_specs","useAnimatedTheme","theme","useSharedValue","UnistylesRuntime","getTheme","useEffect","dispose","StyleSheet","addChangeListener","changedDependencies","includes","UnistyleDependency","Theme","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_specs","useAnimatedTheme","scopedTheme","setScopedTheme","useState","UnistylesShadowRegistry","getScopedTheme","theme","useSharedValue","UnistylesRuntime","getTheme","maybeNewScopedTheme","set","useEffect","dispose","StyleSheet","addChangeListener","changedDependencies","includes","UnistyleDependency","Theme","exports"],"sourceRoot":"../../../src","sources":["reanimated/useAnimatedTheme.native.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAEO,MAAMG,gBAAgB,GAAGA,CAAA,KAAM;EAClC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAC1C,MAAMC,8BAAuB,CAACC,cAAc,CAAC,CACjD,CAAC;EACD,MAAMC,KAAK,GAAG,IAAAC,qCAAc,EAACC,uBAAgB,CAACC,QAAQ,CAACR,WAAW,CAAC,CAAC;EACpE,MAAMS,mBAAmB,GAAGN,8BAAuB,CAACC,cAAc,CAAC,CAA+B;EAElG,IAAIJ,WAAW,KAAKS,mBAAmB,EAAE;IACrCR,cAAc,CAACQ,mBAAmB,CAAC;IACnCJ,KAAK,CAACK,GAAG,CAACH,uBAAgB,CAACC,QAAQ,CAACC,mBAAmB,CAAC,CAAC;EAC7D;EAEA,IAAAE,gBAAS,EAAC,MAAM;IACZ,MAAMC,OAAO,GAAGC,iBAAU,CAACC,iBAAiB,CAAEC,mBAAmB,IAAK;MAClE,IAAI,CAACA,mBAAmB,CAACC,QAAQ,CAACC,yBAAkB,CAACC,KAAK,CAAC,EAAE;QACzD;MACJ;MAEA,IAAIlB,WAAW,EAAE;QACb;MACJ;MAEAK,KAAK,CAACK,GAAG,CAACH,uBAAgB,CAACC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO,MAAMI,OAAO,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACZ,WAAW,CAAC,CAAC;EAEjB,OAAOK,KAAK;AAChB,CAAC;AAAAc,OAAA,CAAApB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ var _reactNative = require("react-native");
|
|
|
8
8
|
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
|
9
9
|
var _parseBoxShadow = require("../../core/parseBoxShadow");
|
|
10
10
|
const HybridUnistylesStyleSheet = _reactNativeNitroModules.NitroModules.createHybridObject('UnistylesStyleSheet');
|
|
11
|
-
HybridUnistylesStyleSheet.absoluteFillObject = _reactNative.StyleSheet.
|
|
11
|
+
HybridUnistylesStyleSheet.absoluteFillObject = _reactNative.StyleSheet.absoluteFill;
|
|
12
12
|
HybridUnistylesStyleSheet.absoluteFill = _reactNative.StyleSheet.absoluteFill;
|
|
13
13
|
HybridUnistylesStyleSheet.flatten = _reactNative.StyleSheet.flatten;
|
|
14
14
|
HybridUnistylesStyleSheet.compose = _reactNative.StyleSheet.compose;
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AAMA,IAAAE,eAAA,GAAAF,OAAA;AA2CA,MAAMG,yBAAyB,GAAGC,qCAAY,CAACC,kBAAkB,CAAsB,qBAAqB,CAAC;AAE7GF,yBAAyB,CAACG,kBAAkB,GAAGC,uBAAgB,
|
|
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":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AAMA,IAAAE,eAAA,GAAAF,OAAA;AA2CA,MAAMG,yBAAyB,GAAGC,qCAAY,CAACC,kBAAkB,CAAsB,qBAAqB,CAAC;AAE7GF,yBAAyB,CAACG,kBAAkB,GAAGC,uBAAgB,CAACC,YAAY;AAC5EL,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":[]}
|
|
@@ -16,7 +16,7 @@ const createBoxShadowValue = style => {
|
|
|
16
16
|
color = '#000',
|
|
17
17
|
inset
|
|
18
18
|
} = style;
|
|
19
|
-
return `${inset ? 'inset ' : ''}${(0, _utils3.normalizeNumericValue)(offsetX)} ${(0, _utils3.normalizeNumericValue)(offsetY)} ${(0, _utils3.normalizeNumericValue)(blurRadius)} ${(0, _utils3.normalizeNumericValue)(spreadDistance)} ${color}`;
|
|
19
|
+
return `${inset ? 'inset ' : ''}${(0, _utils3.normalizeNumericValue)(offsetX)} ${(0, _utils3.normalizeNumericValue)(offsetY)} ${(0, _utils3.normalizeNumericValue)(blurRadius)} ${(0, _utils3.normalizeNumericValue)(spreadDistance)} ${String(color)}`;
|
|
20
20
|
};
|
|
21
21
|
const getBoxShadow = boxShadow => {
|
|
22
22
|
const breakpoints = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","_utils2","_utils3","createBoxShadowValue","style","offsetX","offsetY","blurRadius","spreadDistance","color","inset","normalizeNumericValue","getBoxShadow","boxShadow","breakpoints","Set","forEach","shadow","key","Object","keys","value","breakpoint","add","size","boxShadowStyle","fromEntries","map","breakpointStyles","Array","from","styles","keyInObject","deepMergeObjects","exports"],"sourceRoot":"../../../../../src","sources":["web/convert/object/boxShadow.ts"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,MAAMG,oBAAoB,GAAIC,KAAqB,IAAK;EACpD,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC,UAAU,GAAG,CAAC;IAAEC,cAAc,GAAG,CAAC;IAAEC,KAAK,GAAG,MAAM;IAAEC;EAAM,CAAC,GAAGN,KAAK;EAE7F,OAAO,GAAGM,KAAK,GAAG,QAAQ,GAAG,EAAE,GAAG,IAAAC,6BAAqB,EAACN,OAAO,CAAC,IAAI,IAAAM,6BAAqB,EAACL,OAAO,CAAC,IAAI,IAAAK,6BAAqB,EAACJ,UAAoB,CAAC,IAAI,IAAAI,6BAAqB,EAACH,cAAwB,CAAC,
|
|
1
|
+
{"version":3,"names":["_utils","require","_utils2","_utils3","createBoxShadowValue","style","offsetX","offsetY","blurRadius","spreadDistance","color","inset","normalizeNumericValue","String","getBoxShadow","boxShadow","breakpoints","Set","forEach","shadow","key","Object","keys","value","breakpoint","add","size","boxShadowStyle","fromEntries","map","breakpointStyles","Array","from","styles","keyInObject","deepMergeObjects","exports"],"sourceRoot":"../../../../../src","sources":["web/convert/object/boxShadow.ts"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,MAAMG,oBAAoB,GAAIC,KAAqB,IAAK;EACpD,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC,UAAU,GAAG,CAAC;IAAEC,cAAc,GAAG,CAAC;IAAEC,KAAK,GAAG,MAAM;IAAEC;EAAM,CAAC,GAAGN,KAAK;EAE7F,OAAO,GAAGM,KAAK,GAAG,QAAQ,GAAG,EAAE,GAAG,IAAAC,6BAAqB,EAACN,OAAO,CAAC,IAAI,IAAAM,6BAAqB,EAACL,OAAO,CAAC,IAAI,IAAAK,6BAAqB,EAACJ,UAAoB,CAAC,IAAI,IAAAI,6BAAqB,EAACH,cAAwB,CAAC,IAAII,MAAM,CAACH,KAAK,CAAC,EAAE;AAC3N,CAAC;AAEM,MAAMI,YAAY,GAAIC,SAAgC,IAAK;EAC9D,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAAS,CAAC;EACrCF,SAAS,CAACG,OAAO,CAAEC,MAAM,IAAK;IAC1B,MAAM,CAACC,GAAG,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC;IACjC,MAAMI,KAAK,GAAGJ,MAAM,CAACC,GAAG,CAAyB;;IAEjD;IACA,IAAI,OAAOG,KAAK,KAAK,QAAQ,EAAE;MAC3BF,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAACL,OAAO,CAAEM,UAAU,IAAKR,WAAW,CAACS,GAAG,CAACD,UAAU,CAAC,CAAC;IAC3E;EACJ,CAAC,CAAC;EAEF,IAAIR,WAAW,CAACU,IAAI,KAAK,CAAC,EAAE;IACxB,MAAMC,cAAc,GAAGN,MAAM,CAACO,WAAW,CACrCb,SAAS,CAACc,GAAG,CAAEV,MAAM,IAAK;MACtB,MAAM,CAACC,GAAG,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC;MACjC,OAAO,CAACC,GAAG,EAAED,MAAM,CAACC,GAAG,CAAyB,CAAC;IACrD,CAAC,CACL,CAAmB;IAEnB,OAAO;MACHL,SAAS,EAAEX,oBAAoB,CAACuB,cAAc;IAClD,CAAC;EACL;EAEA,MAAMG,gBAAgB,GAAGC,KAAK,CAACC,IAAI,CAAChB,WAAW,CAAC,CAACa,GAAG,CAAEL,UAAU,IAAK;IACjE,MAAMS,MAAM,GAAGZ,MAAM,CAACO,WAAW,CAC7Bb,SAAS,CAACc,GAAG,CAAEV,MAAM,IAAK;MACtB,MAAM,CAACC,GAAG,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC;MACjC,MAAMI,KAAK,GAAGJ,MAAM,CAACC,GAAG,CAAyB;MAEjD,IAAI,OAAOG,KAAK,KAAK,QAAQ,IAAI,IAAAW,mBAAW,EAACX,KAAK,EAAEC,UAAU,CAAC,EAAE;QAC7D,OAAO,CAACJ,GAAG,EAAEG,KAAK,CAACC,UAAU,CAAC,CAAC;MACnC;MAEA,OAAO,CAACJ,GAAG,EAAEG,KAAK,CAAC;IACvB,CAAC,CACL,CAAmB;IAEnB,OAAO;MACH,CAACC,UAAU,GAAG;QACVT,SAAS,EAAEX,oBAAoB,CAAC6B,MAAM;MAC1C;IACJ,CAAC;EACL,CAAC,CAAC;EAEF,OAAO,IAAAE,uBAAgB,EAAC,GAAGL,gBAAgB,CAAC;AAChD,CAAC;AAAAM,OAAA,CAAAtB,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useEffect } from 'react';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
4
|
import { useSharedValue } from 'react-native-reanimated';
|
|
5
|
-
import { UnistyleDependency, UnistylesRuntime } from '../specs';
|
|
5
|
+
import { UnistyleDependency, UnistylesRuntime, UnistylesShadowRegistry } from '../specs';
|
|
6
6
|
import { services } from '../web/services';
|
|
7
7
|
export const useAnimatedTheme = () => {
|
|
8
|
-
const
|
|
8
|
+
const [scopedTheme, setScopedTheme] = useState(() => UnistylesShadowRegistry.getScopedTheme());
|
|
9
|
+
const theme = useSharedValue(UnistylesRuntime.getTheme(scopedTheme));
|
|
10
|
+
const maybeNewScopedTheme = UnistylesShadowRegistry.getScopedTheme();
|
|
11
|
+
if (scopedTheme !== maybeNewScopedTheme) {
|
|
12
|
+
setScopedTheme(maybeNewScopedTheme);
|
|
13
|
+
theme.set(UnistylesRuntime.getTheme(maybeNewScopedTheme));
|
|
14
|
+
}
|
|
9
15
|
useEffect(() => {
|
|
10
|
-
const dispose = services.listener.addListeners([UnistyleDependency.Theme], () =>
|
|
16
|
+
const dispose = services.listener.addListeners([UnistyleDependency.Theme], () => {
|
|
17
|
+
if (scopedTheme) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
theme.set(UnistylesRuntime.getTheme());
|
|
21
|
+
});
|
|
11
22
|
return () => {
|
|
12
23
|
dispose();
|
|
13
24
|
};
|
|
14
|
-
}, []);
|
|
25
|
+
}, [scopedTheme]);
|
|
15
26
|
return theme;
|
|
16
27
|
};
|
|
17
28
|
//# sourceMappingURL=useAnimatedTheme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useSharedValue","UnistyleDependency","UnistylesRuntime","services","useAnimatedTheme","theme","getTheme","dispose","listener","addListeners","Theme"
|
|
1
|
+
{"version":3,"names":["useEffect","useState","useSharedValue","UnistyleDependency","UnistylesRuntime","UnistylesShadowRegistry","services","useAnimatedTheme","scopedTheme","setScopedTheme","getScopedTheme","theme","getTheme","maybeNewScopedTheme","set","dispose","listener","addListeners","Theme"],"sourceRoot":"../../../src","sources":["reanimated/useAnimatedTheme.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAA2BC,cAAc,QAAQ,yBAAyB;AAI1E,SAASC,kBAAkB,EAAEC,gBAAgB,EAAEC,uBAAuB,QAAQ,UAAU;AACxF,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGR,QAAQ,CAC1C,MAAMI,uBAAuB,CAACK,cAAc,CAAC,CACjD,CAAC;EACD,MAAMC,KAAK,GAAGT,cAAc,CAACE,gBAAgB,CAACQ,QAAQ,CAACJ,WAAW,CAAC,CAAC;EACpE,MAAMK,mBAAmB,GAAGR,uBAAuB,CAACK,cAAc,CAAC,CAA+B;EAElG,IAAIF,WAAW,KAAKK,mBAAmB,EAAE;IACrCJ,cAAc,CAACI,mBAAmB,CAAC;IACnCF,KAAK,CAACG,GAAG,CAACV,gBAAgB,CAACQ,QAAQ,CAACC,mBAAmB,CAAC,CAAC;EAC7D;EAEAb,SAAS,CAAC,MAAM;IACZ,MAAMe,OAAO,GAAGT,QAAQ,CAACU,QAAQ,CAACC,YAAY,CAAC,CAACd,kBAAkB,CAACe,KAAK,CAAC,EAAE,MAAM;MAC7E,IAAIV,WAAW,EAAE;QACb;MACJ;MAEAG,KAAK,CAACG,GAAG,CAACV,gBAAgB,CAACQ,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO,MAAM;MACTG,OAAO,CAAC,CAAC;IACb,CAAC;EACL,CAAC,EAAE,CAACP,WAAW,CAAC,CAAC;EAEjB,OAAOG,KAAK;AAChB,CAAC","ignoreList":[]}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useEffect } from 'react';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
4
|
import { useSharedValue } from 'react-native-reanimated';
|
|
5
|
-
import { StyleSheet, UnistyleDependency, UnistylesRuntime } from '../specs';
|
|
5
|
+
import { StyleSheet, UnistyleDependency, UnistylesRuntime, UnistylesShadowRegistry } from '../specs';
|
|
6
6
|
export const useAnimatedTheme = () => {
|
|
7
|
-
const
|
|
7
|
+
const [scopedTheme, setScopedTheme] = useState(() => UnistylesShadowRegistry.getScopedTheme());
|
|
8
|
+
const theme = useSharedValue(UnistylesRuntime.getTheme(scopedTheme));
|
|
9
|
+
const maybeNewScopedTheme = UnistylesShadowRegistry.getScopedTheme();
|
|
10
|
+
if (scopedTheme !== maybeNewScopedTheme) {
|
|
11
|
+
setScopedTheme(maybeNewScopedTheme);
|
|
12
|
+
theme.set(UnistylesRuntime.getTheme(maybeNewScopedTheme));
|
|
13
|
+
}
|
|
8
14
|
useEffect(() => {
|
|
9
15
|
const dispose = StyleSheet.addChangeListener(changedDependencies => {
|
|
10
|
-
if (changedDependencies.includes(UnistyleDependency.Theme)) {
|
|
11
|
-
|
|
16
|
+
if (!changedDependencies.includes(UnistyleDependency.Theme)) {
|
|
17
|
+
return;
|
|
12
18
|
}
|
|
19
|
+
if (scopedTheme) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
theme.set(UnistylesRuntime.getTheme());
|
|
13
23
|
});
|
|
14
24
|
return () => dispose();
|
|
15
|
-
}, []);
|
|
25
|
+
}, [scopedTheme]);
|
|
16
26
|
return theme;
|
|
17
27
|
};
|
|
18
28
|
//# sourceMappingURL=useAnimatedTheme.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useSharedValue","StyleSheet","UnistyleDependency","UnistylesRuntime","useAnimatedTheme","theme","getTheme","dispose","addChangeListener","changedDependencies","includes","Theme"
|
|
1
|
+
{"version":3,"names":["useEffect","useState","useSharedValue","StyleSheet","UnistyleDependency","UnistylesRuntime","UnistylesShadowRegistry","useAnimatedTheme","scopedTheme","setScopedTheme","getScopedTheme","theme","getTheme","maybeNewScopedTheme","set","dispose","addChangeListener","changedDependencies","includes","Theme"],"sourceRoot":"../../../src","sources":["reanimated/useAnimatedTheme.native.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAA2BC,cAAc,QAAQ,yBAAyB;AAI1E,SAASC,UAAU,EAAEC,kBAAkB,EAAEC,gBAAgB,EAAEC,uBAAuB,QAAQ,UAAU;AAEpG,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGR,QAAQ,CAC1C,MAAMK,uBAAuB,CAACI,cAAc,CAAC,CACjD,CAAC;EACD,MAAMC,KAAK,GAAGT,cAAc,CAACG,gBAAgB,CAACO,QAAQ,CAACJ,WAAW,CAAC,CAAC;EACpE,MAAMK,mBAAmB,GAAGP,uBAAuB,CAACI,cAAc,CAAC,CAA+B;EAElG,IAAIF,WAAW,KAAKK,mBAAmB,EAAE;IACrCJ,cAAc,CAACI,mBAAmB,CAAC;IACnCF,KAAK,CAACG,GAAG,CAACT,gBAAgB,CAACO,QAAQ,CAACC,mBAAmB,CAAC,CAAC;EAC7D;EAEAb,SAAS,CAAC,MAAM;IACZ,MAAMe,OAAO,GAAGZ,UAAU,CAACa,iBAAiB,CAAEC,mBAAmB,IAAK;MAClE,IAAI,CAACA,mBAAmB,CAACC,QAAQ,CAACd,kBAAkB,CAACe,KAAK,CAAC,EAAE;QACzD;MACJ;MAEA,IAAIX,WAAW,EAAE;QACb;MACJ;MAEAG,KAAK,CAACG,GAAG,CAACT,gBAAgB,CAACO,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO,MAAMG,OAAO,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACP,WAAW,CAAC,CAAC;EAEjB,OAAOG,KAAK;AAChB,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { StyleSheet as NativeStyleSheet, processColor } from 'react-native';
|
|
|
4
4
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
5
5
|
import { parseBoxShadowString } from '../../core/parseBoxShadow';
|
|
6
6
|
const HybridUnistylesStyleSheet = NitroModules.createHybridObject('UnistylesStyleSheet');
|
|
7
|
-
HybridUnistylesStyleSheet.absoluteFillObject = NativeStyleSheet.
|
|
7
|
+
HybridUnistylesStyleSheet.absoluteFillObject = NativeStyleSheet.absoluteFill;
|
|
8
8
|
HybridUnistylesStyleSheet.absoluteFill = NativeStyleSheet.absoluteFill;
|
|
9
9
|
HybridUnistylesStyleSheet.flatten = NativeStyleSheet.flatten;
|
|
10
10
|
HybridUnistylesStyleSheet.compose = NativeStyleSheet.compose;
|
|
@@ -1 +1 @@
|
|
|
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":";;AAEA,SAASA,UAAU,IAAIC,gBAAgB,EAAEC,YAAY,QAAQ,cAAc;AAC3E,SAASC,YAAY,QAAQ,4BAA4B;AAMzD,SAASC,oBAAoB,QAAQ,2BAA2B;AA2ChE,MAAMC,yBAAyB,GAAGF,YAAY,CAACG,kBAAkB,CAAsB,qBAAqB,CAAC;AAE7GD,yBAAyB,CAACE,kBAAkB,GAAGN,gBAAgB,
|
|
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":";;AAEA,SAASA,UAAU,IAAIC,gBAAgB,EAAEC,YAAY,QAAQ,cAAc;AAC3E,SAASC,YAAY,QAAQ,4BAA4B;AAMzD,SAASC,oBAAoB,QAAQ,2BAA2B;AA2ChE,MAAMC,yBAAyB,GAAGF,YAAY,CAACG,kBAAkB,CAAsB,qBAAqB,CAAC;AAE7GD,yBAAyB,CAACE,kBAAkB,GAAGN,gBAAgB,CAACO,YAAY;AAC5EH,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":[]}
|
|
@@ -12,7 +12,7 @@ const createBoxShadowValue = style => {
|
|
|
12
12
|
color = '#000',
|
|
13
13
|
inset
|
|
14
14
|
} = style;
|
|
15
|
-
return `${inset ? 'inset ' : ''}${normalizeNumericValue(offsetX)} ${normalizeNumericValue(offsetY)} ${normalizeNumericValue(blurRadius)} ${normalizeNumericValue(spreadDistance)} ${color}`;
|
|
15
|
+
return `${inset ? 'inset ' : ''}${normalizeNumericValue(offsetX)} ${normalizeNumericValue(offsetY)} ${normalizeNumericValue(blurRadius)} ${normalizeNumericValue(spreadDistance)} ${String(color)}`;
|
|
16
16
|
};
|
|
17
17
|
export const getBoxShadow = boxShadow => {
|
|
18
18
|
const breakpoints = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["deepMergeObjects","keyInObject","normalizeNumericValue","createBoxShadowValue","style","offsetX","offsetY","blurRadius","spreadDistance","color","inset","getBoxShadow","boxShadow","breakpoints","Set","forEach","shadow","key","Object","keys","value","breakpoint","add","size","boxShadowStyle","fromEntries","map","breakpointStyles","Array","from","styles"],"sourceRoot":"../../../../../src","sources":["web/convert/object/boxShadow.ts"],"mappings":";;AAEA,SAASA,gBAAgB,QAAQ,gBAAgB;AACjD,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,qBAAqB,QAAQ,UAAU;AAEhD,MAAMC,oBAAoB,GAAIC,KAAqB,IAAK;EACpD,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC,UAAU,GAAG,CAAC;IAAEC,cAAc,GAAG,CAAC;IAAEC,KAAK,GAAG,MAAM;IAAEC;EAAM,CAAC,GAAGN,KAAK;EAE7F,OAAO,GAAGM,KAAK,GAAG,QAAQ,GAAG,EAAE,GAAGR,qBAAqB,CAACG,OAAO,CAAC,IAAIH,qBAAqB,CAACI,OAAO,CAAC,IAAIJ,qBAAqB,CAACK,UAAoB,CAAC,IAAIL,qBAAqB,CAACM,cAAwB,CAAC,
|
|
1
|
+
{"version":3,"names":["deepMergeObjects","keyInObject","normalizeNumericValue","createBoxShadowValue","style","offsetX","offsetY","blurRadius","spreadDistance","color","inset","String","getBoxShadow","boxShadow","breakpoints","Set","forEach","shadow","key","Object","keys","value","breakpoint","add","size","boxShadowStyle","fromEntries","map","breakpointStyles","Array","from","styles"],"sourceRoot":"../../../../../src","sources":["web/convert/object/boxShadow.ts"],"mappings":";;AAEA,SAASA,gBAAgB,QAAQ,gBAAgB;AACjD,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,qBAAqB,QAAQ,UAAU;AAEhD,MAAMC,oBAAoB,GAAIC,KAAqB,IAAK;EACpD,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC,UAAU,GAAG,CAAC;IAAEC,cAAc,GAAG,CAAC;IAAEC,KAAK,GAAG,MAAM;IAAEC;EAAM,CAAC,GAAGN,KAAK;EAE7F,OAAO,GAAGM,KAAK,GAAG,QAAQ,GAAG,EAAE,GAAGR,qBAAqB,CAACG,OAAO,CAAC,IAAIH,qBAAqB,CAACI,OAAO,CAAC,IAAIJ,qBAAqB,CAACK,UAAoB,CAAC,IAAIL,qBAAqB,CAACM,cAAwB,CAAC,IAAIG,MAAM,CAACF,KAAK,CAAC,EAAE;AAC3N,CAAC;AAED,OAAO,MAAMG,YAAY,GAAIC,SAAgC,IAAK;EAC9D,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAAS,CAAC;EACrCF,SAAS,CAACG,OAAO,CAAEC,MAAM,IAAK;IAC1B,MAAM,CAACC,GAAG,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC;IACjC,MAAMI,KAAK,GAAGJ,MAAM,CAACC,GAAG,CAAyB;;IAEjD;IACA,IAAI,OAAOG,KAAK,KAAK,QAAQ,EAAE;MAC3BF,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAACL,OAAO,CAAEM,UAAU,IAAKR,WAAW,CAACS,GAAG,CAACD,UAAU,CAAC,CAAC;IAC3E;EACJ,CAAC,CAAC;EAEF,IAAIR,WAAW,CAACU,IAAI,KAAK,CAAC,EAAE;IACxB,MAAMC,cAAc,GAAGN,MAAM,CAACO,WAAW,CACrCb,SAAS,CAACc,GAAG,CAAEV,MAAM,IAAK;MACtB,MAAM,CAACC,GAAG,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC;MACjC,OAAO,CAACC,GAAG,EAAED,MAAM,CAACC,GAAG,CAAyB,CAAC;IACrD,CAAC,CACL,CAAmB;IAEnB,OAAO;MACHL,SAAS,EAAEV,oBAAoB,CAACsB,cAAc;IAClD,CAAC;EACL;EAEA,MAAMG,gBAAgB,GAAGC,KAAK,CAACC,IAAI,CAAChB,WAAW,CAAC,CAACa,GAAG,CAAEL,UAAU,IAAK;IACjE,MAAMS,MAAM,GAAGZ,MAAM,CAACO,WAAW,CAC7Bb,SAAS,CAACc,GAAG,CAAEV,MAAM,IAAK;MACtB,MAAM,CAACC,GAAG,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC;MACjC,MAAMI,KAAK,GAAGJ,MAAM,CAACC,GAAG,CAAyB;MAEjD,IAAI,OAAOG,KAAK,KAAK,QAAQ,IAAIpB,WAAW,CAACoB,KAAK,EAAEC,UAAU,CAAC,EAAE;QAC7D,OAAO,CAACJ,GAAG,EAAEG,KAAK,CAACC,UAAU,CAAC,CAAC;MACnC;MAEA,OAAO,CAACJ,GAAG,EAAEG,KAAK,CAAC;IACvB,CAAC,CACL,CAAmB;IAEnB,OAAO;MACH,CAACC,UAAU,GAAG;QACVT,SAAS,EAAEV,oBAAoB,CAAC4B,MAAM;MAC1C;IACJ,CAAC;EACL,CAAC,CAAC;EAEF,OAAO/B,gBAAgB,CAAC,GAAG4B,gBAAgB,CAAC;AAChD,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Animated.d.ts","sourceRoot":"","sources":["../../../../../src/components/native/Animated.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AASrD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Animated.d.ts","sourceRoot":"","sources":["../../../../../src/components/native/Animated.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AASrD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;iGASqne,GAAG;;;;;;;;;;;;;;;;CAD5oe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnimatedTheme.d.ts","sourceRoot":"","sources":["../../../../src/reanimated/useAnimatedTheme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,yBAAyB,CAAA;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAK9C,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"useAnimatedTheme.d.ts","sourceRoot":"","sources":["../../../../src/reanimated/useAnimatedTheme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,yBAAyB,CAAA;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAK9C,eAAO,MAAM,gBAAgB,QA0BT,WAAW,CAAC,cAAc,CAC7C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnimatedTheme.native.d.ts","sourceRoot":"","sources":["../../../../src/reanimated/useAnimatedTheme.native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,yBAAyB,CAAA;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9C,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"useAnimatedTheme.native.d.ts","sourceRoot":"","sources":["../../../../src/reanimated/useAnimatedTheme.native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,yBAAyB,CAAA;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9C,eAAO,MAAM,gBAAgB,QA4BT,WAAW,CAAC,cAAc,CAC7C,CAAA"}
|
|
@@ -24,7 +24,7 @@ export type UnistylesConfig = {
|
|
|
24
24
|
breakpoints?: UnistylesBreakpoints;
|
|
25
25
|
};
|
|
26
26
|
export interface UnistylesStyleSheet extends UnistylesStyleSheetSpec {
|
|
27
|
-
absoluteFillObject: typeof NativeStyleSheetType.
|
|
27
|
+
absoluteFillObject: typeof NativeStyleSheetType.absoluteFill;
|
|
28
28
|
absoluteFill: typeof NativeStyleSheetType.absoluteFill;
|
|
29
29
|
compose: typeof NativeStyleSheetType.compose;
|
|
30
30
|
flatten: typeof NativeStyleSheetType.flatten;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/StyleSheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEtE,OAAO,EAAkC,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3E,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,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,KAAK,sBAAsB,GACrB;IACI,YAAY,EAAE,CAAC,MAAM,MAAM,eAAe,CAAC,GAAG,MAAM,eAAe,CAAA;IACnE,cAAc,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACjC,GACD;IACI,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,KAAK,CAAA;CACvB,GACD;IACI,cAAc,CAAC,EAAE,KAAK,CAAA;IACtB,YAAY,CAAC,EAAE,KAAK,CAAA;CACvB,CAAA;AAEP,KAAK,iBAAiB,GAAG,sBAAsB,GAAG;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qBAAqB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAChE,kBAAkB,EAAE,OAAO,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/StyleSheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEtE,OAAO,EAAkC,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3E,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,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,KAAK,sBAAsB,GACrB;IACI,YAAY,EAAE,CAAC,MAAM,MAAM,eAAe,CAAC,GAAG,MAAM,eAAe,CAAA;IACnE,cAAc,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACjC,GACD;IACI,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,KAAK,CAAA;CACvB,GACD;IACI,cAAc,CAAC,EAAE,KAAK,CAAA;IACtB,YAAY,CAAC,EAAE,KAAK,CAAA;CACvB,CAAA;AAEP,KAAK,iBAAiB,GAAG,sBAAsB,GAAG;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qBAAqB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAChE,kBAAkB,EAAE,OAAO,oBAAoB,CAAC,YAAY,CAAA;IAC5D,YAAY,EAAE,OAAO,oBAAoB,CAAC,YAAY,CAAA;IACtD,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAA;IAC5C,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAA;IAG5C,IAAI,IAAI,IAAI,CAAA;IACZ,MAAM,EAAE,yBAAyB,CAAA;IACjC,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;IACxC,SAAS,EAAE;QACP,YAAY,EAAE,OAAO,YAAY,CAAA;QACjC,oBAAoB,EAAE,OAAO,oBAAoB,CAAA;KACpD,CAAA;CACJ;AAeD,KAAK,cAAc,GAAG,WAAW,GAAG,MAAM,CAAA;AAE1C,eAAO,MAAM,UAAU,EAAgC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAA"}
|
|
@@ -43,16 +43,16 @@ namespace margelo::nitro::unistyles {
|
|
|
43
43
|
*/
|
|
44
44
|
void invoke(const std::vector<UnistyleDependency>& dependencies, const UnistylesNativeMiniRuntime& miniRuntime) const {
|
|
45
45
|
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JArrayClass<JUnistyleDependency>> /* dependencies */, jni::alias_ref<JUnistylesNativeMiniRuntime> /* miniRuntime */)>("invoke");
|
|
46
|
-
method(self(), [&]() {
|
|
47
|
-
size_t __size =
|
|
46
|
+
method(self(), [&](auto&& __input) {
|
|
47
|
+
size_t __size = __input.size();
|
|
48
48
|
jni::local_ref<jni::JArrayClass<JUnistyleDependency>> __array = jni::JArrayClass<JUnistyleDependency>::newArray(__size);
|
|
49
49
|
for (size_t __i = 0; __i < __size; __i++) {
|
|
50
|
-
const auto& __element =
|
|
50
|
+
const auto& __element = __input[__i];
|
|
51
51
|
auto __elementJni = JUnistyleDependency::fromCpp(__element);
|
|
52
52
|
__array->setElement(__i, *__elementJni);
|
|
53
53
|
}
|
|
54
54
|
return __array;
|
|
55
|
-
}(), JUnistylesNativeMiniRuntime::fromCpp(miniRuntime));
|
|
55
|
+
}(dependencies), JUnistylesNativeMiniRuntime::fromCpp(miniRuntime));
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
|
|
@@ -70,16 +70,16 @@ namespace margelo::nitro::unistyles {
|
|
|
70
70
|
* Invokes the C++ `std::function<...>` this `JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime_cxx` instance holds.
|
|
71
71
|
*/
|
|
72
72
|
void invoke_cxx(jni::alias_ref<jni::JArrayClass<JUnistyleDependency>> dependencies, jni::alias_ref<JUnistylesNativeMiniRuntime> miniRuntime) {
|
|
73
|
-
_func([&]() {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
73
|
+
_func([&](auto&& __input) {
|
|
74
|
+
size_t __size = __input->size();
|
|
75
|
+
std::vector<UnistyleDependency> __vector;
|
|
76
|
+
__vector.reserve(__size);
|
|
77
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
78
|
+
auto __element = __input->getElement(__i);
|
|
79
|
+
__vector.push_back(__element->toCpp());
|
|
80
|
+
}
|
|
81
|
+
return __vector;
|
|
82
|
+
}(dependencies), miniRuntime->toCpp());
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
public:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-unistyles",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.5",
|
|
4
4
|
"description": "Level up your React Native StyleSheet",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "NODE_ENV=babel-test jest ./plugin ./src/__tests__",
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
"devDependencies": {
|
|
133
133
|
"@callstack/repack": "5.2.4",
|
|
134
134
|
"@commitlint/config-conventional": "20.4.2",
|
|
135
|
-
"@react-native/normalize-colors": "0.
|
|
135
|
+
"@react-native/normalize-colors": "0.85.3",
|
|
136
136
|
"@rspack/core": "1.7.6",
|
|
137
137
|
"@types/jest": "30.0.0",
|
|
138
138
|
"@types/react": "19.2.14",
|
|
@@ -144,15 +144,15 @@
|
|
|
144
144
|
"jest": "30.2.0",
|
|
145
145
|
"@babel/plugin-syntax-jsx": "7.28.6",
|
|
146
146
|
"@babel/runtime": "7.28.6",
|
|
147
|
-
"@react-native/babel-preset": "0.
|
|
148
|
-
"nitrogen": "0.35.
|
|
147
|
+
"@react-native/babel-preset": "0.85.3",
|
|
148
|
+
"nitrogen": "0.35.7",
|
|
149
149
|
"oxfmt": "0.35.0",
|
|
150
150
|
"oxlint": "1.50.0",
|
|
151
|
-
"react": "19.2.
|
|
152
|
-
"react-native": "0.
|
|
151
|
+
"react": "19.2.3",
|
|
152
|
+
"react-native": "0.85.3",
|
|
153
153
|
"react-native-builder-bob": "0.40.18",
|
|
154
|
-
"react-native-nitro-modules": "0.35.
|
|
155
|
-
"react-native-reanimated": "4.
|
|
154
|
+
"react-native-nitro-modules": "0.35.7",
|
|
155
|
+
"react-native-reanimated": "4.3.1",
|
|
156
156
|
"react-native-web": "0.21.2",
|
|
157
157
|
"typescript": "5.9.3"
|
|
158
158
|
},
|
package/plugin/index.js
CHANGED
|
@@ -219,6 +219,18 @@ var UnistyleDependency = {
|
|
|
219
219
|
Ime: 14,
|
|
220
220
|
Rtl: 15
|
|
221
221
|
};
|
|
222
|
+
function getStyleKeyName(key) {
|
|
223
|
+
if (!key) {
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
if (t4.isIdentifier(key)) {
|
|
227
|
+
return key.name;
|
|
228
|
+
}
|
|
229
|
+
if (t4.isStringLiteral(key) || t4.isNumericLiteral(key) || t4.isBooleanLiteral(key)) {
|
|
230
|
+
return String(key.value);
|
|
231
|
+
}
|
|
232
|
+
return null;
|
|
233
|
+
}
|
|
222
234
|
function getProperty(property) {
|
|
223
235
|
if (!property) {
|
|
224
236
|
return void 0;
|
|
@@ -389,28 +401,30 @@ function getStylesDependenciesFromObject(path2) {
|
|
|
389
401
|
const stylesheet = path2.node.arguments[0];
|
|
390
402
|
if (t4.isObjectExpression(stylesheet)) {
|
|
391
403
|
stylesheet?.properties.forEach((property) => {
|
|
392
|
-
if (!t4.isObjectProperty(property)
|
|
404
|
+
if (!t4.isObjectProperty(property)) {
|
|
393
405
|
return;
|
|
394
406
|
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
407
|
+
const styleKey = getStyleKeyName(property.key);
|
|
408
|
+
if (!styleKey) {
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
411
|
+
if (t4.isObjectExpression(property.value)) {
|
|
412
|
+
property.value.properties.forEach((innerProp) => {
|
|
413
|
+
if (t4.isObjectProperty(innerProp) && t4.isIdentifier(innerProp.key) && innerProp.key.name === "variants") {
|
|
414
|
+
detectedStylesWithVariants.add({
|
|
415
|
+
label: "variants",
|
|
416
|
+
key: styleKey
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
});
|
|
406
420
|
}
|
|
407
421
|
if (t4.isArrowFunctionExpression(property.value)) {
|
|
408
422
|
if (t4.isObjectExpression(property.value.body)) {
|
|
409
423
|
property.value.body.properties.forEach((innerProp) => {
|
|
410
|
-
if (t4.isObjectProperty(innerProp) && t4.isIdentifier(innerProp.key) &&
|
|
424
|
+
if (t4.isObjectProperty(innerProp) && t4.isIdentifier(innerProp.key) && innerProp.key.name === "variants") {
|
|
411
425
|
detectedStylesWithVariants.add({
|
|
412
426
|
label: "variants",
|
|
413
|
-
key:
|
|
427
|
+
key: styleKey
|
|
414
428
|
});
|
|
415
429
|
}
|
|
416
430
|
});
|
|
@@ -493,10 +507,10 @@ function getStylesDependenciesFromFunction(funcPath) {
|
|
|
493
507
|
if (Array.isArray(stylePath)) {
|
|
494
508
|
return;
|
|
495
509
|
}
|
|
496
|
-
|
|
510
|
+
const styleKey = getStyleKeyName(stylePath.node);
|
|
511
|
+
if (!styleKey) {
|
|
497
512
|
return;
|
|
498
513
|
}
|
|
499
|
-
const styleKey = stylePath.node.name;
|
|
500
514
|
const valuePath = propPath.get("value");
|
|
501
515
|
if (Array.isArray(valuePath)) {
|
|
502
516
|
return;
|
|
@@ -901,13 +915,12 @@ function index_default() {
|
|
|
901
915
|
if (detectedDependencies) {
|
|
902
916
|
if (t6.isObjectExpression(arg)) {
|
|
903
917
|
arg.properties.forEach((property) => {
|
|
904
|
-
if (t6.isObjectProperty(property)
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
);
|
|
918
|
+
if (!t6.isObjectProperty(property)) {
|
|
919
|
+
return;
|
|
920
|
+
}
|
|
921
|
+
const styleKey = getStyleKeyName(property.key);
|
|
922
|
+
if (styleKey && Object.prototype.hasOwnProperty.call(detectedDependencies, styleKey)) {
|
|
923
|
+
addDependencies(state, styleKey, property, detectedDependencies[styleKey] ?? []);
|
|
911
924
|
}
|
|
912
925
|
});
|
|
913
926
|
}
|
|
@@ -920,13 +933,12 @@ function index_default() {
|
|
|
920
933
|
const body = t6.isBlockStatement(arg.body) ? arg.body.body.find((statement) => t6.isReturnStatement(statement))?.argument : arg.body;
|
|
921
934
|
if (t6.isObjectExpression(body)) {
|
|
922
935
|
body.properties.forEach((property) => {
|
|
923
|
-
if (t6.isObjectProperty(property)
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
);
|
|
936
|
+
if (!t6.isObjectProperty(property)) {
|
|
937
|
+
return;
|
|
938
|
+
}
|
|
939
|
+
const styleKey = getStyleKeyName(property.key);
|
|
940
|
+
if (styleKey && Object.prototype.hasOwnProperty.call(detectedDependencies, styleKey)) {
|
|
941
|
+
addDependencies(state, styleKey, property, detectedDependencies[styleKey] ?? []);
|
|
930
942
|
}
|
|
931
943
|
});
|
|
932
944
|
}
|
|
@@ -1,22 +1,37 @@
|
|
|
1
|
-
import { useEffect } from 'react'
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
2
|
import { type SharedValue, useSharedValue } from 'react-native-reanimated'
|
|
3
3
|
|
|
4
4
|
import type { UnistylesTheme } from '../types'
|
|
5
5
|
|
|
6
|
-
import { StyleSheet, UnistyleDependency, UnistylesRuntime } from '../specs'
|
|
6
|
+
import { StyleSheet, UnistyleDependency, UnistylesRuntime, UnistylesShadowRegistry } from '../specs'
|
|
7
7
|
|
|
8
8
|
export const useAnimatedTheme = () => {
|
|
9
|
-
const
|
|
9
|
+
const [scopedTheme, setScopedTheme] = useState(
|
|
10
|
+
() => UnistylesShadowRegistry.getScopedTheme() as UnistylesTheme | undefined,
|
|
11
|
+
)
|
|
12
|
+
const theme = useSharedValue(UnistylesRuntime.getTheme(scopedTheme))
|
|
13
|
+
const maybeNewScopedTheme = UnistylesShadowRegistry.getScopedTheme() as UnistylesTheme | undefined
|
|
14
|
+
|
|
15
|
+
if (scopedTheme !== maybeNewScopedTheme) {
|
|
16
|
+
setScopedTheme(maybeNewScopedTheme)
|
|
17
|
+
theme.set(UnistylesRuntime.getTheme(maybeNewScopedTheme))
|
|
18
|
+
}
|
|
10
19
|
|
|
11
20
|
useEffect(() => {
|
|
12
21
|
const dispose = StyleSheet.addChangeListener((changedDependencies) => {
|
|
13
|
-
if (changedDependencies.includes(UnistyleDependency.Theme)) {
|
|
14
|
-
|
|
22
|
+
if (!changedDependencies.includes(UnistyleDependency.Theme)) {
|
|
23
|
+
return
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (scopedTheme) {
|
|
27
|
+
return
|
|
15
28
|
}
|
|
29
|
+
|
|
30
|
+
theme.set(UnistylesRuntime.getTheme())
|
|
16
31
|
})
|
|
17
32
|
|
|
18
33
|
return () => dispose()
|
|
19
|
-
}, [])
|
|
34
|
+
}, [scopedTheme])
|
|
20
35
|
|
|
21
36
|
return theme as SharedValue<UnistylesTheme>
|
|
22
37
|
}
|
|
@@ -1,23 +1,36 @@
|
|
|
1
|
-
import { useEffect } from 'react'
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
2
|
import { type SharedValue, useSharedValue } from 'react-native-reanimated'
|
|
3
3
|
|
|
4
4
|
import type { UnistylesTheme } from '../types'
|
|
5
5
|
|
|
6
|
-
import { UnistyleDependency, UnistylesRuntime } from '../specs'
|
|
6
|
+
import { UnistyleDependency, UnistylesRuntime, UnistylesShadowRegistry } from '../specs'
|
|
7
7
|
import { services } from '../web/services'
|
|
8
8
|
|
|
9
9
|
export const useAnimatedTheme = () => {
|
|
10
|
-
const
|
|
10
|
+
const [scopedTheme, setScopedTheme] = useState(
|
|
11
|
+
() => UnistylesShadowRegistry.getScopedTheme() as UnistylesTheme | undefined,
|
|
12
|
+
)
|
|
13
|
+
const theme = useSharedValue(UnistylesRuntime.getTheme(scopedTheme))
|
|
14
|
+
const maybeNewScopedTheme = UnistylesShadowRegistry.getScopedTheme() as UnistylesTheme | undefined
|
|
15
|
+
|
|
16
|
+
if (scopedTheme !== maybeNewScopedTheme) {
|
|
17
|
+
setScopedTheme(maybeNewScopedTheme)
|
|
18
|
+
theme.set(UnistylesRuntime.getTheme(maybeNewScopedTheme))
|
|
19
|
+
}
|
|
11
20
|
|
|
12
21
|
useEffect(() => {
|
|
13
|
-
const dispose = services.listener.addListeners([UnistyleDependency.Theme], () =>
|
|
14
|
-
|
|
15
|
-
|
|
22
|
+
const dispose = services.listener.addListeners([UnistyleDependency.Theme], () => {
|
|
23
|
+
if (scopedTheme) {
|
|
24
|
+
return
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
theme.set(UnistylesRuntime.getTheme())
|
|
28
|
+
})
|
|
16
29
|
|
|
17
30
|
return () => {
|
|
18
31
|
dispose()
|
|
19
32
|
}
|
|
20
|
-
}, [])
|
|
33
|
+
}, [scopedTheme])
|
|
21
34
|
|
|
22
35
|
return theme as SharedValue<UnistylesTheme>
|
|
23
36
|
}
|
|
@@ -35,7 +35,7 @@ export type UnistylesConfig = {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
export interface UnistylesStyleSheet extends UnistylesStyleSheetSpec {
|
|
38
|
-
absoluteFillObject: typeof NativeStyleSheetType.
|
|
38
|
+
absoluteFillObject: typeof NativeStyleSheetType.absoluteFill
|
|
39
39
|
absoluteFill: typeof NativeStyleSheetType.absoluteFill
|
|
40
40
|
compose: typeof NativeStyleSheetType.compose
|
|
41
41
|
flatten: typeof NativeStyleSheetType.flatten
|
|
@@ -52,7 +52,7 @@ export interface UnistylesStyleSheet extends UnistylesStyleSheetSpec {
|
|
|
52
52
|
|
|
53
53
|
const HybridUnistylesStyleSheet = NitroModules.createHybridObject<UnistylesStyleSheet>('UnistylesStyleSheet')
|
|
54
54
|
|
|
55
|
-
HybridUnistylesStyleSheet.absoluteFillObject = NativeStyleSheet.
|
|
55
|
+
HybridUnistylesStyleSheet.absoluteFillObject = NativeStyleSheet.absoluteFill
|
|
56
56
|
HybridUnistylesStyleSheet.absoluteFill = NativeStyleSheet.absoluteFill
|
|
57
57
|
HybridUnistylesStyleSheet.flatten = NativeStyleSheet.flatten
|
|
58
58
|
HybridUnistylesStyleSheet.compose = NativeStyleSheet.compose
|
|
@@ -7,7 +7,7 @@ import { normalizeNumericValue } from '../utils'
|
|
|
7
7
|
const createBoxShadowValue = (style: BoxShadowValue) => {
|
|
8
8
|
const { offsetX, offsetY, blurRadius = 0, spreadDistance = 0, color = '#000', inset } = style
|
|
9
9
|
|
|
10
|
-
return `${inset ? 'inset ' : ''}${normalizeNumericValue(offsetX)} ${normalizeNumericValue(offsetY)} ${normalizeNumericValue(blurRadius as number)} ${normalizeNumericValue(spreadDistance as number)} ${color}`
|
|
10
|
+
return `${inset ? 'inset ' : ''}${normalizeNumericValue(offsetX)} ${normalizeNumericValue(offsetY)} ${normalizeNumericValue(blurRadius as number)} ${normalizeNumericValue(spreadDistance as number)} ${String(color)}`
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export const getBoxShadow = (boxShadow: Array<BoxShadowValue>) => {
|