react-native-unistyles 3.0.0-rc.5 → 3.0.1

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 (120) hide show
  1. package/README.md +7 -7
  2. package/Unistyles.podspec +12 -1
  3. package/android/build.gradle +1 -1
  4. package/android/src/main/cxx/NativeUnistylesModule.cpp +2 -1
  5. package/android/src/main/cxx/NativeUnistylesModule.h +4 -0
  6. package/android/src/main/java/com/unistyles/NativePlatform+android.kt +1 -0
  7. package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +21 -9
  8. package/android/src/main/java/com/unistyles/UnistylesModule.kt +7 -0
  9. package/cxx/core/UnistylesRegistry.cpp +7 -0
  10. package/cxx/core/UnistylesRegistry.h +2 -1
  11. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +9 -2
  12. package/ios/UnistylesModuleOnLoad.mm +5 -0
  13. package/lib/commonjs/components/AdaptiveTheme.js +1 -1
  14. package/lib/commonjs/components/AdaptiveTheme.js.map +1 -1
  15. package/lib/commonjs/components/NamedTheme.js +1 -1
  16. package/lib/commonjs/components/NamedTheme.js.map +1 -1
  17. package/lib/commonjs/components/ScopedTheme.js +23 -18
  18. package/lib/commonjs/components/ScopedTheme.js.map +1 -1
  19. package/lib/commonjs/core/createUnistylesElement.js +2 -2
  20. package/lib/commonjs/core/createUnistylesElement.js.map +1 -1
  21. package/lib/commonjs/core/useProxifiedUnistyles/listener.js +1 -1
  22. package/lib/commonjs/core/useProxifiedUnistyles/listener.js.map +1 -1
  23. package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js +2 -1
  24. package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js.map +1 -1
  25. package/lib/commonjs/core/useProxifiedUnistyles/useProxifiedUnistyles.js +14 -2
  26. package/lib/commonjs/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -1
  27. package/lib/commonjs/core/withUnistyles/withUnistyles.js +9 -3
  28. package/lib/commonjs/core/withUnistyles/withUnistyles.js.map +1 -1
  29. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js +9 -3
  30. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
  31. package/lib/commonjs/mocks.js +21 -0
  32. package/lib/commonjs/mocks.js.map +1 -1
  33. package/lib/commonjs/specs/UnistylesRuntime/index.js +0 -1
  34. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
  35. package/lib/commonjs/web/convert/object/boxShadow.js.map +1 -1
  36. package/lib/commonjs/web/convert/pseudo.js +13 -3
  37. package/lib/commonjs/web/convert/pseudo.js.map +1 -1
  38. package/lib/commonjs/web/convert/utils.js +1 -0
  39. package/lib/commonjs/web/convert/utils.js.map +1 -1
  40. package/lib/commonjs/web/css/core.js +3 -1
  41. package/lib/commonjs/web/css/core.js.map +1 -1
  42. package/lib/commonjs/web/listener.js +2 -2
  43. package/lib/commonjs/web/listener.js.map +1 -1
  44. package/lib/commonjs/web/runtime.js +11 -1
  45. package/lib/commonjs/web/runtime.js.map +1 -1
  46. package/lib/module/components/AdaptiveTheme.js +1 -1
  47. package/lib/module/components/AdaptiveTheme.js.map +1 -1
  48. package/lib/module/components/NamedTheme.js +1 -1
  49. package/lib/module/components/NamedTheme.js.map +1 -1
  50. package/lib/module/components/ScopedTheme.js +23 -18
  51. package/lib/module/components/ScopedTheme.js.map +1 -1
  52. package/lib/module/core/createUnistylesElement.js +2 -2
  53. package/lib/module/core/createUnistylesElement.js.map +1 -1
  54. package/lib/module/core/useProxifiedUnistyles/listener.js +1 -1
  55. package/lib/module/core/useProxifiedUnistyles/listener.js.map +1 -1
  56. package/lib/module/core/useProxifiedUnistyles/listener.native.js +2 -1
  57. package/lib/module/core/useProxifiedUnistyles/listener.native.js.map +1 -1
  58. package/lib/module/core/useProxifiedUnistyles/useProxifiedUnistyles.js +14 -2
  59. package/lib/module/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -1
  60. package/lib/module/core/withUnistyles/withUnistyles.js +9 -3
  61. package/lib/module/core/withUnistyles/withUnistyles.js.map +1 -1
  62. package/lib/module/core/withUnistyles/withUnistyles.native.js +9 -3
  63. package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
  64. package/lib/module/mocks.js +21 -0
  65. package/lib/module/mocks.js.map +1 -1
  66. package/lib/module/specs/UnistylesRuntime/index.js +0 -1
  67. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
  68. package/lib/module/web/convert/object/boxShadow.js.map +1 -1
  69. package/lib/module/web/convert/pseudo.js +10 -2
  70. package/lib/module/web/convert/pseudo.js.map +1 -1
  71. package/lib/module/web/convert/utils.js +1 -0
  72. package/lib/module/web/convert/utils.js.map +1 -1
  73. package/lib/module/web/css/core.js +3 -1
  74. package/lib/module/web/css/core.js.map +1 -1
  75. package/lib/module/web/listener.js +2 -2
  76. package/lib/module/web/listener.js.map +1 -1
  77. package/lib/module/web/runtime.js +11 -1
  78. package/lib/module/web/runtime.js.map +1 -1
  79. package/lib/typescript/src/components/NamedTheme.d.ts +1 -1
  80. package/lib/typescript/src/components/NamedTheme.d.ts.map +1 -1
  81. package/lib/typescript/src/components/ScopedTheme.d.ts +9 -3
  82. package/lib/typescript/src/components/ScopedTheme.d.ts.map +1 -1
  83. package/lib/typescript/src/core/createUnistylesElement.d.ts.map +1 -1
  84. package/lib/typescript/src/core/useProxifiedUnistyles/listener.native.d.ts.map +1 -1
  85. package/lib/typescript/src/core/useProxifiedUnistyles/types.d.ts +1 -1
  86. package/lib/typescript/src/core/useProxifiedUnistyles/types.d.ts.map +1 -1
  87. package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts.map +1 -1
  88. package/lib/typescript/src/core/withUnistyles/types.d.ts +3 -1
  89. package/lib/typescript/src/core/withUnistyles/types.d.ts.map +1 -1
  90. package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts.map +1 -1
  91. package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
  92. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
  93. package/lib/typescript/src/web/convert/pseudo.d.ts +6 -3
  94. package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -1
  95. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -1
  96. package/lib/typescript/src/web/css/core.d.ts.map +1 -1
  97. package/lib/typescript/src/web/listener.d.ts +4 -2
  98. package/lib/typescript/src/web/listener.d.ts.map +1 -1
  99. package/lib/typescript/src/web/runtime.d.ts.map +1 -1
  100. package/package.json +2 -1
  101. package/src/components/AdaptiveTheme.tsx +1 -1
  102. package/src/components/NamedTheme.tsx +2 -2
  103. package/src/components/ScopedTheme.tsx +39 -32
  104. package/src/core/createUnistylesElement.tsx +5 -3
  105. package/src/core/useProxifiedUnistyles/listener.native.ts +3 -1
  106. package/src/core/useProxifiedUnistyles/listener.ts +1 -1
  107. package/src/core/useProxifiedUnistyles/types.ts +1 -1
  108. package/src/core/useProxifiedUnistyles/useProxifiedUnistyles.ts +19 -2
  109. package/src/core/withUnistyles/types.ts +1 -1
  110. package/src/core/withUnistyles/withUnistyles.native.tsx +9 -3
  111. package/src/core/withUnistyles/withUnistyles.tsx +11 -8
  112. package/src/mocks.ts +23 -0
  113. package/src/specs/UnistylesRuntime/index.ts +0 -1
  114. package/src/web/convert/object/boxShadow.ts +2 -2
  115. package/src/web/convert/pseudo.ts +23 -52
  116. package/src/web/convert/utils.ts +2 -1
  117. package/src/web/css/core.ts +3 -1
  118. package/src/web/listener.ts +8 -6
  119. package/src/web/runtime.ts +14 -1
  120. package/unistyles_get_rn_version.rb +28 -0
@@ -49,6 +49,12 @@ export class UnistylesRuntime {
49
49
  }
50
50
 
51
51
  get themeName() {
52
+ const scopedTheme = this.services.shadowRegistry.getScopedTheme()
53
+
54
+ if (scopedTheme) {
55
+ return scopedTheme
56
+ }
57
+
52
58
  if (this.services.state.hasAdaptiveThemes) {
53
59
  return schemeToTheme(this.colorScheme) as AppThemeName
54
60
  }
@@ -183,9 +189,14 @@ export class UnistylesRuntime {
183
189
  }
184
190
 
185
191
  setAdaptiveThemes = (isEnabled: boolean) => {
186
- this.services.state.hasAdaptiveThemes = isEnabled
192
+ if (this.services.state.hasAdaptiveThemes === isEnabled) {
193
+ return
194
+ }
195
+
196
+ this.services.listener.emitChange(UnistyleDependency.AdaptiveThemes)
187
197
 
188
198
  if (!isEnabled) {
199
+ this.services.state.hasAdaptiveThemes = isEnabled
189
200
  this.rootElement?.classList.add(this.themeName ?? '')
190
201
 
191
202
  return
@@ -193,6 +204,7 @@ export class UnistylesRuntime {
193
204
 
194
205
  this.rootElement?.classList.remove(this.themeName ?? '')
195
206
  this.setTheme(schemeToTheme(this.colorScheme) as AppThemeName)
207
+ this.services.state.hasAdaptiveThemes = isEnabled
196
208
  }
197
209
 
198
210
  setRootViewBackgroundColor = (color: string) => {
@@ -215,6 +227,7 @@ export class UnistylesRuntime {
215
227
  const newTheme = updater(oldTheme)
216
228
 
217
229
  this.services.state.themes.set(themeName, newTheme)
230
+ this.services.listener.emitChange(UnistyleDependency.Theme)
218
231
 
219
232
  if (this.services.state.CSSVars) {
220
233
  this.services.state.cssThemes.set(
@@ -0,0 +1,28 @@
1
+ require 'json'
2
+
3
+ def unistyles_get_rn_version(rn_path)
4
+ rn_path = rn_path || '../node_modules/react-native'
5
+
6
+ maybe_rn_pkg_json = File.expand_path(File.join(rn_path, 'package.json'))
7
+ maybe_local_rn_pkg_json = File.expand_path('./node_modules/react-native/package.json')
8
+
9
+ rn_pkg_json =
10
+ if File.exist?(maybe_rn_pkg_json)
11
+ maybe_rn_pkg_json
12
+ elsif File.exist?(maybe_local_rn_pkg_json)
13
+ maybe_local_rn_pkg_json
14
+ else
15
+ nil
16
+ end
17
+
18
+ unless rn_pkg_json
19
+ warn "🦄 Unistyles: React Native not found. Frameworks :static will use all dependencies which might fail for older versions of React Native."
20
+ return nil
21
+ end
22
+
23
+ rn_pkg = JSON.parse(File.read(rn_pkg_json))
24
+ rn_version = rn_pkg['version']
25
+ parsed_version = Gem::Version.new(rn_version).segments[1]
26
+
27
+ parsed_version
28
+ end