react-native-unistyles 3.0.0-nightly-20250606 → 3.0.0-nightly-20250609

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 (54) hide show
  1. package/README.md +4 -4
  2. package/cxx/core/UnistyleWrapper.h +4 -1
  3. package/cxx/parser/Parser.cpp +8 -0
  4. package/lib/commonjs/components/AdaptiveTheme.js +35 -0
  5. package/lib/commonjs/components/AdaptiveTheme.js.map +1 -0
  6. package/lib/commonjs/components/ApplyScopedTheme.js +19 -0
  7. package/lib/commonjs/components/ApplyScopedTheme.js.map +1 -0
  8. package/lib/commonjs/components/NamedTheme.js +31 -0
  9. package/lib/commonjs/components/NamedTheme.js.map +1 -0
  10. package/lib/commonjs/components/ScopedTheme.js +20 -23
  11. package/lib/commonjs/components/ScopedTheme.js.map +1 -1
  12. package/lib/commonjs/specs/ShadowRegistry/index.js +6 -1
  13. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  14. package/lib/commonjs/utils.js +0 -3
  15. package/lib/commonjs/utils.js.map +1 -1
  16. package/lib/commonjs/web/listener.js +2 -0
  17. package/lib/commonjs/web/listener.js.map +1 -1
  18. package/lib/module/components/AdaptiveTheme.js +29 -0
  19. package/lib/module/components/AdaptiveTheme.js.map +1 -0
  20. package/lib/module/components/ApplyScopedTheme.js +14 -0
  21. package/lib/module/components/ApplyScopedTheme.js.map +1 -0
  22. package/lib/module/components/NamedTheme.js +25 -0
  23. package/lib/module/components/NamedTheme.js.map +1 -0
  24. package/lib/module/components/ScopedTheme.js +20 -23
  25. package/lib/module/components/ScopedTheme.js.map +1 -1
  26. package/lib/module/specs/ShadowRegistry/index.js +6 -1
  27. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  28. package/lib/module/utils.js +0 -3
  29. package/lib/module/utils.js.map +1 -1
  30. package/lib/module/web/listener.js +2 -0
  31. package/lib/module/web/listener.js.map +1 -1
  32. package/lib/typescript/plugin/src/consts.d.ts.map +1 -1
  33. package/lib/typescript/src/components/AdaptiveTheme.d.ts +8 -0
  34. package/lib/typescript/src/components/AdaptiveTheme.d.ts.map +1 -0
  35. package/lib/typescript/src/components/ApplyScopedTheme.d.ts +7 -0
  36. package/lib/typescript/src/components/ApplyScopedTheme.d.ts.map +1 -0
  37. package/lib/typescript/src/components/NamedTheme.d.ts +10 -0
  38. package/lib/typescript/src/components/NamedTheme.d.ts.map +1 -0
  39. package/lib/typescript/src/components/ScopedTheme.d.ts +4 -0
  40. package/lib/typescript/src/components/ScopedTheme.d.ts.map +1 -1
  41. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  42. package/lib/typescript/src/utils.d.ts.map +1 -1
  43. package/lib/typescript/src/web/listener.d.ts.map +1 -1
  44. package/package.json +3 -3
  45. package/plugin/index.d.ts +1 -1
  46. package/plugin/index.js +1 -4
  47. package/repack-plugin/index.js +1 -4
  48. package/src/components/AdaptiveTheme.tsx +34 -0
  49. package/src/components/ApplyScopedTheme.tsx +17 -0
  50. package/src/components/NamedTheme.tsx +33 -0
  51. package/src/components/ScopedTheme.tsx +35 -25
  52. package/src/specs/ShadowRegistry/index.ts +6 -1
  53. package/src/utils.ts +1 -3
  54. package/src/web/listener.ts +2 -0
package/README.md CHANGED
@@ -21,16 +21,16 @@ yarn add react-native-unistyles@next
21
21
  Install dependencies:
22
22
 
23
23
  ```shell
24
- yarn add react-native-edge-to-edge react-native-nitro-modules@0.26.0
24
+ yarn add react-native-edge-to-edge react-native-nitro-modules@0.26.2
25
25
  ```
26
26
 
27
27
  > To avoid unexpected behavior, always use a fixed version of `react-native-nitro-modules`
28
28
 
29
29
  | react-native-unistyles | react-native-nitro-modules | other requirements |
30
30
  |------------------------|----------------------------|----- |
31
- | 3.0.0-nightly-20250520 | 0.26.0 | |
32
- | 3.0.0-nightly-20250604 | 0.26.0 | React >= 19 and React Native >= 0.78 |
33
- | 3.0.0-rc.4 | 0.26.0 | |
31
+ | 3.0.0-nightly-20250520 | 0.26.2 | |
32
+ | 3.0.0-nightly-20250607 | 0.26.2 | React >= 19 and React Native >= 0.78 |
33
+ | 3.0.0-rc.4 | 0.26.2 | |
34
34
 
35
35
  Then follow [installation guides](https://unistyl.es/v3/start/getting-started) for your platform.
36
36
 
@@ -154,8 +154,11 @@ inline static jsi::Value objectFromUnistyle(jsi::Runtime& rt, std::shared_ptr<Hy
154
154
  rt,
155
155
  jsi::PropNameID::forUtf8(rt, helpers::GET_STYLES.c_str()),
156
156
  0,
157
- [unistyle, unistylesRuntime, variants, parsedArguments](jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *args, size_t count
157
+ [unistyleID = unistyle->unid, unistylesRuntime, variants, parsedArguments](jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *args, size_t count
158
158
  ) {
159
+ auto& registry = UnistylesRegistry::get();
160
+ auto unistyle = registry.getUnistyleById(rt, unistyleID);
161
+
159
162
  parser::Parser(unistylesRuntime).rebuildUnistyle(rt, unistyle, variants, parsedArguments);
160
163
 
161
164
  return jsi::Value(rt, unistyle->parsedStyle.value()).asObject(rt);
@@ -881,6 +881,14 @@ jsi::Value parser::Parser::parseSecondLevel(jsi::Runtime &rt, Unistyle::Shared u
881
881
  jsi::Object parsedStyle = jsi::Object(rt);
882
882
 
883
883
  helpers::enumerateJSIObject(rt, nestedObjectStyle, [&](const std::string& propertyName, jsi::Value& propertyValue){
884
+ // special case as we need to convert it to jsi::Array<jsi::Object>
885
+ // possible with variants and compoundVariants
886
+ if (propertyName == "boxShadow" && propertyValue.isString()) {
887
+ parsedStyle.setProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName), parseBoxShadowString(rt, propertyValue.asString(rt).utf8(rt)));
888
+
889
+ return;
890
+ }
891
+
884
892
  // primitives, bool is possible for boxShadow inset
885
893
  if (propertyValue.isString() || propertyValue.isNumber() || propertyValue.isUndefined() || propertyValue.isNull() || propertyValue.isBool()) {
886
894
  parsedStyle.setProperty(rt, propertyName.c_str(), propertyValue);
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AdaptiveTheme = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _core = require("../core");
9
+ var _specs = require("../specs");
10
+ var _ApplyScopedTheme = require("./ApplyScopedTheme");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ const AdaptiveTheme = ({
14
+ children,
15
+ previousScopedTheme
16
+ }) => {
17
+ const {
18
+ rt
19
+ } = (0, _core.useUnistyles)();
20
+ const name = rt.themeName === 'dark' ? 'light' : 'dark';
21
+ const mappedChildren = [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ApplyScopedTheme.ApplyScopedTheme, {
22
+ name: name
23
+ }, name), children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_ApplyScopedTheme.ApplyScopedTheme, {
24
+ name: previousScopedTheme
25
+ }, 'dispose')];
26
+ (0, _react.useLayoutEffect)(() => {
27
+ // this will affect only scoped styles as other styles are not yet mounted
28
+ _specs.UnistylesShadowRegistry.flush();
29
+ });
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
31
+ children: mappedChildren
32
+ }, name);
33
+ };
34
+ exports.AdaptiveTheme = AdaptiveTheme;
35
+ //# sourceMappingURL=AdaptiveTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_core","_specs","_ApplyScopedTheme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AdaptiveTheme","children","previousScopedTheme","rt","useUnistyles","name","themeName","mappedChildren","jsx","ApplyScopedTheme","useLayoutEffect","UnistylesShadowRegistry","flush","Fragment","exports"],"sourceRoot":"../../../src","sources":["components/AdaptiveTheme.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAAqD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAM9C,MAAMkB,aAA0D,GAAGA,CAAC;EACvEC,QAAQ;EACRC;AACJ,CAAC,KAAK;EACF,MAAM;IAAEC;EAAG,CAAC,GAAG,IAAAC,kBAAY,EAAC,CAAC;EAC7B,MAAMC,IAAI,GAAIF,EAAE,CAACG,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,MAAgC;EAClF,MAAMC,cAAc,GAAG,cACnB,IAAA3B,WAAA,CAAA4B,GAAA,EAAC7B,iBAAA,CAAA8B,gBAAgB;IAAYJ,IAAI,EAAEA;EAAK,GAAjBA,IAAmB,CAAC,EAC3CJ,QAAQ,eACR,IAAArB,WAAA,CAAA4B,GAAA,EAAC7B,iBAAA,CAAA8B,gBAAgB;IAAeJ,IAAI,EAAEH;EAAyD,GAAzE,SAA2E,CAAC,CACrG;EAED,IAAAQ,sBAAe,EAAC,MAAM;IAClB;IACAC,8BAAuB,CAACC,KAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EAEF,oBACI,IAAAhC,WAAA,CAAA4B,GAAA,EAAClC,MAAA,CAAAiB,OAAK,CAACsB,QAAQ;IAAAZ,QAAA,EACVM;EAAc,GADEF,IAEL,CAAC;AAEzB,CAAC;AAAAS,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ApplyScopedTheme = void 0;
7
+ var _react = require("react");
8
+ var _specs = require("../specs");
9
+ const ApplyScopedTheme = ({
10
+ name
11
+ }) => {
12
+ _specs.UnistylesShadowRegistry.setScopedTheme(name);
13
+ (0, _react.useLayoutEffect)(() => {
14
+ _specs.UnistylesShadowRegistry.setScopedTheme(name);
15
+ });
16
+ return null;
17
+ };
18
+ exports.ApplyScopedTheme = ApplyScopedTheme;
19
+ //# sourceMappingURL=ApplyScopedTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_specs","ApplyScopedTheme","name","UnistylesShadowRegistry","setScopedTheme","useLayoutEffect","exports"],"sourceRoot":"../../../src","sources":["components/ApplyScopedTheme.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAMO,MAAME,gBAAgE,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EAC1FC,8BAAuB,CAACC,cAAc,CAACF,IAAI,CAAC;EAE5C,IAAAG,sBAAe,EAAC,MAAM;IAClBF,8BAAuB,CAACC,cAAc,CAACF,IAAI,CAAC;EAChD,CAAC,CAAC;EAEF,OAAO,IAAI;AACf,CAAC;AAAAI,OAAA,CAAAL,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NamedTheme = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _specs = require("../specs");
9
+ var _ApplyScopedTheme = require("./ApplyScopedTheme");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ const NamedTheme = ({
13
+ name,
14
+ children,
15
+ previousScopedTheme
16
+ }) => {
17
+ const mappedChildren = [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ApplyScopedTheme.ApplyScopedTheme, {
18
+ name: name
19
+ }, name), children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_ApplyScopedTheme.ApplyScopedTheme, {
20
+ name: previousScopedTheme
21
+ }, 'dispose')];
22
+ (0, _react.useLayoutEffect)(() => {
23
+ // this will affect only scoped styles as other styles are not yet mounted
24
+ _specs.UnistylesShadowRegistry.flush();
25
+ });
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
27
+ children: mappedChildren
28
+ });
29
+ };
30
+ exports.NamedTheme = NamedTheme;
31
+ //# sourceMappingURL=NamedTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_specs","_ApplyScopedTheme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NamedTheme","name","children","previousScopedTheme","mappedChildren","jsx","ApplyScopedTheme","useLayoutEffect","UnistylesShadowRegistry","flush","Fragment","exports"],"sourceRoot":"../../../src","sources":["components/NamedTheme.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAAqD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAO9C,MAAMkB,UAAoD,GAAGA,CAAC;EACjEC,IAAI;EACJC,QAAQ;EACRC;AACJ,CAAC,KAAK;EACF,MAAMC,cAAc,GAAG,cACnB,IAAAxB,WAAA,CAAAyB,GAAA,EAAC1B,iBAAA,CAAA2B,gBAAgB;IAAYL,IAAI,EAAEA;EAAK,GAAjBA,IAAmB,CAAC,EAC3CC,QAAQ,eACR,IAAAtB,WAAA,CAAAyB,GAAA,EAAC1B,iBAAA,CAAA2B,gBAAgB;IAAeL,IAAI,EAAEE;EAAyD,GAAzE,SAA2E,CAAC,CACrG;EAED,IAAAI,sBAAe,EAAC,MAAM;IAClB;IACAC,8BAAuB,CAACC,KAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EAEF,oBACI,IAAA7B,WAAA,CAAAyB,GAAA,EAAC9B,MAAA,CAAAgB,OAAK,CAACmB,QAAQ;IAAAR,QAAA,EACVE;EAAc,CACH,CAAC;AAEzB,CAAC;AAAAO,OAAA,CAAAX,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -4,35 +4,32 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ScopedTheme = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _specs = require("../specs");
9
+ var _AdaptiveTheme = require("./AdaptiveTheme");
10
+ var _NamedTheme = require("./NamedTheme");
9
11
  var _jsxRuntime = require("react/jsx-runtime");
10
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
- const Apply = ({
12
- name
13
- }) => {
14
- _specs.UnistylesShadowRegistry.setScopedTheme(name);
15
- (0, _react.useLayoutEffect)(() => {
16
- _specs.UnistylesShadowRegistry.setScopedTheme(name);
17
- });
18
- return null;
19
- };
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
13
  const ScopedTheme = ({
21
14
  name,
22
- children
15
+ children,
16
+ invertedAdaptive
23
17
  }) => {
18
+ const isAdaptiveTheme = invertedAdaptive && _specs.UnistylesRuntime.hasAdaptiveThemes;
19
+ if (!isAdaptiveTheme && !name) {
20
+ if (__DEV__) {
21
+ console.error('ScopedTheme: name or invertedAdaptive must be provided');
22
+ }
23
+ return null;
24
+ }
24
25
  const previousScopedTheme = _specs.UnistylesShadowRegistry.getScopedTheme();
25
- const mappedChildren = [/*#__PURE__*/(0, _jsxRuntime.jsx)(Apply, {
26
- name: name
27
- }, name), children, /*#__PURE__*/(0, _jsxRuntime.jsx)(Apply, {
28
- name: previousScopedTheme
29
- }, 'dispose')];
30
- (0, _react.useLayoutEffect)(() => {
31
- // this will affect only scoped styles as other styles are not yet mounted
32
- _specs.UnistylesShadowRegistry.flush();
33
- });
34
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
35
- children: mappedChildren
26
+ return isAdaptiveTheme ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AdaptiveTheme.AdaptiveTheme, {
27
+ previousScopedTheme: previousScopedTheme,
28
+ children: children
29
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_NamedTheme.NamedTheme, {
30
+ name: name,
31
+ previousScopedTheme: previousScopedTheme,
32
+ children: children
36
33
  });
37
34
  };
38
35
  exports.ScopedTheme = ScopedTheme;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_specs","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Apply","name","UnistylesShadowRegistry","setScopedTheme","useLayoutEffect","ScopedTheme","children","previousScopedTheme","getScopedTheme","mappedChildren","jsx","flush","Fragment","exports"],"sourceRoot":"../../../src","sources":["components/ScopedTheme.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAAkD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAMlD,MAAMkB,KAAK,GAAGA,CAAC;EAAEC;AAAuC,CAAC,KAAK;EAC1DC,8BAAuB,CAACC,cAAc,CAACF,IAAI,CAAC;EAE5C,IAAAG,sBAAe,EAAC,MAAM;IAClBF,8BAAuB,CAACC,cAAc,CAACF,IAAI,CAAC;EAChD,CAAC,CAAC;EAEF,OAAO,IAAI;AACf,CAAC;AAEM,MAAMI,WAAyE,GAAGA,CAAC;EAAEJ,IAAI;EAAEK;AAAS,CAAC,KAAK;EAC7G,MAAMC,mBAAmB,GAAGL,8BAAuB,CAACM,cAAc,CAAC,CAAC;EACpE,MAAMC,cAAc,GAAG,cACnB,IAAA7B,WAAA,CAAA8B,GAAA,EAACV,KAAK;IAAYC,IAAI,EAAEA;EAAK,GAAjBA,IAAmB,CAAC,EAChCK,QAAQ,eACR,IAAA1B,WAAA,CAAA8B,GAAA,EAACV,KAAK;IAAeC,IAAI,EAAEM;EAAyD,GAAzE,SAA2E,CAAC,CAC1F;EAED,IAAAH,sBAAe,EAAC,MAAM;IAClB;IACAF,8BAAuB,CAACS,KAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EAEF,oBACI,IAAA/B,WAAA,CAAA8B,GAAA,EAAClC,MAAA,CAAAe,OAAK,CAACqB,QAAQ;IAAAN,QAAA,EACVG;EAAc,CACH,CAAC;AAEzB,CAAC;AAAAI,OAAA,CAAAR,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_specs","_AdaptiveTheme","_NamedTheme","_jsxRuntime","e","__esModule","default","ScopedTheme","name","children","invertedAdaptive","isAdaptiveTheme","UnistylesRuntime","hasAdaptiveThemes","__DEV__","console","error","previousScopedTheme","UnistylesShadowRegistry","getScopedTheme","jsx","AdaptiveTheme","NamedTheme","exports"],"sourceRoot":"../../../src","sources":["components/ScopedTheme.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAyC,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUlC,MAAMG,WAAyE,GAAGA,CAAC;EACtFC,IAAI;EACJC,QAAQ;EACRC;AACJ,CAAC,KAAK;EACF,MAAMC,eAAe,GAAGD,gBAAgB,IAAIE,uBAAgB,CAACC,iBAAiB;EAE9E,IAAI,CAACF,eAAe,IAAI,CAACH,IAAI,EAAE;IAC3B,IAAIM,OAAO,EAAE;MACTC,OAAO,CAACC,KAAK,CAAC,wDAAwD,CAAC;IAC3E;IAEA,OAAO,IAAI;EACf;EAEA,MAAMC,mBAAmB,GAAGC,8BAAuB,CAACC,cAAc,CAAC,CAAC;EAEpE,OAAOR,eAAe,gBAEd,IAAAR,WAAA,CAAAiB,GAAA,EAACnB,cAAA,CAAAoB,aAAa;IAACJ,mBAAmB,EAAEA,mBAAoB;IAAAR,QAAA,EACnDA;EAAQ,CACE,CAAC,gBAGhB,IAAAN,WAAA,CAAAiB,GAAA,EAAClB,WAAA,CAAAoB,UAAU;IACPd,IAAI,EAAEA,IAA8B;IACpCS,mBAAmB,EAAEA,mBAAoB;IAAAR,QAAA,EAExCA;EAAQ,CACD,CACf;AAET,CAAC;AAAAc,OAAA,CAAAhB,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -8,8 +8,13 @@ var _reactNativeNitroModules = require("react-native-nitro-modules");
8
8
  const HybridShadowRegistry = _reactNativeNitroModules.NitroModules.createHybridObject('UnistylesShadowRegistry');
9
9
  const findShadowNodeForHandle = handle => {
10
10
  const node = handle?.__internalInstanceHandle?.stateNode?.node ?? handle?.getScrollResponder?.()?.getNativeScrollRef?.()?.__internalInstanceHandle?.stateNode?.node ?? handle?.getNativeScrollRef?.()?.__internalInstanceHandle?.stateNode?.node ?? handle?._viewRef?.__internalInstanceHandle?.stateNode?.node ?? handle?.viewRef?.current?.__internalInstanceHandle?.stateNode?.node ?? handle?._nativeRef?.__internalInstanceHandle?.stateNode?.node;
11
+
12
+ // @ts-ignore we don't know the type of handle
13
+ if (!node && handle?.props?.horizontal && handle?.constructor?.name === 'FlatList') {
14
+ throw new Error('Unistyles: detected an unsupported FlatList with the horizontal prop. This will cause crashes on Android due to a bug in React Native core. Read more: https://github.com/facebook/react-native/issues/51601');
15
+ }
11
16
  if (!node) {
12
- throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.__internalInstanceHandle?.elementType ?? 'unknown'}`);
17
+ throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.constructor?.name ?? 'unknown'}`);
13
18
  }
14
19
  return node;
15
20
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","HybridShadowRegistry","NitroModules","createHybridObject","findShadowNodeForHandle","handle","node","__internalInstanceHandle","stateNode","getScrollResponder","getNativeScrollRef","_viewRef","viewRef","current","_nativeRef","Error","elementType","add","styles","stylesArray","Array","isArray","flat","filteredStyles","filter","style","Object","keys","length","Boolean","link","remove","unlink","UnistylesShadowRegistry","exports"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAgBA,MAAMC,oBAAoB,GAAGC,qCAAY,CAACC,kBAAkB,CAAiB,yBAAyB,CAAC;AAEvG,MAAMC,uBAAuB,GAAIC,MAAkB,IAAK;EACpD,MAAMC,IAAI,GAAGD,MAAM,EAAEE,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACvDD,MAAM,EAAEI,kBAAkB,GAAG,CAAC,EAAEC,kBAAkB,GAAG,CAAC,EAAEH,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACjGD,MAAM,EAAEK,kBAAkB,GAAG,CAAC,EAAEH,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACzED,MAAM,EAAEM,QAAQ,EAAEJ,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IAC3DD,MAAM,EAAEO,OAAO,EAAEC,OAAO,EAAEN,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACnED,MAAM,EAAES,UAAU,EAAEP,wBAAwB,EAAEC,SAAS,EAAEF,IAAI;EAEpE,IAAI,CAACA,IAAI,EAAE;IACP,MAAM,IAAIS,KAAK,CAAC,4EAA4EV,MAAM,EAAEE,wBAAwB,EAAES,WAAW,IAAI,SAAS,EAAE,CAAC;EAC7J;EAEA,OAAOV,IAAI;AACf,CAAC;AAEDL,oBAAoB,CAACgB,GAAG,GAAG,CAACZ,MAAM,EAAEa,MAAM,KAAK;EAC3C;EACA,IAAI,CAACb,MAAM,IAAI,CAACa,MAAM,EAAE;IACpB;EACJ;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GACnCA,MAAM,CAACI,IAAI,CAAC,CAAC,GACb,CAACJ,MAAM,CAAC;;EAEd;EACA,MAAMK,cAAc,GAAGJ,WAAW,CAC7BK,MAAM,CAACC,KAAK,IAAIA,KAAK,IAAIC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,MAAM,GAAG,CAAC,CAAC,CACvDN,IAAI,CAAC,CAAC,CACNE,MAAM,CAACK,OAAO,CAAC;EAEpB,IAAIN,cAAc,CAACK,MAAM,GAAG,CAAC,EAAE;IAC3B3B,oBAAoB,CAAC6B,IAAI,CAAC1B,uBAAuB,CAACC,MAAM,CAAC,EAAEkB,cAAc,CAAC;EAC9E;AACJ,CAAC;AAEDtB,oBAAoB,CAAC8B,MAAM,GAAG1B,MAAM,IAAI;EACpC,IAAI,CAACA,MAAM,EAAE;IACT;EACJ;EAEAJ,oBAAoB,CAAC+B,MAAM,CAAC5B,uBAAuB,CAACC,MAAM,CAAC,CAAC;AAChE,CAAC;AAQM,MAAM4B,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAGhC,oBAA4D","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","HybridShadowRegistry","NitroModules","createHybridObject","findShadowNodeForHandle","handle","node","__internalInstanceHandle","stateNode","getScrollResponder","getNativeScrollRef","_viewRef","viewRef","current","_nativeRef","props","horizontal","constructor","name","Error","add","styles","stylesArray","Array","isArray","flat","filteredStyles","filter","style","Object","keys","length","Boolean","link","remove","unlink","UnistylesShadowRegistry","exports"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAgBA,MAAMC,oBAAoB,GAAGC,qCAAY,CAACC,kBAAkB,CAAiB,yBAAyB,CAAC;AAEvG,MAAMC,uBAAuB,GAAIC,MAAkB,IAAK;EACpD,MAAMC,IAAI,GAAGD,MAAM,EAAEE,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACvDD,MAAM,EAAEI,kBAAkB,GAAG,CAAC,EAAEC,kBAAkB,GAAG,CAAC,EAAEH,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACjGD,MAAM,EAAEK,kBAAkB,GAAG,CAAC,EAAEH,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACzED,MAAM,EAAEM,QAAQ,EAAEJ,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IAC3DD,MAAM,EAAEO,OAAO,EAAEC,OAAO,EAAEN,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACnED,MAAM,EAAES,UAAU,EAAEP,wBAAwB,EAAEC,SAAS,EAAEF,IAAI;;EAEpE;EACA,IAAI,CAACA,IAAI,IAAID,MAAM,EAAEU,KAAK,EAAEC,UAAU,IAAIX,MAAM,EAAEY,WAAW,EAAEC,IAAI,KAAK,UAAU,EAAE;IAChF,MAAM,IAAIC,KAAK,CAAC,8MAA8M,CAAC;EACnO;EAEA,IAAI,CAACb,IAAI,EAAE;IACP,MAAM,IAAIa,KAAK,CAAC,4EAA4Ed,MAAM,EAAEY,WAAW,EAAEC,IAAI,IAAI,SAAS,EAAE,CAAC;EACzI;EAEA,OAAOZ,IAAI;AACf,CAAC;AAEDL,oBAAoB,CAACmB,GAAG,GAAG,CAACf,MAAM,EAAEgB,MAAM,KAAK;EAC3C;EACA,IAAI,CAAChB,MAAM,IAAI,CAACgB,MAAM,EAAE;IACpB;EACJ;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GACnCA,MAAM,CAACI,IAAI,CAAC,CAAC,GACb,CAACJ,MAAM,CAAC;;EAEd;EACA,MAAMK,cAAc,GAAGJ,WAAW,CAC7BK,MAAM,CAACC,KAAK,IAAIA,KAAK,IAAIC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,MAAM,GAAG,CAAC,CAAC,CACvDN,IAAI,CAAC,CAAC,CACNE,MAAM,CAACK,OAAO,CAAC;EAEpB,IAAIN,cAAc,CAACK,MAAM,GAAG,CAAC,EAAE;IAC3B9B,oBAAoB,CAACgC,IAAI,CAAC7B,uBAAuB,CAACC,MAAM,CAAC,EAAEqB,cAAc,CAAC;EAC9E;AACJ,CAAC;AAEDzB,oBAAoB,CAACiC,MAAM,GAAG7B,MAAM,IAAI;EACpC,IAAI,CAACA,MAAM,EAAE;IACT;EACJ;EAEAJ,oBAAoB,CAACkC,MAAM,CAAC/B,uBAAuB,CAACC,MAAM,CAAC,CAAC;AAChE,CAAC;AAQM,MAAM+B,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAGnC,oBAA4D","ignoreList":[]}
@@ -33,10 +33,7 @@ const copyComponentProperties = (Component, UnistylesComponent) => {
33
33
  }
34
34
  UnistylesComponent[key] = value;
35
35
  });
36
-
37
- // Those are not enumerable, so we need to copy them manually
38
36
  UnistylesComponent.displayName = Component.displayName;
39
- UnistylesComponent.name = Component.name;
40
37
  return UnistylesComponent;
41
38
  };
42
39
  exports.copyComponentProperties = copyComponentProperties;
@@ -1 +1 @@
1
- {"version":3,"names":["isDefined","value","undefined","exports","deepMergeObjects","sources","target","filter","forEach","source","Object","keys","key","sourceValue","targetValue","copyComponentProperties","Component","UnistylesComponent","entries","includes","displayName","name","IS_UNISTYLES_REGEX","UNISTYLES_WIDTH_REGEX","UNISTYLES_HEIGHT_REGEX","isUnistylesMq","mq","test","parseMq","width","fromW","toW","exec","height","fromH","toH","minWidth","Number","maxWidth","minHeight","maxHeight","isValidMq","parsedMQ","isWidthValid","isHeightValid"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isDefined","value","undefined","exports","deepMergeObjects","sources","target","filter","forEach","source","Object","keys","key","sourceValue","targetValue","copyComponentProperties","Component","UnistylesComponent","entries","includes","displayName","IS_UNISTYLES_REGEX","UNISTYLES_WIDTH_REGEX","UNISTYLES_HEIGHT_REGEX","isUnistylesMq","mq","test","parseMq","width","fromW","toW","exec","height","fromH","toH","minWidth","Number","maxWidth","minHeight","maxHeight","isValidMq","parsedMQ","isWidthValid","isHeightValid"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
@@ -32,6 +32,7 @@ class UnistylesListener {
32
32
  this.emitChange(_NativePlatform.UnistyleDependency.ColorScheme);
33
33
  if (this.services.runtime.hasAdaptiveThemes) {
34
34
  this.emitChange(_NativePlatform.UnistyleDependency.Theme);
35
+ this.emitChange(_NativePlatform.UnistyleDependency.ThemeName);
35
36
  }
36
37
  });
37
38
  this.services.runtime.lightMedia?.addEventListener('change', event => {
@@ -41,6 +42,7 @@ class UnistylesListener {
41
42
  this.emitChange(_NativePlatform.UnistyleDependency.ColorScheme);
42
43
  if (this.services.runtime.hasAdaptiveThemes) {
43
44
  this.emitChange(_NativePlatform.UnistyleDependency.Theme);
45
+ this.emitChange(_NativePlatform.UnistyleDependency.ThemeName);
44
46
  }
45
47
  });
46
48
  window.addEventListener('orientationchange', () => this.emitChange(_NativePlatform.UnistyleDependency.Orientation));
@@ -1 +1 @@
1
- {"version":3,"names":["_NativePlatform","require","UnistylesListener","isInitialized","listeners","Array","from","length","Object","keys","UnistyleDependency","Set","stylesheetListeners","constructor","services","emitChange","dependency","forEach","listener","initListeners","runtime","darkMedia","addEventListener","event","matches","ColorScheme","hasAdaptiveThemes","Theme","lightMedia","window","Orientation","Dimensions","addListeners","dependencies","add","delete","addStylesheetListeners","exports"],"sourceRoot":"../../../src","sources":["web/listener.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_NativePlatform","require","UnistylesListener","isInitialized","listeners","Array","from","length","Object","keys","UnistyleDependency","Set","stylesheetListeners","constructor","services","emitChange","dependency","forEach","listener","initListeners","runtime","darkMedia","addEventListener","event","matches","ColorScheme","hasAdaptiveThemes","Theme","ThemeName","lightMedia","window","Orientation","Dimensions","addListeners","dependencies","add","delete","addStylesheetListeners","exports"],"sourceRoot":"../../../src","sources":["web/listener.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ import React, { useLayoutEffect } from 'react';
4
+ import { useUnistyles } from '../core';
5
+ import { UnistylesShadowRegistry } from '../specs';
6
+ import { ApplyScopedTheme } from './ApplyScopedTheme';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export const AdaptiveTheme = ({
9
+ children,
10
+ previousScopedTheme
11
+ }) => {
12
+ const {
13
+ rt
14
+ } = useUnistyles();
15
+ const name = rt.themeName === 'dark' ? 'light' : 'dark';
16
+ const mappedChildren = [/*#__PURE__*/_jsx(ApplyScopedTheme, {
17
+ name: name
18
+ }, name), children, /*#__PURE__*/_jsx(ApplyScopedTheme, {
19
+ name: previousScopedTheme
20
+ }, 'dispose')];
21
+ useLayoutEffect(() => {
22
+ // this will affect only scoped styles as other styles are not yet mounted
23
+ UnistylesShadowRegistry.flush();
24
+ });
25
+ return /*#__PURE__*/_jsx(React.Fragment, {
26
+ children: mappedChildren
27
+ }, name);
28
+ };
29
+ //# sourceMappingURL=AdaptiveTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useLayoutEffect","useUnistyles","UnistylesShadowRegistry","ApplyScopedTheme","jsx","_jsx","AdaptiveTheme","children","previousScopedTheme","rt","name","themeName","mappedChildren","flush","Fragment"],"sourceRoot":"../../../src","sources":["components/AdaptiveTheme.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,eAAe,QAAQ,OAAO;AAE9C,SAASC,YAAY,QAAQ,SAAS;AAEtC,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,gBAAgB,QAAQ,oBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAMrD,OAAO,MAAMC,aAA0D,GAAGA,CAAC;EACvEC,QAAQ;EACRC;AACJ,CAAC,KAAK;EACF,MAAM;IAAEC;EAAG,CAAC,GAAGR,YAAY,CAAC,CAAC;EAC7B,MAAMS,IAAI,GAAID,EAAE,CAACE,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,MAAgC;EAClF,MAAMC,cAAc,GAAG,cACnBP,IAAA,CAACF,gBAAgB;IAAYO,IAAI,EAAEA;EAAK,GAAjBA,IAAmB,CAAC,EAC3CH,QAAQ,eACRF,IAAA,CAACF,gBAAgB;IAAeO,IAAI,EAAEF;EAAyD,GAAzE,SAA2E,CAAC,CACrG;EAEDR,eAAe,CAAC,MAAM;IAClB;IACAE,uBAAuB,CAACW,KAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EAEF,oBACIR,IAAA,CAACN,KAAK,CAACe,QAAQ;IAAAP,QAAA,EACVK;EAAc,GADEF,IAEL,CAAC;AAEzB,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import { useLayoutEffect } from 'react';
4
+ import { UnistylesShadowRegistry } from '../specs';
5
+ export const ApplyScopedTheme = ({
6
+ name
7
+ }) => {
8
+ UnistylesShadowRegistry.setScopedTheme(name);
9
+ useLayoutEffect(() => {
10
+ UnistylesShadowRegistry.setScopedTheme(name);
11
+ });
12
+ return null;
13
+ };
14
+ //# sourceMappingURL=ApplyScopedTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useLayoutEffect","UnistylesShadowRegistry","ApplyScopedTheme","name","setScopedTheme"],"sourceRoot":"../../../src","sources":["components/ApplyScopedTheme.tsx"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,OAAO;AAEvC,SAASC,uBAAuB,QAAQ,UAAU;AAMlD,OAAO,MAAMC,gBAAgE,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EAC1FF,uBAAuB,CAACG,cAAc,CAACD,IAAI,CAAC;EAE5CH,eAAe,CAAC,MAAM;IAClBC,uBAAuB,CAACG,cAAc,CAACD,IAAI,CAAC;EAChD,CAAC,CAAC;EAEF,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import React, { useLayoutEffect } from 'react';
4
+ import { UnistylesShadowRegistry } from '../specs';
5
+ import { ApplyScopedTheme } from './ApplyScopedTheme';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export const NamedTheme = ({
8
+ name,
9
+ children,
10
+ previousScopedTheme
11
+ }) => {
12
+ const mappedChildren = [/*#__PURE__*/_jsx(ApplyScopedTheme, {
13
+ name: name
14
+ }, name), children, /*#__PURE__*/_jsx(ApplyScopedTheme, {
15
+ name: previousScopedTheme
16
+ }, 'dispose')];
17
+ useLayoutEffect(() => {
18
+ // this will affect only scoped styles as other styles are not yet mounted
19
+ UnistylesShadowRegistry.flush();
20
+ });
21
+ return /*#__PURE__*/_jsx(React.Fragment, {
22
+ children: mappedChildren
23
+ });
24
+ };
25
+ //# sourceMappingURL=NamedTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useLayoutEffect","UnistylesShadowRegistry","ApplyScopedTheme","jsx","_jsx","NamedTheme","name","children","previousScopedTheme","mappedChildren","flush","Fragment"],"sourceRoot":"../../../src","sources":["components/NamedTheme.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,eAAe,QAAQ,OAAO;AAG9C,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,gBAAgB,QAAQ,oBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAOrD,OAAO,MAAMC,UAAoD,GAAGA,CAAC;EACjEC,IAAI;EACJC,QAAQ;EACRC;AACJ,CAAC,KAAK;EACF,MAAMC,cAAc,GAAG,cACnBL,IAAA,CAACF,gBAAgB;IAAYI,IAAI,EAAEA;EAAK,GAAjBA,IAAmB,CAAC,EAC3CC,QAAQ,eACRH,IAAA,CAACF,gBAAgB;IAAeI,IAAI,EAAEE;EAAyD,GAAzE,SAA2E,CAAC,CACrG;EAEDR,eAAe,CAAC,MAAM;IAClB;IACAC,uBAAuB,CAACS,KAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EAEF,oBACIN,IAAA,CAACL,KAAK,CAACY,QAAQ;IAAAJ,QAAA,EACVE;EAAc,CACH,CAAC;AAEzB,CAAC","ignoreList":[]}
@@ -1,33 +1,30 @@
1
1
  "use strict";
2
2
 
3
- import React, { useLayoutEffect } from 'react';
4
- import { UnistylesShadowRegistry } from '../specs';
3
+ import React from 'react';
4
+ import { UnistylesRuntime, UnistylesShadowRegistry } from '../specs';
5
+ import { AdaptiveTheme } from './AdaptiveTheme';
6
+ import { NamedTheme } from './NamedTheme';
5
7
  import { jsx as _jsx } from "react/jsx-runtime";
6
- const Apply = ({
7
- name
8
- }) => {
9
- UnistylesShadowRegistry.setScopedTheme(name);
10
- useLayoutEffect(() => {
11
- UnistylesShadowRegistry.setScopedTheme(name);
12
- });
13
- return null;
14
- };
15
8
  export const ScopedTheme = ({
16
9
  name,
17
- children
10
+ children,
11
+ invertedAdaptive
18
12
  }) => {
13
+ const isAdaptiveTheme = invertedAdaptive && UnistylesRuntime.hasAdaptiveThemes;
14
+ if (!isAdaptiveTheme && !name) {
15
+ if (__DEV__) {
16
+ console.error('ScopedTheme: name or invertedAdaptive must be provided');
17
+ }
18
+ return null;
19
+ }
19
20
  const previousScopedTheme = UnistylesShadowRegistry.getScopedTheme();
20
- const mappedChildren = [/*#__PURE__*/_jsx(Apply, {
21
- name: name
22
- }, name), children, /*#__PURE__*/_jsx(Apply, {
23
- name: previousScopedTheme
24
- }, 'dispose')];
25
- useLayoutEffect(() => {
26
- // this will affect only scoped styles as other styles are not yet mounted
27
- UnistylesShadowRegistry.flush();
28
- });
29
- return /*#__PURE__*/_jsx(React.Fragment, {
30
- children: mappedChildren
21
+ return isAdaptiveTheme ? /*#__PURE__*/_jsx(AdaptiveTheme, {
22
+ previousScopedTheme: previousScopedTheme,
23
+ children: children
24
+ }) : /*#__PURE__*/_jsx(NamedTheme, {
25
+ name: name,
26
+ previousScopedTheme: previousScopedTheme,
27
+ children: children
31
28
  });
32
29
  };
33
30
  //# sourceMappingURL=ScopedTheme.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useLayoutEffect","UnistylesShadowRegistry","jsx","_jsx","Apply","name","setScopedTheme","ScopedTheme","children","previousScopedTheme","getScopedTheme","mappedChildren","flush","Fragment"],"sourceRoot":"../../../src","sources":["components/ScopedTheme.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,eAAe,QAAQ,OAAO;AAE9C,SAASC,uBAAuB,QAAQ,UAAU;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAMlD,MAAMC,KAAK,GAAGA,CAAC;EAAEC;AAAuC,CAAC,KAAK;EAC1DJ,uBAAuB,CAACK,cAAc,CAACD,IAAI,CAAC;EAE5CL,eAAe,CAAC,MAAM;IAClBC,uBAAuB,CAACK,cAAc,CAACD,IAAI,CAAC;EAChD,CAAC,CAAC;EAEF,OAAO,IAAI;AACf,CAAC;AAED,OAAO,MAAME,WAAyE,GAAGA,CAAC;EAAEF,IAAI;EAAEG;AAAS,CAAC,KAAK;EAC7G,MAAMC,mBAAmB,GAAGR,uBAAuB,CAACS,cAAc,CAAC,CAAC;EACpE,MAAMC,cAAc,GAAG,cACnBR,IAAA,CAACC,KAAK;IAAYC,IAAI,EAAEA;EAAK,GAAjBA,IAAmB,CAAC,EAChCG,QAAQ,eACRL,IAAA,CAACC,KAAK;IAAeC,IAAI,EAAEI;EAAyD,GAAzE,SAA2E,CAAC,CAC1F;EAEDT,eAAe,CAAC,MAAM;IAClB;IACAC,uBAAuB,CAACW,KAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EAEF,oBACIT,IAAA,CAACJ,KAAK,CAACc,QAAQ;IAAAL,QAAA,EACVG;EAAc,CACH,CAAC;AAEzB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","UnistylesRuntime","UnistylesShadowRegistry","AdaptiveTheme","NamedTheme","jsx","_jsx","ScopedTheme","name","children","invertedAdaptive","isAdaptiveTheme","hasAdaptiveThemes","__DEV__","console","error","previousScopedTheme","getScopedTheme"],"sourceRoot":"../../../src","sources":["components/ScopedTheme.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ,UAAU;AACpE,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,UAAU,QAAQ,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAUzC,OAAO,MAAMC,WAAyE,GAAGA,CAAC;EACtFC,IAAI;EACJC,QAAQ;EACRC;AACJ,CAAC,KAAK;EACF,MAAMC,eAAe,GAAGD,gBAAgB,IAAIT,gBAAgB,CAACW,iBAAiB;EAE9E,IAAI,CAACD,eAAe,IAAI,CAACH,IAAI,EAAE;IAC3B,IAAIK,OAAO,EAAE;MACTC,OAAO,CAACC,KAAK,CAAC,wDAAwD,CAAC;IAC3E;IAEA,OAAO,IAAI;EACf;EAEA,MAAMC,mBAAmB,GAAGd,uBAAuB,CAACe,cAAc,CAAC,CAAC;EAEpE,OAAON,eAAe,gBAEdL,IAAA,CAACH,aAAa;IAACa,mBAAmB,EAAEA,mBAAoB;IAAAP,QAAA,EACnDA;EAAQ,CACE,CAAC,gBAGhBH,IAAA,CAACF,UAAU;IACPI,IAAI,EAAEA,IAA8B;IACpCQ,mBAAmB,EAAEA,mBAAoB;IAAAP,QAAA,EAExCA;EAAQ,CACD,CACf;AAET,CAAC","ignoreList":[]}
@@ -4,8 +4,13 @@ import { NitroModules } from 'react-native-nitro-modules';
4
4
  const HybridShadowRegistry = NitroModules.createHybridObject('UnistylesShadowRegistry');
5
5
  const findShadowNodeForHandle = handle => {
6
6
  const node = handle?.__internalInstanceHandle?.stateNode?.node ?? handle?.getScrollResponder?.()?.getNativeScrollRef?.()?.__internalInstanceHandle?.stateNode?.node ?? handle?.getNativeScrollRef?.()?.__internalInstanceHandle?.stateNode?.node ?? handle?._viewRef?.__internalInstanceHandle?.stateNode?.node ?? handle?.viewRef?.current?.__internalInstanceHandle?.stateNode?.node ?? handle?._nativeRef?.__internalInstanceHandle?.stateNode?.node;
7
+
8
+ // @ts-ignore we don't know the type of handle
9
+ if (!node && handle?.props?.horizontal && handle?.constructor?.name === 'FlatList') {
10
+ throw new Error('Unistyles: detected an unsupported FlatList with the horizontal prop. This will cause crashes on Android due to a bug in React Native core. Read more: https://github.com/facebook/react-native/issues/51601');
11
+ }
7
12
  if (!node) {
8
- throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.__internalInstanceHandle?.elementType ?? 'unknown'}`);
13
+ throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.constructor?.name ?? 'unknown'}`);
9
14
  }
10
15
  return node;
11
16
  };
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","HybridShadowRegistry","createHybridObject","findShadowNodeForHandle","handle","node","__internalInstanceHandle","stateNode","getScrollResponder","getNativeScrollRef","_viewRef","viewRef","current","_nativeRef","Error","elementType","add","styles","stylesArray","Array","isArray","flat","filteredStyles","filter","style","Object","keys","length","Boolean","link","remove","unlink","UnistylesShadowRegistry"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAgBzD,MAAMC,oBAAoB,GAAGD,YAAY,CAACE,kBAAkB,CAAiB,yBAAyB,CAAC;AAEvG,MAAMC,uBAAuB,GAAIC,MAAkB,IAAK;EACpD,MAAMC,IAAI,GAAGD,MAAM,EAAEE,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACvDD,MAAM,EAAEI,kBAAkB,GAAG,CAAC,EAAEC,kBAAkB,GAAG,CAAC,EAAEH,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACjGD,MAAM,EAAEK,kBAAkB,GAAG,CAAC,EAAEH,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACzED,MAAM,EAAEM,QAAQ,EAAEJ,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IAC3DD,MAAM,EAAEO,OAAO,EAAEC,OAAO,EAAEN,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACnED,MAAM,EAAES,UAAU,EAAEP,wBAAwB,EAAEC,SAAS,EAAEF,IAAI;EAEpE,IAAI,CAACA,IAAI,EAAE;IACP,MAAM,IAAIS,KAAK,CAAC,4EAA4EV,MAAM,EAAEE,wBAAwB,EAAES,WAAW,IAAI,SAAS,EAAE,CAAC;EAC7J;EAEA,OAAOV,IAAI;AACf,CAAC;AAEDJ,oBAAoB,CAACe,GAAG,GAAG,CAACZ,MAAM,EAAEa,MAAM,KAAK;EAC3C;EACA,IAAI,CAACb,MAAM,IAAI,CAACa,MAAM,EAAE;IACpB;EACJ;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GACnCA,MAAM,CAACI,IAAI,CAAC,CAAC,GACb,CAACJ,MAAM,CAAC;;EAEd;EACA,MAAMK,cAAc,GAAGJ,WAAW,CAC7BK,MAAM,CAACC,KAAK,IAAIA,KAAK,IAAIC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,MAAM,GAAG,CAAC,CAAC,CACvDN,IAAI,CAAC,CAAC,CACNE,MAAM,CAACK,OAAO,CAAC;EAEpB,IAAIN,cAAc,CAACK,MAAM,GAAG,CAAC,EAAE;IAC3B1B,oBAAoB,CAAC4B,IAAI,CAAC1B,uBAAuB,CAACC,MAAM,CAAC,EAAEkB,cAAc,CAAC;EAC9E;AACJ,CAAC;AAEDrB,oBAAoB,CAAC6B,MAAM,GAAG1B,MAAM,IAAI;EACpC,IAAI,CAACA,MAAM,EAAE;IACT;EACJ;EAEAH,oBAAoB,CAAC8B,MAAM,CAAC5B,uBAAuB,CAACC,MAAM,CAAC,CAAC;AAChE,CAAC;AAQD,OAAO,MAAM4B,uBAAuB,GAAG/B,oBAA4D","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","HybridShadowRegistry","createHybridObject","findShadowNodeForHandle","handle","node","__internalInstanceHandle","stateNode","getScrollResponder","getNativeScrollRef","_viewRef","viewRef","current","_nativeRef","props","horizontal","constructor","name","Error","add","styles","stylesArray","Array","isArray","flat","filteredStyles","filter","style","Object","keys","length","Boolean","link","remove","unlink","UnistylesShadowRegistry"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAgBzD,MAAMC,oBAAoB,GAAGD,YAAY,CAACE,kBAAkB,CAAiB,yBAAyB,CAAC;AAEvG,MAAMC,uBAAuB,GAAIC,MAAkB,IAAK;EACpD,MAAMC,IAAI,GAAGD,MAAM,EAAEE,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACvDD,MAAM,EAAEI,kBAAkB,GAAG,CAAC,EAAEC,kBAAkB,GAAG,CAAC,EAAEH,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACjGD,MAAM,EAAEK,kBAAkB,GAAG,CAAC,EAAEH,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACzED,MAAM,EAAEM,QAAQ,EAAEJ,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IAC3DD,MAAM,EAAEO,OAAO,EAAEC,OAAO,EAAEN,wBAAwB,EAAEC,SAAS,EAAEF,IAAI,IACnED,MAAM,EAAES,UAAU,EAAEP,wBAAwB,EAAEC,SAAS,EAAEF,IAAI;;EAEpE;EACA,IAAI,CAACA,IAAI,IAAID,MAAM,EAAEU,KAAK,EAAEC,UAAU,IAAIX,MAAM,EAAEY,WAAW,EAAEC,IAAI,KAAK,UAAU,EAAE;IAChF,MAAM,IAAIC,KAAK,CAAC,8MAA8M,CAAC;EACnO;EAEA,IAAI,CAACb,IAAI,EAAE;IACP,MAAM,IAAIa,KAAK,CAAC,4EAA4Ed,MAAM,EAAEY,WAAW,EAAEC,IAAI,IAAI,SAAS,EAAE,CAAC;EACzI;EAEA,OAAOZ,IAAI;AACf,CAAC;AAEDJ,oBAAoB,CAACkB,GAAG,GAAG,CAACf,MAAM,EAAEgB,MAAM,KAAK;EAC3C;EACA,IAAI,CAAChB,MAAM,IAAI,CAACgB,MAAM,EAAE;IACpB;EACJ;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GACnCA,MAAM,CAACI,IAAI,CAAC,CAAC,GACb,CAACJ,MAAM,CAAC;;EAEd;EACA,MAAMK,cAAc,GAAGJ,WAAW,CAC7BK,MAAM,CAACC,KAAK,IAAIA,KAAK,IAAIC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,MAAM,GAAG,CAAC,CAAC,CACvDN,IAAI,CAAC,CAAC,CACNE,MAAM,CAACK,OAAO,CAAC;EAEpB,IAAIN,cAAc,CAACK,MAAM,GAAG,CAAC,EAAE;IAC3B7B,oBAAoB,CAAC+B,IAAI,CAAC7B,uBAAuB,CAACC,MAAM,CAAC,EAAEqB,cAAc,CAAC;EAC9E;AACJ,CAAC;AAEDxB,oBAAoB,CAACgC,MAAM,GAAG7B,MAAM,IAAI;EACpC,IAAI,CAACA,MAAM,EAAE;IACT;EACJ;EAEAH,oBAAoB,CAACiC,MAAM,CAAC/B,uBAAuB,CAACC,MAAM,CAAC,CAAC;AAChE,CAAC;AAQD,OAAO,MAAM+B,uBAAuB,GAAGlC,oBAA4D","ignoreList":[]}
@@ -27,10 +27,7 @@ export const copyComponentProperties = (Component, UnistylesComponent) => {
27
27
  }
28
28
  UnistylesComponent[key] = value;
29
29
  });
30
-
31
- // Those are not enumerable, so we need to copy them manually
32
30
  UnistylesComponent.displayName = Component.displayName;
33
- UnistylesComponent.name = Component.name;
34
31
  return UnistylesComponent;
35
32
  };
36
33
  const IS_UNISTYLES_REGEX = /:([hw])\[(\d+)(?:,\s*(\d+|Infinity))?]/;
@@ -1 +1 @@
1
- {"version":3,"names":["isDefined","value","undefined","deepMergeObjects","sources","target","filter","forEach","source","Object","keys","key","sourceValue","targetValue","copyComponentProperties","Component","UnistylesComponent","entries","includes","displayName","name","IS_UNISTYLES_REGEX","UNISTYLES_WIDTH_REGEX","UNISTYLES_HEIGHT_REGEX","isUnistylesMq","mq","test","parseMq","width","fromW","toW","exec","height","fromH","toH","minWidth","Number","maxWidth","minHeight","maxHeight","isValidMq","parsedMQ","isWidthValid","isHeightValid"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isDefined","value","undefined","deepMergeObjects","sources","target","filter","forEach","source","Object","keys","key","sourceValue","targetValue","copyComponentProperties","Component","UnistylesComponent","entries","includes","displayName","IS_UNISTYLES_REGEX","UNISTYLES_WIDTH_REGEX","UNISTYLES_HEIGHT_REGEX","isUnistylesMq","mq","test","parseMq","width","fromW","toW","exec","height","fromH","toH","minWidth","Number","maxWidth","minHeight","maxHeight","isValidMq","parsedMQ","isWidthValid","isHeightValid"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
@@ -28,6 +28,7 @@ export class UnistylesListener {
28
28
  this.emitChange(UnistyleDependency.ColorScheme);
29
29
  if (this.services.runtime.hasAdaptiveThemes) {
30
30
  this.emitChange(UnistyleDependency.Theme);
31
+ this.emitChange(UnistyleDependency.ThemeName);
31
32
  }
32
33
  });
33
34
  this.services.runtime.lightMedia?.addEventListener('change', event => {
@@ -37,6 +38,7 @@ export class UnistylesListener {
37
38
  this.emitChange(UnistyleDependency.ColorScheme);
38
39
  if (this.services.runtime.hasAdaptiveThemes) {
39
40
  this.emitChange(UnistyleDependency.Theme);
41
+ this.emitChange(UnistyleDependency.ThemeName);
40
42
  }
41
43
  });
42
44
  window.addEventListener('orientationchange', () => this.emitChange(UnistyleDependency.Orientation));
@@ -1 +1 @@
1
- {"version":3,"names":["UnistyleDependency","UnistylesListener","isInitialized","listeners","Array","from","length","Object","keys","Set","stylesheetListeners","constructor","services","emitChange","dependency","forEach","listener","initListeners","runtime","darkMedia","addEventListener","event","matches","ColorScheme","hasAdaptiveThemes","Theme","lightMedia","window","Orientation","Dimensions","addListeners","dependencies","add","delete","addStylesheetListeners"],"sourceRoot":"../../../src","sources":["web/listener.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["UnistyleDependency","UnistylesListener","isInitialized","listeners","Array","from","length","Object","keys","Set","stylesheetListeners","constructor","services","emitChange","dependency","forEach","listener","initListeners","runtime","darkMedia","addEventListener","event","matches","ColorScheme","hasAdaptiveThemes","Theme","ThemeName","lightMedia","window","Orientation","Dimensions","addListeners","dependencies","add","delete","addStylesheetListeners"],"sourceRoot":"../../../src","sources":["web/listener.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../../plugin/src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,eAAO,MAAM,4BAA4B,UAoBxC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,UAMxC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mCAAmC,EAAE,KAAK,CAAC,WAAW,CAAM,CAAA;AAEzE;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAchE,CAAA"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../../plugin/src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,eAAO,MAAM,4BAA4B,UAoBxC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,UAGxC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mCAAmC,EAAE,KAAK,CAAC,WAAW,CAAM,CAAA;AAEzE;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAchE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { PropsWithChildren } from 'react';
3
+ interface AdaptiveThemeProps extends PropsWithChildren {
4
+ previousScopedTheme?: string;
5
+ }
6
+ export declare const AdaptiveTheme: React.FunctionComponent<AdaptiveThemeProps>;
7
+ export {};
8
+ //# sourceMappingURL=AdaptiveTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveTheme.d.ts","sourceRoot":"","sources":["../../../../src/components/AdaptiveTheme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAM9C,UAAU,kBAAmB,SAAQ,iBAAiB;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAsBrE,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { UnistylesThemes } from '../global';
2
+ type ApplyScopedThemeProps = {
3
+ name?: keyof UnistylesThemes;
4
+ };
5
+ export declare const ApplyScopedTheme: React.FunctionComponent<ApplyScopedThemeProps>;
6
+ export {};
7
+ //# sourceMappingURL=ApplyScopedTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplyScopedTheme.d.ts","sourceRoot":"","sources":["../../../../src/components/ApplyScopedTheme.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAGhD,KAAK,qBAAqB,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,eAAe,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,CAQ3E,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { PropsWithChildren } from 'react';
3
+ import type { UnistylesThemes } from '../global';
4
+ interface NamedThemeProps extends PropsWithChildren {
5
+ name: keyof UnistylesThemes;
6
+ previousScopedTheme?: string;
7
+ }
8
+ export declare const NamedTheme: React.FunctionComponent<NamedThemeProps>;
9
+ export {};
10
+ //# sourceMappingURL=NamedTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NamedTheme.d.ts","sourceRoot":"","sources":["../../../../src/components/NamedTheme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAIhD,UAAU,eAAgB,SAAQ,iBAAiB;IAC/C,IAAI,EAAE,MAAM,eAAe,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAqB/D,CAAA"}
@@ -2,6 +2,10 @@ import React from 'react';
2
2
  import type { UnistylesThemes } from '../global';
3
3
  type ThemeProps = {
4
4
  name: keyof UnistylesThemes;
5
+ invertedAdaptive?: boolean;
6
+ } | {
7
+ name?: undefined;
8
+ invertedAdaptive: true;
5
9
  };
6
10
  export declare const ScopedTheme: React.FunctionComponent<React.PropsWithChildren<ThemeProps>>;
7
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ScopedTheme.d.ts","sourceRoot":"","sources":["../../../../src/components/ScopedTheme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAGhD,KAAK,UAAU,GAAG;IACd,IAAI,EAAE,MAAM,eAAe,CAAA;CAC9B,CAAA;AAYD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAkBpF,CAAA"}
1
+ {"version":3,"file":"ScopedTheme.d.ts","sourceRoot":"","sources":["../../../../src/components/ScopedTheme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAKhD,KAAK,UAAU,GAAG;IACd,IAAI,EAAE,MAAM,eAAe,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC7B,GAAG;IACA,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gBAAgB,EAAE,IAAI,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAgCpF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/ShadowRegistry/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpG,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE/D,UAAU,cAAe,SAAQ,2BAA2B;IAExD,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACzD,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAElC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACvD,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,KAAK,IAAI,IAAI,CAAC;IACd,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,cAAc,IAAI,MAAM,GAAG,SAAS,CAAA;CACvC;AAgDD,KAAK,cAAc,GACb,KAAK,GACL,QAAQ,GACR,MAAM,GACN,QAAQ,CAAA;AAEd,eAAO,MAAM,uBAAuB,EAA2B,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/ShadowRegistry/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpG,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE/D,UAAU,cAAe,SAAQ,2BAA2B;IAExD,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACzD,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAElC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACvD,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,KAAK,IAAI,IAAI,CAAC;IACd,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,cAAc,IAAI,MAAM,GAAG,SAAS,CAAA;CACvC;AAqDD,KAAK,cAAc,GACb,KAAK,GACL,QAAQ,GACR,MAAM,GACN,QAAQ,CAAA;AAEd,eAAO,MAAM,uBAAuB,EAA2B,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAA0C,CAAA;AAExG,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,MAuBxF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,WAAW,GAAG,EAAE,oBAAoB,GAAG,QAe9E,CAAA;AAMD,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,YAAgC,CAAA;AAExE,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM;;;;;CAUjC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,UAAU,UAAU,CAAC,OAAO,OAAO,CAAC,YAK7D,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAA0C,CAAA;AAExG,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,MAuBxF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,WAAW,GAAG,EAAE,oBAAoB,GAAG,QAa9E,CAAA;AAMD,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,YAAgC,CAAA;AAExE,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM;;;;;CAUjC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,UAAU,UAAU,CAAC,OAAO,OAAO,CAAC,YAK7D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/web/listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,qBAAa,iBAAiB;IAKd,OAAO,CAAC,QAAQ;IAJ5B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,SAAS,CAAoG;IACrH,OAAO,CAAC,mBAAmB,CAAoG;gBAE3G,QAAQ,EAAE,iBAAiB;IAE/C,UAAU,GAAI,YAAY,kBAAkB,UAG3C;IAED,aAAa,aAgCZ;IAED,YAAY,GAAI,cAAc,KAAK,CAAC,kBAAkB,CAAC,EAAE,UAAU,YAAY,gBAM9E;IAED,sBAAsB,GAAI,cAAc,KAAK,CAAC,kBAAkB,CAAC,EAAE,UAAU,YAAY,gBAMxF;CACJ"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/web/listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,qBAAa,iBAAiB;IAKd,OAAO,CAAC,QAAQ;IAJ5B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,SAAS,CAAoG;IACrH,OAAO,CAAC,mBAAmB,CAAoG;gBAE3G,QAAQ,EAAE,iBAAiB;IAE/C,UAAU,GAAI,YAAY,kBAAkB,UAG3C;IAED,aAAa,aAkCZ;IAED,YAAY,GAAI,cAAc,KAAK,CAAC,kBAAkB,CAAC,EAAE,UAAU,YAAY,gBAM9E;IAED,sBAAsB,GAAI,cAAc,KAAK,CAAC,kBAAkB,CAAC,EAAE,UAAU,YAAY,gBAMxF;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-unistyles",
3
- "version": "3.0.0-nightly-20250606",
3
+ "version": "3.0.0-nightly-20250609",
4
4
  "description": "Level up your React Native StyleSheet",
5
5
  "scripts": {
6
6
  "test": "NODE_ENV=babel-test jest ./plugin",
@@ -147,11 +147,11 @@
147
147
  "husky": "9.1.7",
148
148
  "jest": "29.7.0",
149
149
  "metro-react-native-babel-preset": "0.77.0",
150
- "nitro-codegen": "0.26.0",
150
+ "nitro-codegen": "0.26.2",
151
151
  "react": "19.1.0",
152
152
  "react-native": "0.79.2",
153
153
  "react-native-builder-bob": "0.40.10",
154
- "react-native-nitro-modules": "0.26.0",
154
+ "react-native-nitro-modules": "0.26.2",
155
155
  "react-native-reanimated": "3.17.5",
156
156
  "react-native-web": "0.20.0",
157
157
  "react-test-renderer": "19.1.0",
package/plugin/index.d.ts CHANGED
@@ -104,7 +104,7 @@ export interface UnistylesPluginOptions {
104
104
  * Defaults to:
105
105
  *
106
106
  * ```ts
107
- * ['react-native-reanimated/src/component', 'react-native-gesture-handler/src/components']
107
+ * ['react-native-reanimated/src/component']
108
108
  * ```
109
109
  */
110
110
  autoProcessPaths?: Array<string>,
package/plugin/index.js CHANGED
@@ -60,10 +60,7 @@ var REACT_NATIVE_COMPONENT_NAMES = [
60
60
  ];
61
61
  var REPLACE_WITH_UNISTYLES_PATHS = [
62
62
  "react-native-reanimated/src/component",
63
- "react-native-reanimated/lib/module/component",
64
- "react-native-gesture-handler/lib/module/components",
65
- "react-native-gesture-handler/lib/commonjs/components",
66
- "react-native-gesture-handler/src/components"
63
+ "react-native-reanimated/lib/module/component"
67
64
  ];
68
65
  var REPLACE_WITH_UNISTYLES_EXOTIC_PATHS = [];
69
66
  var NATIVE_COMPONENTS_PATHS = {
@@ -54,10 +54,7 @@ var REACT_NATIVE_COMPONENT_NAMES = [
54
54
  ];
55
55
  var REPLACE_WITH_UNISTYLES_PATHS = [
56
56
  "react-native-reanimated/src/component",
57
- "react-native-reanimated/lib/module/component",
58
- "react-native-gesture-handler/lib/module/components",
59
- "react-native-gesture-handler/lib/commonjs/components",
60
- "react-native-gesture-handler/src/components"
57
+ "react-native-reanimated/lib/module/component"
61
58
  ];
62
59
 
63
60
  // repack-plugin/src/loader.ts
@@ -0,0 +1,34 @@
1
+ import React, { useLayoutEffect } from 'react'
2
+ import type { PropsWithChildren } from 'react'
3
+ import { useUnistyles } from '../core'
4
+ import type { UnistylesThemes } from '../global'
5
+ import { UnistylesShadowRegistry } from '../specs'
6
+ import { ApplyScopedTheme } from './ApplyScopedTheme'
7
+
8
+ interface AdaptiveThemeProps extends PropsWithChildren {
9
+ previousScopedTheme?: string
10
+ }
11
+
12
+ export const AdaptiveTheme: React.FunctionComponent<AdaptiveThemeProps> = ({
13
+ children,
14
+ previousScopedTheme
15
+ }) => {
16
+ const { rt } = useUnistyles()
17
+ const name = (rt.themeName === 'dark' ? 'light' : 'dark') as keyof UnistylesThemes
18
+ const mappedChildren = [
19
+ <ApplyScopedTheme key={name} name={name} />,
20
+ children,
21
+ <ApplyScopedTheme key='dispose' name={previousScopedTheme as keyof UnistylesThemes | undefined} />
22
+ ]
23
+
24
+ useLayoutEffect(() => {
25
+ // this will affect only scoped styles as other styles are not yet mounted
26
+ UnistylesShadowRegistry.flush()
27
+ })
28
+
29
+ return (
30
+ <React.Fragment key={name}>
31
+ {mappedChildren}
32
+ </React.Fragment>
33
+ )
34
+ }
@@ -0,0 +1,17 @@
1
+ import { useLayoutEffect } from 'react'
2
+ import type { UnistylesThemes } from '../global'
3
+ import { UnistylesShadowRegistry } from '../specs'
4
+
5
+ type ApplyScopedThemeProps = {
6
+ name?: keyof UnistylesThemes
7
+ }
8
+
9
+ export const ApplyScopedTheme: React.FunctionComponent<ApplyScopedThemeProps> = ({ name }) => {
10
+ UnistylesShadowRegistry.setScopedTheme(name)
11
+
12
+ useLayoutEffect(() => {
13
+ UnistylesShadowRegistry.setScopedTheme(name)
14
+ })
15
+
16
+ return null
17
+ }
@@ -0,0 +1,33 @@
1
+ import React, { useLayoutEffect } from 'react'
2
+ import type { PropsWithChildren } from 'react'
3
+ import type { UnistylesThemes } from '../global'
4
+ import { UnistylesShadowRegistry } from '../specs'
5
+ import { ApplyScopedTheme } from './ApplyScopedTheme'
6
+
7
+ interface NamedThemeProps extends PropsWithChildren {
8
+ name: keyof UnistylesThemes,
9
+ previousScopedTheme?: string
10
+ }
11
+
12
+ export const NamedTheme: React.FunctionComponent<NamedThemeProps> = ({
13
+ name,
14
+ children,
15
+ previousScopedTheme
16
+ }) => {
17
+ const mappedChildren = [
18
+ <ApplyScopedTheme key={name} name={name} />,
19
+ children,
20
+ <ApplyScopedTheme key='dispose' name={previousScopedTheme as keyof UnistylesThemes | undefined} />
21
+ ]
22
+
23
+ useLayoutEffect(() => {
24
+ // this will affect only scoped styles as other styles are not yet mounted
25
+ UnistylesShadowRegistry.flush()
26
+ })
27
+
28
+ return (
29
+ <React.Fragment>
30
+ {mappedChildren}
31
+ </React.Fragment>
32
+ )
33
+ }
@@ -1,37 +1,47 @@
1
- import React, { useLayoutEffect } from 'react'
1
+ import React from 'react'
2
2
  import type { UnistylesThemes } from '../global'
3
- import { UnistylesShadowRegistry } from '../specs'
3
+ import { UnistylesRuntime, UnistylesShadowRegistry } from '../specs'
4
+ import { AdaptiveTheme } from './AdaptiveTheme'
5
+ import { NamedTheme } from './NamedTheme'
4
6
 
5
7
  type ThemeProps = {
6
- name: keyof UnistylesThemes
8
+ name: keyof UnistylesThemes,
9
+ invertedAdaptive?: boolean
10
+ } | {
11
+ name?: undefined,
12
+ invertedAdaptive: true
7
13
  }
8
14
 
9
- const Apply = ({ name }: { name?: keyof UnistylesThemes }) => {
10
- UnistylesShadowRegistry.setScopedTheme(name)
15
+ export const ScopedTheme: React.FunctionComponent<React.PropsWithChildren<ThemeProps>> = ({
16
+ name,
17
+ children,
18
+ invertedAdaptive
19
+ }) => {
20
+ const isAdaptiveTheme = invertedAdaptive && UnistylesRuntime.hasAdaptiveThemes
11
21
 
12
- useLayoutEffect(() => {
13
- UnistylesShadowRegistry.setScopedTheme(name)
14
- })
22
+ if (!isAdaptiveTheme && !name) {
23
+ if (__DEV__) {
24
+ console.error('ScopedTheme: name or invertedAdaptive must be provided')
25
+ }
15
26
 
16
- return null
17
- }
27
+ return null
28
+ }
18
29
 
19
- export const ScopedTheme: React.FunctionComponent<React.PropsWithChildren<ThemeProps>> = ({ name, children }) => {
20
30
  const previousScopedTheme = UnistylesShadowRegistry.getScopedTheme()
21
- const mappedChildren = [
22
- <Apply key={name} name={name} />,
23
- children,
24
- <Apply key='dispose' name={previousScopedTheme as keyof UnistylesThemes | undefined} />
25
- ]
26
31
 
27
- useLayoutEffect(() => {
28
- // this will affect only scoped styles as other styles are not yet mounted
29
- UnistylesShadowRegistry.flush()
30
- })
32
+ return isAdaptiveTheme
33
+ ? (
34
+ <AdaptiveTheme previousScopedTheme={previousScopedTheme}>
35
+ {children}
36
+ </AdaptiveTheme>
37
+ )
38
+ : (
39
+ <NamedTheme
40
+ name={name as keyof UnistylesThemes}
41
+ previousScopedTheme={previousScopedTheme}
42
+ >
43
+ {children}
44
+ </NamedTheme>
45
+ )
31
46
 
32
- return (
33
- <React.Fragment>
34
- {mappedChildren}
35
- </React.Fragment>
36
- )
37
47
  }
@@ -24,8 +24,13 @@ const findShadowNodeForHandle = (handle: ViewHandle) => {
24
24
  ?? handle?.viewRef?.current?.__internalInstanceHandle?.stateNode?.node
25
25
  ?? handle?._nativeRef?.__internalInstanceHandle?.stateNode?.node
26
26
 
27
+ // @ts-ignore we don't know the type of handle
28
+ if (!node && handle?.props?.horizontal && handle?.constructor?.name === 'FlatList') {
29
+ throw new Error('Unistyles: detected an unsupported FlatList with the horizontal prop. This will cause crashes on Android due to a bug in React Native core. Read more: https://github.com/facebook/react-native/issues/51601')
30
+ }
31
+
27
32
  if (!node) {
28
- throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.__internalInstanceHandle?.elementType ?? 'unknown'}`)
33
+ throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.constructor?.name ?? 'unknown'}`)
29
34
  }
30
35
 
31
36
  return node
package/src/utils.ts CHANGED
@@ -35,10 +35,8 @@ export const copyComponentProperties = (Component: any, UnistylesComponent: any)
35
35
  UnistylesComponent[key] = value
36
36
  })
37
37
 
38
- // Those are not enumerable, so we need to copy them manually
39
38
  UnistylesComponent.displayName = Component.displayName
40
- UnistylesComponent.name = Component.name
41
-
39
+
42
40
  return UnistylesComponent
43
41
  }
44
42
 
@@ -29,6 +29,7 @@ export class UnistylesListener {
29
29
 
30
30
  if (this.services.runtime.hasAdaptiveThemes) {
31
31
  this.emitChange(UnistyleDependency.Theme)
32
+ this.emitChange(UnistyleDependency.ThemeName)
32
33
  }
33
34
  })
34
35
  this.services.runtime.lightMedia?.addEventListener('change', event => {
@@ -40,6 +41,7 @@ export class UnistylesListener {
40
41
 
41
42
  if (this.services.runtime.hasAdaptiveThemes) {
42
43
  this.emitChange(UnistyleDependency.Theme)
44
+ this.emitChange(UnistyleDependency.ThemeName)
43
45
  }
44
46
  })
45
47