react-native-unistyles 3.6.0 → 3.7.0

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 (142) hide show
  1. package/README.md +4 -9
  2. package/android/build.gradle +42 -0
  3. package/android/src/legacy/java/com/unistyles/NativePlatform+extraWindows.kt +16 -0
  4. package/android/src/main/cxx/NativeUnistylesModule.cpp +5 -11
  5. package/android/src/main/cxx/NativeUnistylesModule.h +0 -4
  6. package/android/src/main/java/com/unistyles/NativePlatform+android.kt +82 -39
  7. package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +73 -0
  8. package/android/src/main/java/com/unistyles/UnistylesModule.kt +2 -13
  9. package/android/src/rn86/java/com/unistyles/NativePlatform+extraWindows.kt +28 -0
  10. package/cxx/common/PerformanceTracing.h +85 -0
  11. package/cxx/converters/BackgroundLayerConverter.cpp +523 -0
  12. package/cxx/converters/BackgroundLayerConverter.h +14 -0
  13. package/cxx/converters/FontVariationSettingsConverter.cpp +104 -0
  14. package/cxx/converters/FontVariationSettingsConverter.h +17 -0
  15. package/cxx/core/UnistyleWrapper.h +16 -1
  16. package/cxx/hybridObjects/HybridShadowRegistry.cpp +8 -0
  17. package/cxx/hybridObjects/HybridStyleSheet.cpp +11 -0
  18. package/cxx/hybridObjects/HybridStyleSheet.h +1 -0
  19. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +10 -30
  20. package/cxx/hybridObjects/HybridUnistylesRuntime.h +2 -2
  21. package/cxx/parser/Parser.cpp +75 -10
  22. package/cxx/shadowTree/ShadowTreeDiagnostics.cpp +74 -0
  23. package/cxx/shadowTree/ShadowTreeManager.cpp +3 -0
  24. package/lib/commonjs/components/NamedTheme.js +4 -4
  25. package/lib/commonjs/components/NamedTheme.js.map +1 -1
  26. package/lib/commonjs/components/ScopedThemeContext.js +3 -1
  27. package/lib/commonjs/components/ScopedThemeContext.js.map +1 -1
  28. package/lib/commonjs/core/createUnistylesImageBackground.js +6 -2
  29. package/lib/commonjs/core/createUnistylesImageBackground.js.map +1 -1
  30. package/lib/commonjs/core/withUnistyles/withUnistyles.js +10 -7
  31. package/lib/commonjs/core/withUnistyles/withUnistyles.js.map +1 -1
  32. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js +22 -3
  33. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
  34. package/lib/commonjs/mocks.js +27 -3
  35. package/lib/commonjs/mocks.js.map +1 -1
  36. package/lib/commonjs/specs/ShadowRegistry/index.js +13 -3
  37. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  38. package/lib/commonjs/specs/ShadowRegistry/tracing.js +26 -0
  39. package/lib/commonjs/specs/ShadowRegistry/tracing.js.map +1 -0
  40. package/lib/commonjs/utils.js +52 -1
  41. package/lib/commonjs/utils.js.map +1 -1
  42. package/lib/commonjs/web/convert/index.js +19 -1
  43. package/lib/commonjs/web/convert/index.js.map +1 -1
  44. package/lib/commonjs/web/convert/module.d.ts +3 -0
  45. package/lib/commonjs/web/convert/object/backgroundLayers.js +30 -0
  46. package/lib/commonjs/web/convert/object/backgroundLayers.js.map +1 -0
  47. package/lib/commonjs/web/convert/object/fontVariationSettings.js +12 -0
  48. package/lib/commonjs/web/convert/object/fontVariationSettings.js.map +1 -0
  49. package/lib/commonjs/web/convert/object/index.js +22 -0
  50. package/lib/commonjs/web/convert/object/index.js.map +1 -1
  51. package/lib/commonjs/web/convert/utils.js +7 -1
  52. package/lib/commonjs/web/convert/utils.js.map +1 -1
  53. package/lib/commonjs/web/registry.js +6 -4
  54. package/lib/commonjs/web/registry.js.map +1 -1
  55. package/lib/commonjs/web/runtime.js +9 -6
  56. package/lib/commonjs/web/runtime.js.map +1 -1
  57. package/lib/commonjs/web/utils/unistyle.js +1 -3
  58. package/lib/commonjs/web/utils/unistyle.js.map +1 -1
  59. package/lib/module/components/NamedTheme.js +4 -4
  60. package/lib/module/components/NamedTheme.js.map +1 -1
  61. package/lib/module/components/ScopedThemeContext.js +3 -1
  62. package/lib/module/components/ScopedThemeContext.js.map +1 -1
  63. package/lib/module/core/createUnistylesImageBackground.js +6 -2
  64. package/lib/module/core/createUnistylesImageBackground.js.map +1 -1
  65. package/lib/module/core/withUnistyles/withUnistyles.js +9 -6
  66. package/lib/module/core/withUnistyles/withUnistyles.js.map +1 -1
  67. package/lib/module/core/withUnistyles/withUnistyles.native.js +24 -5
  68. package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
  69. package/lib/module/mocks.js +27 -3
  70. package/lib/module/mocks.js.map +1 -1
  71. package/lib/module/specs/ShadowRegistry/index.js +13 -3
  72. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  73. package/lib/module/specs/ShadowRegistry/tracing.js +21 -0
  74. package/lib/module/specs/ShadowRegistry/tracing.js.map +1 -0
  75. package/lib/module/utils.js +50 -0
  76. package/lib/module/utils.js.map +1 -1
  77. package/lib/module/web/convert/index.js +22 -3
  78. package/lib/module/web/convert/index.js.map +1 -1
  79. package/lib/module/web/convert/module.d.ts +3 -0
  80. package/lib/module/web/convert/object/backgroundLayers.js +25 -0
  81. package/lib/module/web/convert/object/backgroundLayers.js.map +1 -0
  82. package/lib/module/web/convert/object/fontVariationSettings.js +7 -0
  83. package/lib/module/web/convert/object/fontVariationSettings.js.map +1 -0
  84. package/lib/module/web/convert/object/index.js +2 -0
  85. package/lib/module/web/convert/object/index.js.map +1 -1
  86. package/lib/module/web/convert/utils.js +4 -0
  87. package/lib/module/web/convert/utils.js.map +1 -1
  88. package/lib/module/web/registry.js +6 -4
  89. package/lib/module/web/registry.js.map +1 -1
  90. package/lib/module/web/runtime.js +9 -6
  91. package/lib/module/web/runtime.js.map +1 -1
  92. package/lib/module/web/utils/unistyle.js +2 -4
  93. package/lib/module/web/utils/unistyle.js.map +1 -1
  94. package/lib/typescript/src/components/ScopedThemeContext.d.ts +2 -1
  95. package/lib/typescript/src/components/ScopedThemeContext.d.ts.map +1 -1
  96. package/lib/typescript/src/core/createUnistylesImageBackground.d.ts.map +1 -1
  97. package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts +6 -3
  98. package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts.map +1 -1
  99. package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts +7 -4
  100. package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
  101. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  102. package/lib/typescript/src/specs/ShadowRegistry/tracing.d.ts +2 -0
  103. package/lib/typescript/src/specs/ShadowRegistry/tracing.d.ts.map +1 -0
  104. package/lib/typescript/src/utils.d.ts +1 -0
  105. package/lib/typescript/src/utils.d.ts.map +1 -1
  106. package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
  107. package/lib/typescript/src/web/convert/object/backgroundLayers.d.ts +4 -0
  108. package/lib/typescript/src/web/convert/object/backgroundLayers.d.ts.map +1 -0
  109. package/lib/typescript/src/web/convert/object/fontVariationSettings.d.ts +4 -0
  110. package/lib/typescript/src/web/convert/object/fontVariationSettings.d.ts.map +1 -0
  111. package/lib/typescript/src/web/convert/object/index.d.ts +2 -0
  112. package/lib/typescript/src/web/convert/object/index.d.ts.map +1 -1
  113. package/lib/typescript/src/web/convert/utils.d.ts +2 -0
  114. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -1
  115. package/lib/typescript/src/web/registry.d.ts.map +1 -1
  116. package/lib/typescript/src/web/runtime.d.ts +1 -0
  117. package/lib/typescript/src/web/runtime.d.ts.map +1 -1
  118. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -1
  119. package/metro/babel-transformer.js +79 -17
  120. package/package.json +26 -26
  121. package/plugin/index.js +79 -17
  122. package/src/components/NamedTheme.tsx +5 -5
  123. package/src/components/ScopedThemeContext.ts +6 -2
  124. package/src/core/createUnistylesImageBackground.tsx +6 -2
  125. package/src/core/withUnistyles/withUnistyles.native.tsx +28 -6
  126. package/src/core/withUnistyles/withUnistyles.tsx +6 -6
  127. package/src/mocks.ts +14 -5
  128. package/src/specs/ShadowRegistry/index.ts +14 -3
  129. package/src/specs/ShadowRegistry/tracing.ts +23 -0
  130. package/src/utils.ts +51 -0
  131. package/src/web/convert/index.ts +39 -3
  132. package/src/web/convert/object/backgroundLayers.ts +33 -0
  133. package/src/web/convert/object/fontVariationSettings.ts +7 -0
  134. package/src/web/convert/object/index.ts +2 -0
  135. package/src/web/convert/utils.ts +11 -0
  136. package/src/web/registry.ts +7 -8
  137. package/src/web/runtime.ts +7 -7
  138. package/src/web/utils/unistyle.ts +2 -4
  139. package/lib/commonjs/web/convert/module.d.js +0 -2
  140. package/lib/commonjs/web/convert/module.d.js.map +0 -1
  141. package/lib/module/web/convert/module.d.js +0 -2
  142. package/lib/module/web/convert/module.d.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  #include "HybridShadowRegistry.h"
2
+ #include "PerformanceTracing.h"
2
3
 
3
4
  using namespace margelo::nitro::unistyles;
4
5
  using namespace facebook::react;
@@ -182,6 +183,8 @@ void HybridShadowRegistry::scheduleShadowTreeUpdate(jsi::Runtime& rt) {
182
183
  return jsi::Value::undefined();
183
184
  }
184
185
 
186
+ UNISTYLES_TRACE_SECTION("updateShadowTree");
187
+
185
188
  shadow::ShadowTreeManager::updateShadowTree(rt);
186
189
 
187
190
  return jsi::Value::undefined();
@@ -225,6 +228,8 @@ jsi::Value HybridShadowRegistry::flush(jsi::Runtime &rt, const jsi::Value &thisV
225
228
  return jsi::Value::undefined();
226
229
  }
227
230
 
231
+ UNISTYLES_TRACE_SECTION("flush");
232
+
228
233
  shadow::ShadowTreeManager::updateShadowTree(rt);
229
234
 
230
235
  return jsi::Value::undefined();
@@ -286,6 +291,9 @@ jsi::Value HybridShadowRegistry::refreshReactNodes(jsi::Runtime &rt, const jsi::
286
291
  helpers::assertThat(rt, count == 1 && args[0].isObject(), "Unistyles: refreshReactNodes expected to be called with an array of shadow nodes.");
287
292
 
288
293
  auto nodes = args[0].asObject(rt).asArray(rt);
294
+
295
+ UNISTYLES_TRACE_SECTION("refreshReactNodes", "nodes", static_cast<int64_t>(nodes.size(rt)));
296
+
289
297
  std::unordered_map<SurfaceId, std::shared_ptr<const RootShadowNode>> roots;
290
298
 
291
299
  UIManagerBinding::getBinding(rt)->getUIManager().getShadowTreeRegistry().enumerate([&roots](const ShadowTree& shadowTree, bool&) {
@@ -18,6 +18,8 @@ jsi::Value HybridStyleSheet::create(jsi::Runtime& rt, const jsi::Value &thisVal,
18
18
  helpers::assertThat(rt, arguments[0].isObject(), "StyleSheet.create expected to be called with object or function.");
19
19
  helpers::assertThat(rt, this->_unistylesRuntime->ownsRegistry(), helpers::RUNTIME_REPLACED_ERROR);
20
20
 
21
+ UNISTYLES_TRACE_SECTION("createStyleSheet");
22
+
21
23
  auto thisStyleSheet = thisVal.asObject(rt);
22
24
  auto& registry = core::UnistylesRegistry::get();
23
25
 
@@ -345,6 +347,8 @@ void HybridStyleSheet::onImeChange(UnistylesNativeMiniRuntime miniRuntime) {
345
347
  }
346
348
 
347
349
  void HybridStyleSheet::applyDependencyChanges(jsi::Runtime& rt, std::vector<UnistyleDependency>& dependencies, std::optional<UnistylesNativeMiniRuntime> maybeMiniRuntime) {
350
+ UNISTYLES_TRACE_SECTION("applyDependencyChanges", "dependencies", helpers::dependenciesToString(dependencies));
351
+
348
352
  auto& registry = core::UnistylesRegistry::get();
349
353
  auto parser = parser::Parser(this->_unistylesRuntime);
350
354
  auto dependencyMap = registry.buildDependencyMap(dependencies);
@@ -355,10 +359,14 @@ void HybridStyleSheet::applyDependencyChanges(jsi::Runtime& rt, std::vector<Unis
355
359
 
356
360
  // rebuild rawValue BEFORE notifying listeners so JS rerenders read fresh closures
357
361
  if (!dependencyMap.empty() || !dependentStyleSheets.empty()) {
362
+ UNISTYLES_TRACE_SECTION("rebuildUnistyles");
363
+
358
364
  parser.rebuildUnistylesInDependencyMap(rt, dependencyMap, dependentStyleSheets, maybeMiniRuntime);
359
365
  }
360
366
 
361
367
  if (!dependencyMap.empty()) {
368
+ UNISTYLES_TRACE_SECTION("rebuildShadowLeafUpdates");
369
+
362
370
  parser.rebuildShadowLeafUpdates(rt, dependencyMap);
363
371
  }
364
372
 
@@ -370,6 +378,9 @@ void HybridStyleSheet::applyDependencyChanges(jsi::Runtime& rt, std::vector<Unis
370
378
 
371
379
  // after the commit, so listeners can point React at the committed nodes
372
380
  registry.setCommittedInstanceHandles(std::move(committedInstanceHandles));
381
+
382
+ UNISTYLES_TRACE_SECTION("notifyListeners");
383
+
373
384
  // also when no StyleSheet depends on the change, hooks (useUnistyles, withUnistyles, Display, Hide) may
374
385
  this->notifyJSListeners(dependencies);
375
386
  }
@@ -9,6 +9,7 @@
9
9
  #include "HybridUnistylesStyleSheetSpec.hpp"
10
10
  #include "RNStyle.h"
11
11
  #include "Helpers.h"
12
+ #include "PerformanceTracing.h"
12
13
  #include "UnistylesConstants.h"
13
14
  #include "Breakpoints.h"
14
15
  #include "Parser.h"
@@ -30,14 +30,8 @@ Dimensions HybridUnistylesRuntime::getScreen() {
30
30
  return this->_nativePlatform->getScreenDimensions();
31
31
  };
32
32
 
33
+ // app theme, like getTheme(). ScopedTheme is read from React Context (useUnistyles) (#1295)
33
34
  std::optional<std::string> HybridUnistylesRuntime::getThemeName() {
34
- auto& registry = core::UnistylesRegistry::get();
35
- auto maybeScopedTheme = registry.getScopedTheme();
36
-
37
- if (maybeScopedTheme.has_value()) {
38
- return maybeScopedTheme.value();
39
- }
40
-
41
35
  return this->getState().getCurrentThemeName();
42
36
  };
43
37
 
@@ -215,29 +209,13 @@ jsi::Value HybridUnistylesRuntime::createHybridNavigationBar(jsi::Runtime &rt, c
215
209
 
216
210
  UnistylesCxxMiniRuntime HybridUnistylesRuntime::getMiniRuntime() {
217
211
  UnistylesNativeMiniRuntime nativeMiniRuntime = this->_nativePlatform->getMiniRuntime();
218
- UnistylesCxxMiniRuntime cxxMiniRuntime{
219
- this->getThemeName(),
220
- this->getBreakpoint(),
221
- this->getHasAdaptiveThemes(),
222
- nativeMiniRuntime.colorScheme,
223
- nativeMiniRuntime.screen,
224
- nativeMiniRuntime.contentSizeCategory,
225
- nativeMiniRuntime.insets,
226
- nativeMiniRuntime.pixelRatio,
227
- nativeMiniRuntime.fontScale,
228
- nativeMiniRuntime.rtl,
229
- nativeMiniRuntime.statusBar,
230
- nativeMiniRuntime.navigationBar,
231
- nativeMiniRuntime.isPortrait,
232
- nativeMiniRuntime.isLandscape
233
- };
234
212
 
235
- return cxxMiniRuntime;
213
+ return this->buildMiniRuntimeFromNativeRuntime(nativeMiniRuntime, this->getThemeName());
236
214
  }
237
215
 
238
- UnistylesCxxMiniRuntime HybridUnistylesRuntime::buildMiniRuntimeFromNativeRuntime(UnistylesNativeMiniRuntime& nativeMiniRuntime) {
216
+ UnistylesCxxMiniRuntime HybridUnistylesRuntime::buildMiniRuntimeFromNativeRuntime(UnistylesNativeMiniRuntime& nativeMiniRuntime, std::optional<std::string> themeName) {
239
217
  UnistylesCxxMiniRuntime cxxMiniRuntime{
240
- this->getThemeName(),
218
+ themeName,
241
219
  this->getBreakpoint(),
242
220
  this->getHasAdaptiveThemes(),
243
221
  nativeMiniRuntime.colorScheme,
@@ -256,11 +234,13 @@ UnistylesCxxMiniRuntime HybridUnistylesRuntime::buildMiniRuntimeFromNativeRuntim
256
234
  return cxxMiniRuntime;
257
235
  }
258
236
 
259
- jsi::Value HybridUnistylesRuntime::getMiniRuntimeAsValue(jsi::Runtime& rt, std::optional<UnistylesNativeMiniRuntime> maybeMiniRuntime) {
237
+ // themeName is passed by the caller, so it matches the theme the StyleSheet is called with
238
+ jsi::Value HybridUnistylesRuntime::getMiniRuntimeAsValue(jsi::Runtime& rt, std::optional<UnistylesNativeMiniRuntime> maybeMiniRuntime, std::optional<std::string> themeName) {
260
239
  jsi::Object obj(rt);
261
- auto miniRuntime = maybeMiniRuntime.has_value()
262
- ? this->buildMiniRuntimeFromNativeRuntime(maybeMiniRuntime.value())
263
- : this->getMiniRuntime();
240
+ auto nativeMiniRuntime = maybeMiniRuntime.has_value()
241
+ ? maybeMiniRuntime.value()
242
+ : this->_nativePlatform->getMiniRuntime();
243
+ auto miniRuntime = this->buildMiniRuntimeFromNativeRuntime(nativeMiniRuntime, std::move(themeName));
264
244
 
265
245
  // auto generated by nitro, but can't be accessed due to static inline function
266
246
  obj.setProperty(rt, "themeName", JSIConverter<std::optional<std::string>>::toJSI(rt, miniRuntime.themeName));
@@ -71,8 +71,8 @@ struct HybridUnistylesRuntime: public HybridUnistylesRuntimeSpec {
71
71
 
72
72
  core::UnistylesState& getState();
73
73
  bool ownsRegistry() const;
74
- UnistylesCxxMiniRuntime buildMiniRuntimeFromNativeRuntime(UnistylesNativeMiniRuntime& nativeMiniRuntime);
75
- jsi::Value getMiniRuntimeAsValue(jsi::Runtime& rt, std::optional<UnistylesNativeMiniRuntime> maybeMiniRuntime);
74
+ UnistylesCxxMiniRuntime buildMiniRuntimeFromNativeRuntime(UnistylesNativeMiniRuntime& nativeMiniRuntime, std::optional<std::string> themeName);
75
+ jsi::Value getMiniRuntimeAsValue(jsi::Runtime& rt, std::optional<UnistylesNativeMiniRuntime> maybeMiniRuntime, std::optional<std::string> themeName);
76
76
  void includeDependenciesForColorSchemeChange(std::vector<UnistyleDependency>& deps);
77
77
  void calculateNewThemeAndDependencies(std::vector<UnistyleDependency>& deps);
78
78
  std::function<void(std::function<void(jsi::Runtime&)>&&)> runOnJSThread;
@@ -1,6 +1,8 @@
1
1
  #include "Parser.h"
2
2
  #include "UnistyleWrapper.h"
3
3
  #include "BackgroundImageConverter.h"
4
+ #include "BackgroundLayerConverter.h"
5
+ #include "FontVariationSettingsConverter.h"
4
6
  #include "TransformOriginConverter.h"
5
7
  #include <iomanip>
6
8
  #include <sstream>
@@ -113,7 +115,7 @@ jsi::Value parser::Parser::getParsedStyleSheetForScopedTheme(jsi::Runtime& rt, c
113
115
  .asObject(rt);
114
116
  }
115
117
 
116
- auto miniRuntime = this->_unistylesRuntime->getMiniRuntimeAsValue(rt, std::nullopt);
118
+ auto miniRuntime = this->_unistylesRuntime->getMiniRuntimeAsValue(rt, std::nullopt, scopedTheme);
117
119
 
118
120
  return unistyle->parent->rawValue
119
121
  .asFunction(rt)
@@ -198,7 +200,7 @@ jsi::Object parser::Parser::unwrapStyleSheet(jsi::Runtime& rt, std::shared_ptr<S
198
200
 
199
201
  // stylesheet also has a mini runtime dependency
200
202
  // StyleSheetType::ThemableWithMiniRuntime
201
- auto miniRuntime = this->_unistylesRuntime->getMiniRuntimeAsValue(rt, maybeMiniRuntime);
203
+ auto miniRuntime = this->_unistylesRuntime->getMiniRuntimeAsValue(rt, maybeMiniRuntime, state.getCurrentThemeName());
202
204
 
203
205
  return styleSheet->rawValue
204
206
  .asFunction(rt)
@@ -563,9 +565,28 @@ jsi::Object parser::Parser::parseFirstLevel(jsi::Runtime& rt, Unistyle::Shared u
563
565
  return;
564
566
  }
565
567
 
568
+ // { wght: 700 } is the object syntax, not breakpoints
569
+ if (converters::isFontVariationSettingsPropName(propertyName) && converters::isFontVariationSettingsObject(rt, propertyValueObject)) {
570
+ parsedStyle.setProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName), propertyValue);
571
+
572
+ return;
573
+ }
574
+
575
+ if (converters::isBackgroundLayerPropName(propertyName) && propertyValueObject.isArray(rt)) {
576
+ parsedStyle.setProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName), propertyValue);
577
+
578
+ return;
579
+ }
580
+
566
581
  // 'mq' or 'breakpoints'
567
582
  auto valueFromBreakpoint = getValueFromBreakpoints(rt, unistyle, propertyValueObject);
568
583
 
584
+ if (converters::isBackgroundLayerPropName(propertyName) && valueFromBreakpoint.isObject() && valueFromBreakpoint.asObject(rt).isArray(rt)) {
585
+ parsedStyle.setProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName), valueFromBreakpoint);
586
+
587
+ return;
588
+ }
589
+
569
590
  parsedStyle.setProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName), this->parseSecondLevel(rt, unistyle, valueFromBreakpoint));
570
591
  });
571
592
 
@@ -1026,8 +1047,21 @@ jsi::Value parser::Parser::parseSecondLevel(jsi::Runtime &rt, Unistyle::Shared u
1026
1047
  return;
1027
1048
  }
1028
1049
 
1050
+ // { wght: 700 } is the object syntax, not breakpoints
1051
+ if (converters::isFontVariationSettingsPropName(propertyName) && converters::isFontVariationSettingsObject(rt, nestedObjectStyle)) {
1052
+ parsedStyle.setProperty(rt, propertyName.c_str(), propertyValue);
1053
+
1054
+ return;
1055
+ }
1056
+
1029
1057
  auto isArray = nestedObjectStyle.isArray(rt);
1030
1058
 
1059
+ if (converters::isBackgroundLayerPropName(propertyName) && isArray) {
1060
+ parsedStyle.setProperty(rt, propertyName.c_str(), propertyValue);
1061
+
1062
+ return;
1063
+ }
1064
+
1031
1065
  if (!isArray) {
1032
1066
  parsedStyle.setProperty(rt, propertyName.c_str(), this->getValueFromBreakpoints(rt, unistyle, nestedObjectStyle));
1033
1067
  }
@@ -1071,7 +1105,7 @@ jsi::Value parser::Parser::parseSecondLevel(jsi::Runtime &rt, Unistyle::Shared u
1071
1105
  folly::dynamic parser::Parser::parseStylesToShadowTreeStyles(jsi::Runtime& rt, const std::vector<std::shared_ptr<UnistyleData>>& unistyles) {
1072
1106
  jsi::Object convertedStyles(rt);
1073
1107
  auto& state = core::UnistylesRegistry::get().getState();
1074
- std::unordered_set<std::string> skippedBackgroundImages;
1108
+ std::unordered_set<std::string> skippedPropNames;
1075
1109
 
1076
1110
  for (const auto& unistyleData : unistyles) {
1077
1111
  if (!unistyleData->parsedStyle.has_value()) {
@@ -1081,10 +1115,9 @@ folly::dynamic parser::Parser::parseStylesToShadowTreeStyles(jsi::Runtime& rt, c
1081
1115
  helpers::enumerateJSIObject(
1082
1116
  rt,
1083
1117
  unistyleData->parsedStyle.value(),
1084
- [this, &rt, &state, &convertedStyles, &skippedBackgroundImages](const std::string& propertyName, jsi::Value& propertyValue) {
1085
- if (converters::isBackgroundImagePropName(propertyName)) {
1086
- skippedBackgroundImages.erase(propertyName);
1087
- }
1118
+ [this, &rt, &state, &convertedStyles, &skippedPropNames](const std::string& propertyName, jsi::Value& propertyValue) {
1119
+ // a later style replaces a skipped value
1120
+ skippedPropNames.erase(propertyName);
1088
1121
 
1089
1122
  if (converters::isBackgroundImagePropName(propertyName) && propertyValue.isString()) {
1090
1123
  // React Native parses the raw string natively and reads an array as the unprocessed syntax
@@ -1112,7 +1145,39 @@ folly::dynamic parser::Parser::parseStylesToShadowTreeStyles(jsi::Runtime& rt, c
1112
1145
 
1113
1146
  // without a converter (React Native < 0.83) a raw string reads as no background image,
1114
1147
  // so leave the prop to React, which processes it in JS
1115
- skippedBackgroundImages.insert(propertyName);
1148
+ skippedPropNames.insert(propertyName);
1149
+
1150
+ return;
1151
+ }
1152
+
1153
+ // React Native processes these strings in JS, its native props only read the processed arrays
1154
+ if (converters::isBackgroundLayerPropName(propertyName) && propertyValue.isString()) {
1155
+ convertedStyles.setProperty(
1156
+ rt,
1157
+ propertyName.c_str(),
1158
+ jsi::valueFromDynamic(rt, converters::parseBackgroundLayerString(propertyName, propertyValue.asString(rt).utf8(rt)))
1159
+ );
1160
+
1161
+ return;
1162
+ }
1163
+
1164
+ // React Native converts the object syntax in JS, its native props only read the string
1165
+ if (converters::isFontVariationSettingsPropName(propertyName) && propertyValue.isObject()) {
1166
+ auto fontVariationSettings = propertyValue.asObject(rt);
1167
+ auto maybeFontVariationSettings = converters::fontVariationSettingsToString(rt, fontVariationSettings);
1168
+
1169
+ if (maybeFontVariationSettings.has_value()) {
1170
+ convertedStyles.setProperty(
1171
+ rt,
1172
+ propertyName.c_str(),
1173
+ jsi::String::createFromUtf8(rt, maybeFontVariationSettings.value())
1174
+ );
1175
+
1176
+ return;
1177
+ }
1178
+
1179
+ // React throws for an invalid value, so leave the prop to React
1180
+ skippedPropNames.insert(propertyName);
1116
1181
 
1117
1182
  return;
1118
1183
  }
@@ -1289,9 +1354,9 @@ folly::dynamic parser::Parser::parseStylesToShadowTreeStyles(jsi::Runtime& rt, c
1289
1354
 
1290
1355
  auto props = jsi::dynamicFromValue(rt, jsi::Value(rt, convertedStyles));
1291
1356
 
1292
- // a skipped string still wins over earlier styles in React,
1357
+ // a skipped value still wins over earlier styles in React,
1293
1358
  // so drop the prop instead of writing an earlier style's value
1294
- for (const auto& propName : skippedBackgroundImages) {
1359
+ for (const auto& propName : skippedPropNames) {
1295
1360
  props.erase(propName);
1296
1361
  }
1297
1362
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  #include <array>
4
4
  #include <cstdio>
5
+ #include <cxxreact/ReactNativeVersion.h>
5
6
  #include <folly/Conv.h>
6
7
  #include <react/renderer/components/image/ImageProps.h>
7
8
  // ParagraphProps is platform specific and not exposed by the Android prefab
@@ -13,6 +14,13 @@
13
14
  #endif
14
15
  #include <react/renderer/components/text/TextProps.h>
15
16
  #include <react/renderer/components/view/BaseViewProps.h>
17
+ // background size, position and repeat exist since React Native 0.83
18
+ #if __has_include(<react/renderer/graphics/BackgroundSize.h>)
19
+ #include <react/renderer/graphics/BackgroundPosition.h>
20
+ #include <react/renderer/graphics/BackgroundRepeat.h>
21
+ #include <react/renderer/graphics/BackgroundSize.h>
22
+ #define UNISTYLES_HAS_BACKGROUND_LAYER_PROPS 1
23
+ #endif
16
24
  #include <react/renderer/uimanager/UIManagerBinding.h>
17
25
  #include <string_view>
18
26
  #include "Parser.h"
@@ -74,6 +82,64 @@ std::string serialize(const std::optional<FontWeight>& fontWeight) {
74
82
  return fontWeight ? std::to_string(static_cast<int>(*fontWeight)) : "undefined";
75
83
  }
76
84
 
85
+ #if UNISTYLES_HAS_BACKGROUND_LAYER_PROPS
86
+ std::string serialize(const ValueUnit& valueUnit) {
87
+ switch (valueUnit.unit) {
88
+ case UnitType::Point:
89
+ return serialize(valueUnit.value) + "px";
90
+ case UnitType::Percent:
91
+ return serialize(valueUnit.value) + "%";
92
+ default:
93
+ return "undefined";
94
+ }
95
+ }
96
+
97
+ std::string serialize(const std::variant<std::monostate, ValueUnit>& value) {
98
+ return std::holds_alternative<ValueUnit>(value) ? serialize(std::get<ValueUnit>(value)) : "auto";
99
+ }
100
+
101
+ std::string serialize(const BackgroundSize& backgroundSize) {
102
+ if (std::holds_alternative<BackgroundSizeKeyword>(backgroundSize)) {
103
+ return std::get<BackgroundSizeKeyword>(backgroundSize) == BackgroundSizeKeyword::Cover ? "cover" : "contain";
104
+ }
105
+
106
+ const auto& size = std::get<BackgroundSizeLengthPercentage>(backgroundSize);
107
+
108
+ return serialize(size.x) + " " + serialize(size.y);
109
+ }
110
+
111
+ std::string serialize(const BackgroundPosition& backgroundPosition) {
112
+ std::string result;
113
+ auto append = [&result](const char* edge, const std::optional<ValueUnit>& value) {
114
+ if (value) {
115
+ result += (result.empty() ? "" : " ") + std::string(edge) + " " + serialize(*value);
116
+ }
117
+ };
118
+
119
+ append("top", backgroundPosition.top);
120
+ append("left", backgroundPosition.left);
121
+ append("right", backgroundPosition.right);
122
+ append("bottom", backgroundPosition.bottom);
123
+
124
+ return result;
125
+ }
126
+
127
+ std::string serialize(const BackgroundRepeat& backgroundRepeat) {
128
+ return std::to_string(static_cast<int>(backgroundRepeat.x)) + " " + std::to_string(static_cast<int>(backgroundRepeat.y));
129
+ }
130
+
131
+ template <typename T>
132
+ std::string serialize(const std::vector<T>& values) {
133
+ std::string result;
134
+
135
+ for (const auto& value : values) {
136
+ result += (result.empty() ? "" : ", ") + serialize(value);
137
+ }
138
+
139
+ return "[" + result + "]";
140
+ }
141
+ #endif
142
+
77
143
  RectangleEdges<SharedColor> borderColors(const BaseViewProps& props) {
78
144
  return props.borderColors.resolve(false, {});
79
145
  }
@@ -87,6 +153,11 @@ const VerifiedProps<BaseViewProps> viewProps{
87
153
  {"borderBottomColor", [](const BaseViewProps& props) { return serialize(borderColors(props).bottom); }},
88
154
  {"opacity", [](const BaseViewProps& props) { return serialize(props.opacity); }},
89
155
  {"shadowColor", [](const BaseViewProps& props) { return serialize(props.shadowColor); }},
156
+ #if UNISTYLES_HAS_BACKGROUND_LAYER_PROPS
157
+ {"backgroundSize", [](const BaseViewProps& props) { return serialize(props.backgroundSize); }},
158
+ {"backgroundPosition", [](const BaseViewProps& props) { return serialize(props.backgroundPosition); }},
159
+ {"backgroundRepeat", [](const BaseViewProps& props) { return serialize(props.backgroundRepeat); }},
160
+ #endif
90
161
  };
91
162
 
92
163
  const VerifiedProps<BaseTextProps> textProps{
@@ -95,6 +166,9 @@ const VerifiedProps<BaseTextProps> textProps{
95
166
  {"fontSize", [](const BaseTextProps& props) { return serialize(props.textAttributes.fontSize); }},
96
167
  {"fontWeight", [](const BaseTextProps& props) { return serialize(props.textAttributes.fontWeight); }},
97
168
  {"textDecorationColor", [](const BaseTextProps& props) { return serialize(props.textAttributes.textDecorationColor); }},
169
+ #if REACT_NATIVE_VERSION_MAJOR > 0 || REACT_NATIVE_VERSION_MINOR >= 88
170
+ {"fontVariationSettings", [](const BaseTextProps& props) { return props.textAttributes.fontVariationSettings.value_or("undefined"); }},
171
+ #endif
98
172
  };
99
173
 
100
174
  const VerifiedProps<ImageProps> imageProps{
@@ -1,4 +1,5 @@
1
1
  #include "ShadowTreeManager.h"
2
+ #include "PerformanceTracing.h"
2
3
 
3
4
  using namespace margelo::nitro::unistyles;
4
5
  using namespace facebook::react;
@@ -19,6 +20,8 @@ std::vector<InstanceHandle::Shared> shadow::ShadowTreeManager::updateShadowTree(
19
20
  return;
20
21
  }
21
22
 
23
+ UNISTYLES_TRACE_SECTION("commit", "nodes", static_cast<int64_t>(updates.size()));
24
+
22
25
  std::unordered_map<Tag, folly::dynamic> tagToProps;
23
26
 
24
27
  committedInstanceHandles.reserve(updates.size());
@@ -19,6 +19,10 @@ const NamedTheme = ({
19
19
  const scope = (0, _react.useMemo)(() => ({
20
20
  name
21
21
  }), [name]);
22
+ (0, _react.useLayoutEffect)(() => {
23
+ // this will affect only scoped styles as other styles are not yet mounted
24
+ _specs.UnistylesShadowRegistry.flush();
25
+ });
22
26
  const mappedChildren = [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ApplyScopedTheme.ApplyScopedTheme, {
23
27
  name: name
24
28
  }, "apply"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScopedThemeContext.ScopedThemeContext.Provider, {
@@ -27,10 +31,6 @@ const NamedTheme = ({
27
31
  }, "scope"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ApplyScopedTheme.ApplyScopedTheme, {
28
32
  name: previousScopedTheme
29
33
  }, "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
34
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
35
35
  children: mappedChildren
36
36
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_specs","_ApplyScopedTheme","_scopeChildren","_ScopedThemeContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NamedTheme","name","children","previousScopedTheme","scope","useMemo","mappedChildren","jsx","ApplyScopedTheme","ScopedThemeContext","Provider","value","scopeChildren","useLayoutEffect","UnistylesShadowRegistry","flush","Fragment","exports"],"sourceRoot":"../../../src","sources":["components/NamedTheme.tsx"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAAyD,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAOlD,MAAMkB,UAAoD,GAAGA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAoB,CAAC,KAAK;EAC7G,MAAMC,KAAK,GAAG,IAAAC,cAAO,EAAC,OAAO;IAAEJ;EAAK,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAE/C,MAAMK,cAAc,GAAG,cACnB,IAAA1B,WAAA,CAAA2B,GAAA,EAAC9B,iBAAA,CAAA+B,gBAAgB;IAAaP,IAAI,EAAEA;EAAK,GAAnB,OAAqB,CAAC,eAC5C,IAAArB,WAAA,CAAA2B,GAAA,EAAC5B,mBAAA,CAAA8B,kBAAkB,CAACC,QAAQ;IAAaC,KAAK,EAAEP,KAAM;IAAAF,QAAA,EACjD,IAAAU,4BAAa,EAACX,IAAI,EAAEC,QAAQ;EAAC,GADD,OAEJ,CAAC,eAC9B,IAAAtB,WAAA,CAAA2B,GAAA,EAAC9B,iBAAA,CAAA+B,gBAAgB;IAAeP,IAAI,EAAEE;EAAyD,GAAzE,SAA2E,CAAC,CACrG;EAED,IAAAU,sBAAe,EAAC,MAAM;IAClB;IACAC,8BAAuB,CAACC,KAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EAEF,oBAAO,IAAAnC,WAAA,CAAA2B,GAAA,EAAClC,MAAA,CAAAkB,OAAK,CAACyB,QAAQ;IAAAd,QAAA,EAAEI;EAAc,CAAiB,CAAC;AAC5D,CAAC;AAAAW,OAAA,CAAAjB,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_specs","_ApplyScopedTheme","_scopeChildren","_ScopedThemeContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NamedTheme","name","children","previousScopedTheme","scope","useMemo","useLayoutEffect","UnistylesShadowRegistry","flush","mappedChildren","jsx","ApplyScopedTheme","ScopedThemeContext","Provider","value","scopeChildren","Fragment","exports"],"sourceRoot":"../../../src","sources":["components/NamedTheme.tsx"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAAyD,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAOlD,MAAMkB,UAAoD,GAAGA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAoB,CAAC,KAAK;EAC7G,MAAMC,KAAK,GAAG,IAAAC,cAAO,EAAC,OAAO;IAAEJ;EAAK,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAE/C,IAAAK,sBAAe,EAAC,MAAM;IAClB;IACAC,8BAAuB,CAACC,KAAK,CAAC,CAAC;EACnC,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG,cACnB,IAAA7B,WAAA,CAAA8B,GAAA,EAACjC,iBAAA,CAAAkC,gBAAgB;IAAaV,IAAI,EAAEA;EAAK,GAAnB,OAAqB,CAAC,eAC5C,IAAArB,WAAA,CAAA8B,GAAA,EAAC/B,mBAAA,CAAAiC,kBAAkB,CAACC,QAAQ;IAAaC,KAAK,EAAEV,KAAM;IAAAF,QAAA,EACjD,IAAAa,4BAAa,EAACd,IAAI,EAAEC,QAAQ;EAAC,GADD,OAEJ,CAAC,eAC9B,IAAAtB,WAAA,CAAA8B,GAAA,EAACjC,iBAAA,CAAAkC,gBAAgB;IAAeV,IAAI,EAAEE;EAAyD,GAAzE,SAA2E,CAAC,CACrG;EAED,oBAAO,IAAAvB,WAAA,CAAA8B,GAAA,EAACrC,MAAA,CAAAkB,OAAK,CAACyB,QAAQ;IAAAd,QAAA,EAAEO;EAAc,CAAiB,CAAC;AAC5D,CAAC;AAAAQ,OAAA,CAAAjB,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -5,5 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ScopedThemeContext = void 0;
7
7
  var _react = require("react");
8
- const ScopedThemeContext = exports.ScopedThemeContext = /*#__PURE__*/(0, _react.createContext)(null);
8
+ // React Server Components load a React build without createContext (or useContext). The Next.js App Router
9
+ // setup imports Unistyles from the root layout, a server component, and nothing can read this context there.
10
+ const ScopedThemeContext = exports.ScopedThemeContext = typeof _react.createContext === 'function' ? /*#__PURE__*/(0, _react.createContext)(null) : null;
9
11
  //# sourceMappingURL=ScopedThemeContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","ScopedThemeContext","exports","createContext"],"sourceRoot":"../../../src","sources":["components/ScopedThemeContext.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQO,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAG,IAAAE,oBAAa,EAAe,IAAI,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","ScopedThemeContext","exports","createContext"],"sourceRoot":"../../../src","sources":["components/ScopedThemeContext.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQA;AACA;AACO,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAC3B,OAAOE,oBAAa,KAAK,UAAU,gBAAG,IAAAA,oBAAa,EAAe,IAAI,CAAC,GAAG,IACpD","ignoreList":[]}
@@ -14,7 +14,11 @@ var _warn = require("./warn");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  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); }
16
16
  const createUnistylesImageBackground = Component => {
17
- const UnistylesImageBackground = /*#__PURE__*/_react.default.forwardRef((props, forwardedRef) => {
17
+ const UnistylesImageBackground = ({
18
+ ref,
19
+ ...props
20
+ }) => {
21
+ const forwardedRef = ref ?? null;
18
22
  const scope = (0, _react.useContext)(_ScopedThemeContext.ScopedThemeContext);
19
23
 
20
24
  // @ts-expect-error we don't know the type of the component
@@ -43,7 +47,7 @@ const createUnistylesImageBackground = Component => {
43
47
  ref: (0, _hasUnistyles.hasUnistyles)(props.style) ? linkRef : forwardedRef,
44
48
  imageRef: (0, _hasUnistyles.hasUnistyles)(props.imageStyle) ? linkImageRef : props.imageRef
45
49
  });
46
- });
50
+ };
47
51
  return (0, _utils.copyComponentProperties)(Component, UnistylesImageBackground);
48
52
  };
49
53
  exports.createUnistylesImageBackground = createUnistylesImageBackground;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_ScopedThemeContext","_specs","_utils","_hasUnistyles","_passForwardRef","_warn","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createUnistylesImageBackground","Component","UnistylesImageBackground","React","forwardRef","props","forwardedRef","scope","useContext","ScopedThemeContext","maybeWarnAboutMultipleUnistyles","style","imageStyle","linkRef","ref","passForwardedRef","UnistylesShadowRegistry","add","remove","linkImageRef","jsx","hasUnistyles","imageRef","copyComponentProperties","exports"],"sourceRoot":"../../../src","sources":["core/createUnistylesImageBackground.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_ScopedThemeContext","_specs","_utils","_hasUnistyles","_passForwardRef","_warn","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createUnistylesImageBackground","Component","UnistylesImageBackground","ref","props","forwardedRef","scope","useContext","ScopedThemeContext","maybeWarnAboutMultipleUnistyles","style","imageStyle","linkRef","passForwardedRef","UnistylesShadowRegistry","add","remove","linkImageRef","jsx","hasUnistyles","imageRef","copyComponentProperties","exports"],"sourceRoot":"../../../src","sources":["core/createUnistylesImageBackground.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,21 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.withUnistyles = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _utils = require("../../utils");
9
9
  var _getClassname = require("../getClassname");
10
10
  var _useProxifiedUnistyles = require("../useProxifiedUnistyles");
11
11
  var _warn = require("../warn");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
- 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
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  // @ts-expect-error
15
15
 
16
16
  // @ts-expect-error
17
17
 
18
18
  const withUnistyles = (Component, mappings) => {
19
- return /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
19
+ return ({
20
+ ref,
21
+ ...props
22
+ }) => {
20
23
  const narrowedProps = props;
21
- const styleClassNames = (0, _getClassname.getClassName)(narrowedProps.style, true);
24
+ const [classNames, animatedStyles] = (0, _getClassname.getClassName)(narrowedProps.style, true) ?? [];
22
25
  const contentContainerStyleClassNames = (0, _getClassname.getClassName)(narrowedProps.contentContainerStyle);
23
26
  const {
24
27
  proxifiedRuntime,
@@ -37,7 +40,8 @@ const withUnistyles = (Component, mappings) => {
37
40
  ...(0, _utils.deepMergeObjects)(mappingsProps, unistyleProps, props),
38
41
  ...(narrowedProps.style ? {
39
42
  // Override default component styles with undefined values to reset them
40
- style: emptyStyles
43
+ // animated styles can't be a class, so they stay inline
44
+ style: animatedStyles?.length ? [emptyStyles, ...animatedStyles] : emptyStyles
41
45
  } : {}),
42
46
  ...(narrowedProps.contentContainerStyle ? {
43
47
  contentContainerStyle: contentContainerStyleClassNames
@@ -51,7 +55,6 @@ const withUnistyles = (Component, mappings) => {
51
55
  // prettier-ignore
52
56
  (0, _warn.maybeWarnAboutMultipleUnistyles)(narrowedProps.contentContainerStyle, `withUnistyles(${Component.displayName ?? Component.name ?? 'Unknown'})`);
53
57
  const NativeComponent = Component;
54
- const [classNames] = styleClassNames ?? [];
55
58
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
56
59
  className: classNames?.hash,
57
60
  style: {
@@ -62,7 +65,7 @@ const withUnistyles = (Component, mappings) => {
62
65
  ref: ref
63
66
  }, uniPropsKey || mappingsKey)
64
67
  });
65
- });
68
+ };
66
69
  };
67
70
  exports.withUnistyles = withUnistyles;
68
71
  //# sourceMappingURL=withUnistyles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_utils","_getClassname","_useProxifiedUnistyles","_warn","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withUnistyles","Component","mappings","forwardRef","props","ref","narrowedProps","styleClassNames","getClassName","style","contentContainerStyleClassNames","contentContainerStyle","proxifiedRuntime","proxifiedTheme","useProxifiedUnistyles","key","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","uniProps","emptyStyles","fromEntries","entries","getOwnPropertyDescriptors","filter","startsWith","map","undefined","combinedProps","deepMergeObjects","maybeWarnAboutMultipleUnistyles","displayName","name","NativeComponent","classNames","jsx","className","hash","display","children","exports"],"sourceRoot":"../../../../src","sources":["core/withUnistyles/withUnistyles.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_utils","_getClassname","_useProxifiedUnistyles","_warn","_jsxRuntime","e","__esModule","default","withUnistyles","Component","mappings","ref","props","narrowedProps","classNames","animatedStyles","getClassName","style","contentContainerStyleClassNames","contentContainerStyle","proxifiedRuntime","proxifiedTheme","useProxifiedUnistyles","key","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","uniProps","emptyStyles","Object","fromEntries","entries","getOwnPropertyDescriptors","filter","startsWith","map","undefined","combinedProps","deepMergeObjects","length","maybeWarnAboutMultipleUnistyles","displayName","name","NativeComponent","jsx","className","hash","display","children","exports"],"sourceRoot":"../../../../src","sources":["core/withUnistyles/withUnistyles.tsx"],"mappings":"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","ignoreList":[]}