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.
Files changed (32) hide show
  1. package/README.md +3 -3
  2. package/lib/commonjs/reanimated/useAnimatedTheme.js +14 -3
  3. package/lib/commonjs/reanimated/useAnimatedTheme.js.map +1 -1
  4. package/lib/commonjs/reanimated/useAnimatedTheme.native.js +14 -4
  5. package/lib/commonjs/reanimated/useAnimatedTheme.native.js.map +1 -1
  6. package/lib/commonjs/specs/StyleSheet/index.js +1 -1
  7. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  8. package/lib/commonjs/web/convert/object/boxShadow.js +1 -1
  9. package/lib/commonjs/web/convert/object/boxShadow.js.map +1 -1
  10. package/lib/module/reanimated/useAnimatedTheme.js +16 -5
  11. package/lib/module/reanimated/useAnimatedTheme.js.map +1 -1
  12. package/lib/module/reanimated/useAnimatedTheme.native.js +16 -6
  13. package/lib/module/reanimated/useAnimatedTheme.native.js.map +1 -1
  14. package/lib/module/specs/StyleSheet/index.js +1 -1
  15. package/lib/module/specs/StyleSheet/index.js.map +1 -1
  16. package/lib/module/web/convert/object/boxShadow.js +1 -1
  17. package/lib/module/web/convert/object/boxShadow.js.map +1 -1
  18. package/lib/typescript/src/components/native/Animated.d.ts.map +1 -1
  19. package/lib/typescript/src/reanimated/useAnimatedTheme.d.ts.map +1 -1
  20. package/lib/typescript/src/reanimated/useAnimatedTheme.native.d.ts.map +1 -1
  21. package/lib/typescript/src/specs/StyleSheet/index.d.ts +1 -1
  22. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  23. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +14 -14
  24. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +1 -1
  25. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +1 -1
  26. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +1 -1
  27. package/package.json +8 -8
  28. package/plugin/index.js +42 -30
  29. package/src/reanimated/useAnimatedTheme.native.ts +21 -6
  30. package/src/reanimated/useAnimatedTheme.ts +20 -7
  31. package/src/specs/StyleSheet/index.ts +2 -2
  32. 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 theme = (0, _reactNativeReanimated.useSharedValue)(_specs.UnistylesRuntime.getTheme());
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], () => theme.set(_specs.UnistylesRuntime.getTheme()));
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","set","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,MAAMC,KAAK,GAAG,IAAAC,qCAAc,EAACC,uBAAgB,CAACC,QAAQ,CAAC,CAAC,CAAC;EAEzD,IAAAC,gBAAS,EAAC,MAAM;IACZ,MAAMC,OAAO,GAAGC,kBAAQ,CAACC,QAAQ,CAACC,YAAY,CAAC,CAACC,yBAAkB,CAACC,KAAK,CAAC,EAAE,MACvEV,KAAK,CAACW,GAAG,CAACT,uBAAgB,CAACC,QAAQ,CAAC,CAAC,CACzC,CAAC;IAED,OAAO,MAAM;MACTE,OAAO,CAAC,CAAC;IACb,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOL,KAAK;AAChB,CAAC;AAAAY,OAAA,CAAAb,gBAAA,GAAAA,gBAAA","ignoreList":[]}
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 theme = (0, _reactNativeReanimated.useSharedValue)(_specs.UnistylesRuntime.getTheme());
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
- theme.set(_specs.UnistylesRuntime.getTheme());
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","set","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,MAAMC,KAAK,GAAG,IAAAC,qCAAc,EAACC,uBAAgB,CAACC,QAAQ,CAAC,CAAC,CAAC;EAEzD,IAAAC,gBAAS,EAAC,MAAM;IACZ,MAAMC,OAAO,GAAGC,iBAAU,CAACC,iBAAiB,CAAEC,mBAAmB,IAAK;MAClE,IAAIA,mBAAmB,CAACC,QAAQ,CAACC,yBAAkB,CAACC,KAAK,CAAC,EAAE;QACxDX,KAAK,CAACY,GAAG,CAACV,uBAAgB,CAACC,QAAQ,CAAC,CAAC,CAAC;MAC1C;IACJ,CAAC,CAAC;IAEF,OAAO,MAAME,OAAO,CAAC,CAAC;EAC1B,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOL,KAAK;AAChB,CAAC;AAAAa,OAAA,CAAAd,gBAAA,GAAAA,gBAAA","ignoreList":[]}
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.absoluteFillObject;
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,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":[]}
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,IAAIC,KAAK,EAAE;AACnN,CAAC;AAEM,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,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,EAAEV,oBAAoB,CAAC4B,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
+ {"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 theme = useSharedValue(UnistylesRuntime.getTheme());
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], () => theme.set(UnistylesRuntime.getTheme()));
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","set"],"sourceRoot":"../../../src","sources":["reanimated/useAnimatedTheme.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAA2BC,cAAc,QAAQ,yBAAyB;AAI1E,SAASC,kBAAkB,EAAEC,gBAAgB,QAAQ,UAAU;AAC/D,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,MAAMC,KAAK,GAAGL,cAAc,CAACE,gBAAgB,CAACI,QAAQ,CAAC,CAAC,CAAC;EAEzDP,SAAS,CAAC,MAAM;IACZ,MAAMQ,OAAO,GAAGJ,QAAQ,CAACK,QAAQ,CAACC,YAAY,CAAC,CAACR,kBAAkB,CAACS,KAAK,CAAC,EAAE,MACvEL,KAAK,CAACM,GAAG,CAACT,gBAAgB,CAACI,QAAQ,CAAC,CAAC,CACzC,CAAC;IAED,OAAO,MAAM;MACTC,OAAO,CAAC,CAAC;IACb,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOF,KAAK;AAChB,CAAC","ignoreList":[]}
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 theme = useSharedValue(UnistylesRuntime.getTheme());
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
- theme.set(UnistylesRuntime.getTheme());
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","set"],"sourceRoot":"../../../src","sources":["reanimated/useAnimatedTheme.native.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAA2BC,cAAc,QAAQ,yBAAyB;AAI1E,SAASC,UAAU,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,UAAU;AAE3E,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,MAAMC,KAAK,GAAGL,cAAc,CAACG,gBAAgB,CAACG,QAAQ,CAAC,CAAC,CAAC;EAEzDP,SAAS,CAAC,MAAM;IACZ,MAAMQ,OAAO,GAAGN,UAAU,CAACO,iBAAiB,CAAEC,mBAAmB,IAAK;MAClE,IAAIA,mBAAmB,CAACC,QAAQ,CAACR,kBAAkB,CAACS,KAAK,CAAC,EAAE;QACxDN,KAAK,CAACO,GAAG,CAACT,gBAAgB,CAACG,QAAQ,CAAC,CAAC,CAAC;MAC1C;IACJ,CAAC,CAAC;IAEF,OAAO,MAAMC,OAAO,CAAC,CAAC;EAC1B,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOF,KAAK;AAChB,CAAC","ignoreList":[]}
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.absoluteFillObject;
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,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":[]}
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,IAAIC,KAAK,EAAE;AACnN,CAAC;AAED,OAAO,MAAME,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,EAAET,oBAAoB,CAACqB,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,IAAInB,WAAW,CAACmB,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,EAAET,oBAAoB,CAAC2B,MAAM;MAC1C;IACJ,CAAC;EACL,CAAC,CAAC;EAEF,OAAO9B,gBAAgB,CAAC,GAAG2B,gBAAgB,CAAC;AAChD,CAAC","ignoreList":[]}
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;;;;;;;;;;;;;;;;;;;;iGASwhe,GAAG;;;;;;;;;;;;;;;;CAD/ie,CAAA"}
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,QAaT,WAAW,CAAC,cAAc,CAC7C,CAAA"}
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,QAaT,WAAW,CAAC,cAAc,CAC7C,CAAA"}
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.absoluteFillObject;
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,kBAAkB,CAAA;IAClE,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"}
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 = dependencies.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 = dependencies[__i];
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
- size_t __size = dependencies->size();
75
- std::vector<UnistyleDependency> __vector;
76
- __vector.reserve(__size);
77
- for (size_t __i = 0; __i < __size; __i++) {
78
- auto __element = dependencies->getElement(__i);
79
- __vector.push_back(__element->toCpp());
80
- }
81
- return __vector;
82
- }(), miniRuntime->toCpp());
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:
@@ -35,7 +35,7 @@ data class Dimensions(
35
35
  }
36
36
 
37
37
  override fun hashCode(): Int {
38
- return arrayOf(
38
+ return arrayOf<Any?>(
39
39
  width,
40
40
  height
41
41
  ).contentDeepHashCode()
@@ -47,7 +47,7 @@ data class Insets(
47
47
  }
48
48
 
49
49
  override fun hashCode(): Int {
50
- return arrayOf(
50
+ return arrayOf<Any?>(
51
51
  top,
52
52
  bottom,
53
53
  left,
@@ -71,7 +71,7 @@ data class UnistylesNativeMiniRuntime(
71
71
  }
72
72
 
73
73
  override fun hashCode(): Int {
74
- return arrayOf(
74
+ return arrayOf<Any?>(
75
75
  colorScheme,
76
76
  screen,
77
77
  contentSizeCategory,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-unistyles",
3
- "version": "3.2.4",
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.83.2",
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.83.2",
148
- "nitrogen": "0.35.5",
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.0",
152
- "react-native": "0.83.2",
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.5",
155
- "react-native-reanimated": "4.2.2",
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) || !t4.isIdentifier(property.key)) {
404
+ if (!t4.isObjectProperty(property)) {
393
405
  return;
394
406
  }
395
- if (t4.isObjectProperty(property)) {
396
- if (t4.isObjectExpression(property.value)) {
397
- property.value.properties.forEach((innerProp) => {
398
- if (t4.isObjectProperty(innerProp) && t4.isIdentifier(innerProp.key) && t4.isIdentifier(property.key) && innerProp.key.name === "variants") {
399
- detectedStylesWithVariants.add({
400
- label: "variants",
401
- key: property.key.name
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) && t4.isIdentifier(property.key) && innerProp.key.name === "variants") {
424
+ if (t4.isObjectProperty(innerProp) && t4.isIdentifier(innerProp.key) && innerProp.key.name === "variants") {
411
425
  detectedStylesWithVariants.add({
412
426
  label: "variants",
413
- key: property.key.name
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
- if (!stylePath.isIdentifier()) {
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) && t6.isIdentifier(property.key) && Object.prototype.hasOwnProperty.call(detectedDependencies, property.key.name)) {
905
- addDependencies(
906
- state,
907
- property.key.name,
908
- property,
909
- detectedDependencies[property.key.name] ?? []
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) && t6.isIdentifier(property.key) && Object.prototype.hasOwnProperty.call(detectedDependencies, property.key.name)) {
924
- addDependencies(
925
- state,
926
- property.key.name,
927
- property,
928
- detectedDependencies[property.key.name] ?? []
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 theme = useSharedValue(UnistylesRuntime.getTheme())
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
- theme.set(UnistylesRuntime.getTheme())
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 theme = useSharedValue(UnistylesRuntime.getTheme())
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
- theme.set(UnistylesRuntime.getTheme()),
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.absoluteFillObject
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.absoluteFillObject
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>) => {