react-native-unistyles 3.5.3 → 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 (401) hide show
  1. package/README.md +6 -8
  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/BackgroundImageConverter.cpp +198 -11
  12. package/cxx/converters/BackgroundImageConverter.h +1 -0
  13. package/cxx/converters/BackgroundLayerConverter.cpp +523 -0
  14. package/cxx/converters/BackgroundLayerConverter.h +14 -0
  15. package/cxx/converters/FontVariationSettingsConverter.cpp +104 -0
  16. package/cxx/converters/FontVariationSettingsConverter.h +17 -0
  17. package/cxx/core/HostUnistyle.cpp +6 -0
  18. package/cxx/core/UnistyleWrapper.h +16 -1
  19. package/cxx/hybridObjects/HybridShadowRegistry.cpp +13 -0
  20. package/cxx/hybridObjects/HybridStyleSheet.cpp +11 -0
  21. package/cxx/hybridObjects/HybridStyleSheet.h +1 -0
  22. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +10 -30
  23. package/cxx/hybridObjects/HybridUnistylesRuntime.h +2 -2
  24. package/cxx/parser/Parser.cpp +92 -5
  25. package/cxx/shadowTree/ShadowTreeDiagnostics.cpp +74 -0
  26. package/cxx/shadowTree/ShadowTreeManager.cpp +3 -0
  27. package/ios/NativePlatform+ios.swift +22 -11
  28. package/ios/NativePlatformListener+ios.swift +9 -0
  29. package/lib/commonjs/components/NamedTheme.js +4 -4
  30. package/lib/commonjs/components/NamedTheme.js.map +1 -1
  31. package/lib/commonjs/components/ScopedThemeContext.js +3 -1
  32. package/lib/commonjs/components/ScopedThemeContext.js.map +1 -1
  33. package/lib/commonjs/components/native/deep/ActivityIndicator.js +19 -0
  34. package/lib/commonjs/components/native/deep/ActivityIndicator.js.map +1 -0
  35. package/lib/commonjs/components/native/deep/Animated.js +19 -0
  36. package/lib/commonjs/components/native/deep/Animated.js.map +1 -0
  37. package/lib/commonjs/components/native/deep/FlatList.js +19 -0
  38. package/lib/commonjs/components/native/deep/FlatList.js.map +1 -0
  39. package/lib/commonjs/components/native/deep/Image.js +19 -0
  40. package/lib/commonjs/components/native/deep/Image.js.map +1 -0
  41. package/lib/commonjs/components/native/deep/ImageBackground.js +19 -0
  42. package/lib/commonjs/components/native/deep/ImageBackground.js.map +1 -0
  43. package/lib/commonjs/components/native/deep/KeyboardAvoidingView.js +19 -0
  44. package/lib/commonjs/components/native/deep/KeyboardAvoidingView.js.map +1 -0
  45. package/lib/commonjs/components/native/deep/Pressable.js +19 -0
  46. package/lib/commonjs/components/native/deep/Pressable.js.map +1 -0
  47. package/lib/commonjs/components/native/deep/RefreshControl.js +19 -0
  48. package/lib/commonjs/components/native/deep/RefreshControl.js.map +1 -0
  49. package/lib/commonjs/components/native/deep/SafeAreaView.js +19 -0
  50. package/lib/commonjs/components/native/deep/SafeAreaView.js.map +1 -0
  51. package/lib/commonjs/components/native/deep/ScrollView.js +19 -0
  52. package/lib/commonjs/components/native/deep/ScrollView.js.map +1 -0
  53. package/lib/commonjs/components/native/deep/SectionList.js +19 -0
  54. package/lib/commonjs/components/native/deep/SectionList.js.map +1 -0
  55. package/lib/commonjs/components/native/deep/Switch.js +19 -0
  56. package/lib/commonjs/components/native/deep/Switch.js.map +1 -0
  57. package/lib/commonjs/components/native/deep/Text.js +19 -0
  58. package/lib/commonjs/components/native/deep/Text.js.map +1 -0
  59. package/lib/commonjs/components/native/deep/TextInput.js +19 -0
  60. package/lib/commonjs/components/native/deep/TextInput.js.map +1 -0
  61. package/lib/commonjs/components/native/deep/TextNativeComponent.js +28 -0
  62. package/lib/commonjs/components/native/deep/TextNativeComponent.js.map +1 -0
  63. package/lib/commonjs/components/native/deep/TouchableHighlight.js +19 -0
  64. package/lib/commonjs/components/native/deep/TouchableHighlight.js.map +1 -0
  65. package/lib/commonjs/components/native/deep/TouchableOpacity.js +19 -0
  66. package/lib/commonjs/components/native/deep/TouchableOpacity.js.map +1 -0
  67. package/lib/commonjs/components/native/deep/View.js +19 -0
  68. package/lib/commonjs/components/native/deep/View.js.map +1 -0
  69. package/lib/commonjs/components/native/deep/ViewNativeComponent.js +26 -0
  70. package/lib/commonjs/components/native/deep/ViewNativeComponent.js.map +1 -0
  71. package/lib/commonjs/components/native/deep/VirtualizedList.js +19 -0
  72. package/lib/commonjs/components/native/deep/VirtualizedList.js.map +1 -0
  73. package/lib/commonjs/components/native/index.js +43 -0
  74. package/lib/commonjs/components/native/index.js.map +1 -0
  75. package/lib/commonjs/core/createUnistylesActivityIndicator.js +13 -3
  76. package/lib/commonjs/core/createUnistylesActivityIndicator.js.map +1 -1
  77. package/lib/commonjs/core/createUnistylesElement.native.js +6 -0
  78. package/lib/commonjs/core/createUnistylesElement.native.js.map +1 -1
  79. package/lib/commonjs/core/createUnistylesImageBackground.js +26 -19
  80. package/lib/commonjs/core/createUnistylesImageBackground.js.map +1 -1
  81. package/lib/commonjs/core/createUnistylesTouchableHighlight.js +6 -0
  82. package/lib/commonjs/core/createUnistylesTouchableHighlight.js.map +1 -1
  83. package/lib/commonjs/core/getClassname.js +15 -0
  84. package/lib/commonjs/core/getClassname.js.map +1 -1
  85. package/lib/commonjs/core/hasUnistyles.js +26 -0
  86. package/lib/commonjs/core/hasUnistyles.js.map +1 -0
  87. package/lib/commonjs/core/withUnistyles/withUnistyles.js +10 -7
  88. package/lib/commonjs/core/withUnistyles/withUnistyles.js.map +1 -1
  89. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js +22 -3
  90. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
  91. package/lib/commonjs/mocks.js +27 -3
  92. package/lib/commonjs/mocks.js.map +1 -1
  93. package/lib/commonjs/specs/ShadowRegistry/index.js +69 -76
  94. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  95. package/lib/commonjs/specs/ShadowRegistry/styleSource.js +65 -0
  96. package/lib/commonjs/specs/ShadowRegistry/styleSource.js.map +1 -0
  97. package/lib/commonjs/specs/ShadowRegistry/tracing.js +26 -0
  98. package/lib/commonjs/specs/ShadowRegistry/tracing.js.map +1 -0
  99. package/lib/commonjs/unifiber/src/adapters/reanimated.js +157 -0
  100. package/lib/commonjs/unifiber/src/adapters/reanimated.js.map +1 -0
  101. package/lib/commonjs/unifiber/src/adapters/registry.js +67 -0
  102. package/lib/commonjs/unifiber/src/adapters/registry.js.map +1 -0
  103. package/lib/commonjs/unifiber/src/diagnostics.js +59 -0
  104. package/lib/commonjs/unifiber/src/diagnostics.js.map +1 -0
  105. package/lib/commonjs/unifiber/src/fiber.js +199 -0
  106. package/lib/commonjs/unifiber/src/fiber.js.map +1 -0
  107. package/lib/commonjs/unifiber/src/host.js +214 -0
  108. package/lib/commonjs/unifiber/src/host.js.map +1 -0
  109. package/lib/commonjs/unifiber/src/index.js +38 -0
  110. package/lib/commonjs/unifiber/src/index.js.map +1 -0
  111. package/lib/commonjs/utils.js +52 -1
  112. package/lib/commonjs/utils.js.map +1 -1
  113. package/lib/commonjs/web/convert/index.js +19 -1
  114. package/lib/commonjs/web/convert/index.js.map +1 -1
  115. package/lib/commonjs/web/convert/module.d.ts +3 -0
  116. package/lib/commonjs/web/convert/object/backgroundLayers.js +30 -0
  117. package/lib/commonjs/web/convert/object/backgroundLayers.js.map +1 -0
  118. package/lib/commonjs/web/convert/object/fontVariationSettings.js +12 -0
  119. package/lib/commonjs/web/convert/object/fontVariationSettings.js.map +1 -0
  120. package/lib/commonjs/web/convert/object/index.js +22 -0
  121. package/lib/commonjs/web/convert/object/index.js.map +1 -1
  122. package/lib/commonjs/web/convert/utils.js +7 -1
  123. package/lib/commonjs/web/convert/utils.js.map +1 -1
  124. package/lib/commonjs/web/registry.js +6 -4
  125. package/lib/commonjs/web/registry.js.map +1 -1
  126. package/lib/commonjs/web/runtime.js +9 -6
  127. package/lib/commonjs/web/runtime.js.map +1 -1
  128. package/lib/commonjs/web/utils/unistyle.js +9 -3
  129. package/lib/commonjs/web/utils/unistyle.js.map +1 -1
  130. package/lib/module/components/NamedTheme.js +4 -4
  131. package/lib/module/components/NamedTheme.js.map +1 -1
  132. package/lib/module/components/ScopedThemeContext.js +3 -1
  133. package/lib/module/components/ScopedThemeContext.js.map +1 -1
  134. package/lib/module/components/native/deep/ActivityIndicator.js +5 -0
  135. package/lib/module/components/native/deep/ActivityIndicator.js.map +1 -0
  136. package/lib/module/components/native/deep/Animated.js +5 -0
  137. package/lib/module/components/native/deep/Animated.js.map +1 -0
  138. package/lib/module/components/native/deep/FlatList.js +5 -0
  139. package/lib/module/components/native/deep/FlatList.js.map +1 -0
  140. package/lib/module/components/native/deep/Image.js +5 -0
  141. package/lib/module/components/native/deep/Image.js.map +1 -0
  142. package/lib/module/components/native/deep/ImageBackground.js +5 -0
  143. package/lib/module/components/native/deep/ImageBackground.js.map +1 -0
  144. package/lib/module/components/native/deep/KeyboardAvoidingView.js +5 -0
  145. package/lib/module/components/native/deep/KeyboardAvoidingView.js.map +1 -0
  146. package/lib/module/components/native/deep/Pressable.js +5 -0
  147. package/lib/module/components/native/deep/Pressable.js.map +1 -0
  148. package/lib/module/components/native/deep/RefreshControl.js +5 -0
  149. package/lib/module/components/native/deep/RefreshControl.js.map +1 -0
  150. package/lib/module/components/native/deep/SafeAreaView.js +5 -0
  151. package/lib/module/components/native/deep/SafeAreaView.js.map +1 -0
  152. package/lib/module/components/native/deep/ScrollView.js +5 -0
  153. package/lib/module/components/native/deep/ScrollView.js.map +1 -0
  154. package/lib/module/components/native/deep/SectionList.js +5 -0
  155. package/lib/module/components/native/deep/SectionList.js.map +1 -0
  156. package/lib/module/components/native/deep/Switch.js +5 -0
  157. package/lib/module/components/native/deep/Switch.js.map +1 -0
  158. package/lib/module/components/native/deep/Text.js +5 -0
  159. package/lib/module/components/native/deep/Text.js.map +1 -0
  160. package/lib/module/components/native/deep/TextInput.js +5 -0
  161. package/lib/module/components/native/deep/TextInput.js.map +1 -0
  162. package/lib/module/components/native/deep/TextNativeComponent.js +8 -0
  163. package/lib/module/components/native/deep/TextNativeComponent.js.map +1 -0
  164. package/lib/module/components/native/deep/TouchableHighlight.js +5 -0
  165. package/lib/module/components/native/deep/TouchableHighlight.js.map +1 -0
  166. package/lib/module/components/native/deep/TouchableOpacity.js +5 -0
  167. package/lib/module/components/native/deep/TouchableOpacity.js.map +1 -0
  168. package/lib/module/components/native/deep/View.js +5 -0
  169. package/lib/module/components/native/deep/View.js.map +1 -0
  170. package/lib/module/components/native/deep/ViewNativeComponent.js +8 -0
  171. package/lib/module/components/native/deep/ViewNativeComponent.js.map +1 -0
  172. package/lib/module/components/native/deep/VirtualizedList.js +5 -0
  173. package/lib/module/components/native/deep/VirtualizedList.js.map +1 -0
  174. package/lib/module/components/native/index.js +43 -0
  175. package/lib/module/components/native/index.js.map +1 -0
  176. package/lib/module/core/createUnistylesActivityIndicator.js +13 -3
  177. package/lib/module/core/createUnistylesActivityIndicator.js.map +1 -1
  178. package/lib/module/core/createUnistylesElement.native.js +6 -0
  179. package/lib/module/core/createUnistylesElement.native.js.map +1 -1
  180. package/lib/module/core/createUnistylesImageBackground.js +26 -19
  181. package/lib/module/core/createUnistylesImageBackground.js.map +1 -1
  182. package/lib/module/core/createUnistylesTouchableHighlight.js +6 -0
  183. package/lib/module/core/createUnistylesTouchableHighlight.js.map +1 -1
  184. package/lib/module/core/getClassname.js +16 -1
  185. package/lib/module/core/getClassname.js.map +1 -1
  186. package/lib/module/core/hasUnistyles.js +21 -0
  187. package/lib/module/core/hasUnistyles.js.map +1 -0
  188. package/lib/module/core/withUnistyles/withUnistyles.js +9 -6
  189. package/lib/module/core/withUnistyles/withUnistyles.js.map +1 -1
  190. package/lib/module/core/withUnistyles/withUnistyles.native.js +24 -5
  191. package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
  192. package/lib/module/mocks.js +27 -3
  193. package/lib/module/mocks.js.map +1 -1
  194. package/lib/module/specs/ShadowRegistry/index.js +69 -76
  195. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  196. package/lib/module/specs/ShadowRegistry/styleSource.js +60 -0
  197. package/lib/module/specs/ShadowRegistry/styleSource.js.map +1 -0
  198. package/lib/module/specs/ShadowRegistry/tracing.js +21 -0
  199. package/lib/module/specs/ShadowRegistry/tracing.js.map +1 -0
  200. package/lib/module/unifiber/src/adapters/reanimated.js +152 -0
  201. package/lib/module/unifiber/src/adapters/reanimated.js.map +1 -0
  202. package/lib/module/unifiber/src/adapters/registry.js +62 -0
  203. package/lib/module/unifiber/src/adapters/registry.js.map +1 -0
  204. package/lib/module/unifiber/src/diagnostics.js +52 -0
  205. package/lib/module/unifiber/src/diagnostics.js.map +1 -0
  206. package/lib/module/unifiber/src/fiber.js +183 -0
  207. package/lib/module/unifiber/src/fiber.js.map +1 -0
  208. package/lib/module/unifiber/src/host.js +191 -0
  209. package/lib/module/unifiber/src/host.js.map +1 -0
  210. package/lib/module/unifiber/src/index.js +33 -0
  211. package/lib/module/unifiber/src/index.js.map +1 -0
  212. package/lib/module/utils.js +50 -0
  213. package/lib/module/utils.js.map +1 -1
  214. package/lib/module/web/convert/index.js +22 -3
  215. package/lib/module/web/convert/index.js.map +1 -1
  216. package/lib/module/web/convert/module.d.ts +3 -0
  217. package/lib/module/web/convert/object/backgroundLayers.js +25 -0
  218. package/lib/module/web/convert/object/backgroundLayers.js.map +1 -0
  219. package/lib/module/web/convert/object/fontVariationSettings.js +7 -0
  220. package/lib/module/web/convert/object/fontVariationSettings.js.map +1 -0
  221. package/lib/module/web/convert/object/index.js +2 -0
  222. package/lib/module/web/convert/object/index.js.map +1 -1
  223. package/lib/module/web/convert/utils.js +4 -0
  224. package/lib/module/web/convert/utils.js.map +1 -1
  225. package/lib/module/web/registry.js +6 -4
  226. package/lib/module/web/registry.js.map +1 -1
  227. package/lib/module/web/runtime.js +9 -6
  228. package/lib/module/web/runtime.js.map +1 -1
  229. package/lib/module/web/utils/unistyle.js +10 -4
  230. package/lib/module/web/utils/unistyle.js.map +1 -1
  231. package/lib/typescript/src/components/ScopedThemeContext.d.ts +2 -1
  232. package/lib/typescript/src/components/ScopedThemeContext.d.ts.map +1 -1
  233. package/lib/typescript/src/components/native/deep/ActivityIndicator.d.ts +2 -0
  234. package/lib/typescript/src/components/native/deep/ActivityIndicator.d.ts.map +1 -0
  235. package/lib/typescript/src/components/native/deep/Animated.d.ts +2 -0
  236. package/lib/typescript/src/components/native/deep/Animated.d.ts.map +1 -0
  237. package/lib/typescript/src/components/native/deep/FlatList.d.ts +2 -0
  238. package/lib/typescript/src/components/native/deep/FlatList.d.ts.map +1 -0
  239. package/lib/typescript/src/components/native/deep/Image.d.ts +2 -0
  240. package/lib/typescript/src/components/native/deep/Image.d.ts.map +1 -0
  241. package/lib/typescript/src/components/native/deep/ImageBackground.d.ts +2 -0
  242. package/lib/typescript/src/components/native/deep/ImageBackground.d.ts.map +1 -0
  243. package/lib/typescript/src/components/native/deep/KeyboardAvoidingView.d.ts +2 -0
  244. package/lib/typescript/src/components/native/deep/KeyboardAvoidingView.d.ts.map +1 -0
  245. package/lib/typescript/src/components/native/deep/Pressable.d.ts +2 -0
  246. package/lib/typescript/src/components/native/deep/Pressable.d.ts.map +1 -0
  247. package/lib/typescript/src/components/native/deep/RefreshControl.d.ts +2 -0
  248. package/lib/typescript/src/components/native/deep/RefreshControl.d.ts.map +1 -0
  249. package/lib/typescript/src/components/native/deep/SafeAreaView.d.ts +2 -0
  250. package/lib/typescript/src/components/native/deep/SafeAreaView.d.ts.map +1 -0
  251. package/lib/typescript/src/components/native/deep/ScrollView.d.ts +2 -0
  252. package/lib/typescript/src/components/native/deep/ScrollView.d.ts.map +1 -0
  253. package/lib/typescript/src/components/native/deep/SectionList.d.ts +2 -0
  254. package/lib/typescript/src/components/native/deep/SectionList.d.ts.map +1 -0
  255. package/lib/typescript/src/components/native/deep/Switch.d.ts +2 -0
  256. package/lib/typescript/src/components/native/deep/Switch.d.ts.map +1 -0
  257. package/lib/typescript/src/components/native/deep/Text.d.ts +2 -0
  258. package/lib/typescript/src/components/native/deep/Text.d.ts.map +1 -0
  259. package/lib/typescript/src/components/native/deep/TextInput.d.ts +2 -0
  260. package/lib/typescript/src/components/native/deep/TextInput.d.ts.map +1 -0
  261. package/lib/typescript/src/components/native/deep/TextNativeComponent.d.ts +3 -0
  262. package/lib/typescript/src/components/native/deep/TextNativeComponent.d.ts.map +1 -0
  263. package/lib/typescript/src/components/native/deep/TouchableHighlight.d.ts +2 -0
  264. package/lib/typescript/src/components/native/deep/TouchableHighlight.d.ts.map +1 -0
  265. package/lib/typescript/src/components/native/deep/TouchableOpacity.d.ts +2 -0
  266. package/lib/typescript/src/components/native/deep/TouchableOpacity.d.ts.map +1 -0
  267. package/lib/typescript/src/components/native/deep/View.d.ts +2 -0
  268. package/lib/typescript/src/components/native/deep/View.d.ts.map +1 -0
  269. package/lib/typescript/src/components/native/deep/ViewNativeComponent.d.ts +3 -0
  270. package/lib/typescript/src/components/native/deep/ViewNativeComponent.d.ts.map +1 -0
  271. package/lib/typescript/src/components/native/deep/VirtualizedList.d.ts +2 -0
  272. package/lib/typescript/src/components/native/deep/VirtualizedList.d.ts.map +1 -0
  273. package/lib/typescript/src/components/native/index.d.ts +4 -0
  274. package/lib/typescript/src/components/native/index.d.ts.map +1 -0
  275. package/lib/typescript/src/components/scopeChildren.d.ts +1 -1
  276. package/lib/typescript/src/core/createUnistylesActivityIndicator.d.ts.map +1 -1
  277. package/lib/typescript/src/core/createUnistylesElement.native.d.ts.map +1 -1
  278. package/lib/typescript/src/core/createUnistylesImageBackground.d.ts.map +1 -1
  279. package/lib/typescript/src/core/createUnistylesTouchableHighlight.d.ts.map +1 -1
  280. package/lib/typescript/src/core/getClassname.d.ts.map +1 -1
  281. package/lib/typescript/src/core/hasUnistyles.d.ts +2 -0
  282. package/lib/typescript/src/core/hasUnistyles.d.ts.map +1 -0
  283. package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts +6 -3
  284. package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts.map +1 -1
  285. package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts +7 -4
  286. package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
  287. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  288. package/lib/typescript/src/specs/ShadowRegistry/styleSource.d.ts +11 -0
  289. package/lib/typescript/src/specs/ShadowRegistry/styleSource.d.ts.map +1 -0
  290. package/lib/typescript/src/specs/ShadowRegistry/tracing.d.ts +2 -0
  291. package/lib/typescript/src/specs/ShadowRegistry/tracing.d.ts.map +1 -0
  292. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +4 -41
  293. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
  294. package/lib/typescript/src/unifiber/src/adapters/reanimated.d.ts +17 -0
  295. package/lib/typescript/src/unifiber/src/adapters/reanimated.d.ts.map +1 -0
  296. package/lib/typescript/src/unifiber/src/adapters/registry.d.ts +23 -0
  297. package/lib/typescript/src/unifiber/src/adapters/registry.d.ts.map +1 -0
  298. package/lib/typescript/src/unifiber/src/diagnostics.d.ts +10 -0
  299. package/lib/typescript/src/unifiber/src/diagnostics.d.ts.map +1 -0
  300. package/lib/typescript/src/unifiber/src/fiber.d.ts +48 -0
  301. package/lib/typescript/src/unifiber/src/fiber.d.ts.map +1 -0
  302. package/lib/typescript/src/unifiber/src/host.d.ts +32 -0
  303. package/lib/typescript/src/unifiber/src/host.d.ts.map +1 -0
  304. package/lib/typescript/src/unifiber/src/index.d.ts +49 -0
  305. package/lib/typescript/src/unifiber/src/index.d.ts.map +1 -0
  306. package/lib/typescript/src/utils.d.ts +1 -0
  307. package/lib/typescript/src/utils.d.ts.map +1 -1
  308. package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
  309. package/lib/typescript/src/web/convert/object/backgroundLayers.d.ts +4 -0
  310. package/lib/typescript/src/web/convert/object/backgroundLayers.d.ts.map +1 -0
  311. package/lib/typescript/src/web/convert/object/fontVariationSettings.d.ts +4 -0
  312. package/lib/typescript/src/web/convert/object/fontVariationSettings.d.ts.map +1 -0
  313. package/lib/typescript/src/web/convert/object/index.d.ts +2 -0
  314. package/lib/typescript/src/web/convert/object/index.d.ts.map +1 -1
  315. package/lib/typescript/src/web/convert/utils.d.ts +2 -0
  316. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -1
  317. package/lib/typescript/src/web/registry.d.ts.map +1 -1
  318. package/lib/typescript/src/web/runtime.d.ts +1 -0
  319. package/lib/typescript/src/web/runtime.d.ts.map +1 -1
  320. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -1
  321. package/metro/babel-transformer.js +1102 -0
  322. package/metro/index.d.ts +31 -0
  323. package/metro/index.js +170 -0
  324. package/package.json +50 -32
  325. package/plugin/index.d.ts +7 -0
  326. package/plugin/index.js +115 -33
  327. package/src/components/NamedTheme.tsx +5 -5
  328. package/src/components/ScopedThemeContext.ts +6 -2
  329. package/src/components/native/deep/ActivityIndicator.ts +2 -0
  330. package/src/components/native/deep/Animated.ts +2 -0
  331. package/src/components/native/deep/FlatList.ts +2 -0
  332. package/src/components/native/deep/Image.ts +2 -0
  333. package/src/components/native/deep/ImageBackground.ts +2 -0
  334. package/src/components/native/deep/KeyboardAvoidingView.ts +2 -0
  335. package/src/components/native/deep/Pressable.ts +2 -0
  336. package/src/components/native/deep/RefreshControl.ts +2 -0
  337. package/src/components/native/deep/SafeAreaView.ts +2 -0
  338. package/src/components/native/deep/ScrollView.ts +2 -0
  339. package/src/components/native/deep/SectionList.ts +2 -0
  340. package/src/components/native/deep/Switch.ts +2 -0
  341. package/src/components/native/deep/Text.ts +2 -0
  342. package/src/components/native/deep/TextInput.ts +2 -0
  343. package/src/components/native/deep/TextNativeComponent.ts +5 -0
  344. package/src/components/native/deep/TouchableHighlight.ts +2 -0
  345. package/src/components/native/deep/TouchableOpacity.ts +2 -0
  346. package/src/components/native/deep/View.ts +2 -0
  347. package/src/components/native/deep/ViewNativeComponent.ts +5 -0
  348. package/src/components/native/deep/VirtualizedList.ts +2 -0
  349. package/src/components/native/index.ts +41 -0
  350. package/src/core/createUnistylesActivityIndicator.tsx +11 -4
  351. package/src/core/createUnistylesElement.native.tsx +5 -0
  352. package/src/core/createUnistylesImageBackground.tsx +33 -25
  353. package/src/core/createUnistylesTouchableHighlight.tsx +5 -0
  354. package/src/core/getClassname.ts +10 -1
  355. package/src/core/hasUnistyles.ts +20 -0
  356. package/src/core/withUnistyles/withUnistyles.native.tsx +28 -6
  357. package/src/core/withUnistyles/withUnistyles.tsx +6 -6
  358. package/src/mocks.ts +14 -5
  359. package/src/specs/ShadowRegistry/index.ts +62 -103
  360. package/src/specs/ShadowRegistry/styleSource.ts +78 -0
  361. package/src/specs/ShadowRegistry/tracing.ts +23 -0
  362. package/src/specs/ShadowRegistry/types.ts +3 -43
  363. package/src/unifiber/LICENSE +21 -0
  364. package/src/unifiber/README.md +92 -0
  365. package/src/unifiber/src/adapters/reanimated.ts +204 -0
  366. package/src/unifiber/src/adapters/registry.ts +102 -0
  367. package/src/unifiber/src/diagnostics.ts +55 -0
  368. package/src/unifiber/src/fiber.ts +262 -0
  369. package/src/unifiber/src/host.ts +236 -0
  370. package/src/unifiber/src/index.ts +43 -0
  371. package/src/utils.ts +51 -0
  372. package/src/web/convert/index.ts +39 -3
  373. package/src/web/convert/object/backgroundLayers.ts +33 -0
  374. package/src/web/convert/object/fontVariationSettings.ts +7 -0
  375. package/src/web/convert/object/index.ts +2 -0
  376. package/src/web/convert/utils.ts +11 -0
  377. package/src/web/registry.ts +7 -8
  378. package/src/web/runtime.ts +7 -7
  379. package/src/web/utils/unistyle.ts +11 -4
  380. package/lib/commonjs/web/convert/module.d.js +0 -2
  381. package/lib/commonjs/web/convert/module.d.js.map +0 -1
  382. package/lib/module/web/convert/module.d.js +0 -2
  383. package/lib/module/web/convert/module.d.js.map +0 -1
  384. package/lib/typescript/src/__tests__/mocks.spec.d.ts +0 -2
  385. package/lib/typescript/src/__tests__/mocks.spec.d.ts.map +0 -1
  386. package/lib/typescript/src/__tests__/passForwardRef.spec.d.ts +0 -2
  387. package/lib/typescript/src/__tests__/passForwardRef.spec.d.ts.map +0 -1
  388. package/lib/typescript/src/__tests__/scoped-theme.spec.d.ts +0 -2
  389. package/lib/typescript/src/__tests__/scoped-theme.spec.d.ts.map +0 -1
  390. package/lib/typescript/src/__tests__/shadow-registry.spec.d.ts +0 -2
  391. package/lib/typescript/src/__tests__/shadow-registry.spec.d.ts.map +0 -1
  392. package/lib/typescript/src/__tests__/web-child-selector.spec.d.ts +0 -2
  393. package/lib/typescript/src/__tests__/web-child-selector.spec.d.ts.map +0 -1
  394. package/lib/typescript/src/__tests__/web-listener.spec.d.ts +0 -2
  395. package/lib/typescript/src/__tests__/web-listener.spec.d.ts.map +0 -1
  396. package/lib/typescript/src/__tests__/web-pointer-events.spec.d.ts +0 -2
  397. package/lib/typescript/src/__tests__/web-pointer-events.spec.d.ts.map +0 -1
  398. package/lib/typescript/src/__tests__/web-runtime.spec.d.ts +0 -2
  399. package/lib/typescript/src/__tests__/web-runtime.spec.d.ts.map +0 -1
  400. package/lib/typescript/src/__tests__/withUnistyles.spec.d.ts +0 -2
  401. package/lib/typescript/src/__tests__/withUnistyles.spec.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useContext","useEffect","ScopedThemeContext","UnistylesShadowRegistry","deepMergeObjects","useProxifiedUnistyles","maybeWarnAboutMultipleUnistyles","jsx","_jsx","getSecrets","styleProps","styles","Array","isArray","flat","Infinity","secrets","filter","Boolean","reduce","acc","style","unistyleKey","Object","keys","find","key","startsWith","concat","uni__getStyles","uni__dependencies","secret","assign","dependencies","flatMap","withUnistyles","Component","mappings","props","ref","narrowedProps","NativeComponent","displayName","name","contentContainerStyle","scope","proxifiedRuntime","proxifiedTheme","addDependencies","__uni","styleSecrets","contentContainerStyleSecrets","from","Set","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","uniProps","previousScopedTheme","getScopedTheme","undefined","setScopedTheme","finalProps"],"sourceRoot":"../../../../src","sources":["core/withUnistyles/withUnistyles.native.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useContext","useEffect","ScopedThemeContext","UnistylesShadowRegistry","deepMergeObjects","isAnimatedStyleHandle","useProxifiedUnistyles","maybeWarnAboutMultipleUnistyles","jsx","_jsx","mergeAroundAnimatedStyles","secrets","reduce","acc","secret","style","uni__getStyles","lastStyle","at","concat","Object","assign","getSecrets","styleProps","styles","Array","isArray","flat","Infinity","filter","Boolean","unistyleKey","keys","find","key","startsWith","uni__dependencies","some","dependencies","flatMap","withUnistyles","Component","mappings","ref","props","narrowedProps","NativeComponent","displayName","name","contentContainerStyle","scope","proxifiedRuntime","proxifiedTheme","addDependencies","__uni","styleSecrets","contentContainerStyleSecrets","from","Set","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","uniProps","previousScopedTheme","getScopedTheme","undefined","setScopedTheme","finalProps"],"sourceRoot":"../../../../src","sources":["core/withUnistyles/withUnistyles.native.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IACRC,UAAU,EACVC,SAAS,QAKN,OAAO;AAKd,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAAkCC,uBAAuB,QAAQ,aAAa;AAC9E,SAASC,gBAAgB,EAAEC,qBAAqB,QAAQ,aAAa;AACrE,SAASC,qBAAqB,QAAQ,0BAA0B;AAChE,SAASC,+BAA+B,QAAQ,SAAS;;AAEzD;;AAEA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAaA;AACA;AACA,MAAMC,yBAAyB,GAAIC,OAAgC,IAC/DA,OAAO,CAACC,MAAM,CAA6B,CAACC,GAAG,EAAEC,MAAM,KAAK;EACxD,MAAMC,KAAK,GAAGD,MAAM,CAACE,cAAc,CAAC,CAAC;EACrC,MAAMC,SAAS,GAAGJ,GAAG,CAACK,EAAE,CAAC,CAAC,CAAC,CAAC;EAE5B,IAAIb,qBAAqB,CAACU,KAAK,CAAC,EAAE;IAC9B,OAAOF,GAAG,CAACM,MAAM,CAAC,CAACJ,KAAK,CAAC,CAAC;EAC9B;EAEA,IAAIE,SAAS,IAAI,CAACZ,qBAAqB,CAACY,SAAS,CAAC,EAAE;IAChDG,MAAM,CAACC,MAAM,CAACJ,SAAS,EAAEF,KAAK,CAAC;IAE/B,OAAOF,GAAG;EACd;EAEA,OAAOA,GAAG,CAACM,MAAM,CAAC,CAAC;IAAE,GAAGJ;EAAM,CAAC,CAAC,CAAC;AACrC,CAAC,EAAE,EAAE,CAAC;AAEV,OAAO,MAAMO,UAAU,GAAGA,CAACC,UAA+B,GAAG,CAAC,CAAC,KAAoB;EAC/E,MAAMC,MAAM,GAAGC,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,GAAGA,UAAU,CAACI,IAAI,CAACC,QAAQ,CAAC,GAAG,CAACL,UAAU,CAAC;EAEnF,MAAMZ,OAAgC,GAAGa,MAAM,CAACK,MAAM,CAACC,OAAO,CAAC,CAAClB,MAAM,CAAC,CAACC,GAAG,EAAEE,KAAK,KAAK;IACnF,MAAMgB,WAAW,GAAGX,MAAM,CAACY,IAAI,CAACjB,KAAK,CAAC,CAACkB,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,UAAU,CAAC,YAAY,CAAC,CAAC;IAElF,OAAOtB,GAAG,CAACM,MAAM,CAAC,CACdY,WAAW,GACLhB,KAAK,CAACgB,WAAW,CAAC,GAClB;MACIf,cAAc,EAAEA,CAAA,KAAMD,KAAK;MAC3BqB,iBAAiB,EAAE;IACvB,CAAC,CACV,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACHZ,MAAM,EAAEA,MAAM,CAACa,IAAI,CAAChC,qBAAqB,CAAC,GACpCK,yBAAyB,CAACC,OAAO,CAAC,GAClCA,OAAO,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAKM,MAAM,CAACC,MAAM,CAACR,GAAG,EAAEC,MAAM,CAACE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAwB,CAAC;IAC7GsB,YAAY,EAAE3B,OAAO,CAAC4B,OAAO,CAAEzB,MAAM,IAAKA,MAAM,CAACsB,iBAAiB;EACtE,CAAC;AACL,CAAC;AAED,OAAO,MAAMI,aAAa,GAAGA,CACzBC,SAAqB,EACrBC,QAA8B,KAC7B;EAUD,OAAO,CAAC;IAAEC,GAAG;IAAE,GAAGC;EAA2E,CAAC,KAAK;IAC/F,MAAMC,aAAa,GAAGD,KAA4C;IAClE,MAAME,eAAe,GAAGL,SAA0B;;IAElD;IACA;IACAlC,+BAA+B,CAACsC,aAAa,CAAC9B,KAAK,EAAE,iBAAiB0B,SAAS,CAACM,WAAW,IAAIN,SAAS,CAACO,IAAI,IAAI,SAAS,GAAG,CAAC;IAC9H;IACA;IACAzC,+BAA+B,CAACsC,aAAa,CAACI,qBAAqB,EAAE,iBAAiBR,SAAS,CAACM,WAAW,IAAIN,SAAS,CAACO,IAAI,IAAI,SAAS,GAAG,CAAC;IAE9I,MAAME,KAAK,GAAGlD,UAAU,CAACE,kBAAkB,CAAC;IAC5C,MAAM;MAAEiD,gBAAgB;MAAEC,cAAc;MAAEC;IAAgB,CAAC,GAAG/C,qBAAqB,CAAC,CAAC;;IAErF;IACA;IACA,KAAM8C,cAAc,CAA6BE,KAAK;IAEtDrD,SAAS,CAAC,MAAM;MACZ,MAAMsD,YAAY,GAAGjC,UAAU,CAACuB,aAAa,CAAC9B,KAAK,CAAC;MACpD,MAAMyC,4BAA4B,GAAGlC,UAAU,CAACuB,aAAa,CAACI,qBAAqB,CAAC;MAEpFI,eAAe,CACX5B,KAAK,CAACgC,IAAI,CAAC,IAAIC,GAAG,CAAC,CAAC,GAAGH,YAAY,CAACjB,YAAY,EAAE,GAAGkB,4BAA4B,CAAClB,YAAY,CAAC,CAAC,CACpG,CAAC;IACL,CAAC,EAAE,CAACO,aAAa,CAAC9B,KAAK,EAAE8B,aAAa,CAACI,qBAAqB,CAAC,CAAC;IAE9D,MAAM;MAAEf,GAAG,EAAEyB,WAAW;MAAE,GAAGC;IAAc,CAAC,GAAGlB,QAAQ,GAAGA,QAAQ,CAACU,cAAc,EAAED,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzG,MAAM;MAAEjB,GAAG,EAAE2B,WAAW;MAAE,GAAGC;IAAc,CAAC,GAAGjB,aAAa,CAACkB,QAAQ,GAC/DlB,aAAa,CAACkB,QAAQ,CAACX,cAAc,EAAED,gBAAgB,CAAC,GACxD,CAAC,CAAC;;IAER;IACA,MAAMa,mBAAmB,GAAGd,KAAK,GAAG/C,uBAAuB,CAAC8D,cAAc,CAAC,CAAC,GAAGC,SAAS;IAExF,IAAIhB,KAAK,EAAE;MACP/C,uBAAuB,CAACgE,cAAc,CAACjB,KAAK,CAACF,IAAI,CAAC;IACtD;IAEA,MAAMO,YAAY,GAAGjC,UAAU,CAACuB,aAAa,CAAC9B,KAAK,CAAC;IACpD,MAAMyC,4BAA4B,GAAGlC,UAAU,CAACuB,aAAa,CAACI,qBAAqB,CAAC;IAEpF,IAAIC,KAAK,EAAE;MACP/C,uBAAuB,CAACgE,cAAc,CAACH,mBAAmB,CAAC;IAC/D;IAEA,MAAMI,UAAU,GAAG;MACf,GAAGhE,gBAAgB,CAACwD,aAAa,EAAEE,aAAa,EAAElB,KAAK,CAAC;MACxD,IAAIC,aAAa,CAAC9B,KAAK,GACjB;QACIA,KAAK,EAAEwC,YAAY,CAAC/B;MACxB,CAAC,GACD,CAAC,CAAC,CAAC;MACT,IAAIqB,aAAa,CAACI,qBAAqB,GACjC;QACIA,qBAAqB,EAAEO,4BAA4B,CAAChC;MACxD,CAAC,GACD,CAAC,CAAC;IACZ,CAAQ;IAER,oBAAOf,IAAA,CAACqC,eAAe;MAAA,GAAsCsB,UAAU;MAAEzB,GAAG,EAAEA;IAAI,GAArDkB,WAAW,IAAIF,WAAwC,CAAC;EACzF,CAAC;AACL,CAAC","ignoreList":[]}
@@ -5,6 +5,7 @@ jest.mock('react-native-nitro-modules', () => ({
5
5
  createHybridObject: () => ({
6
6
  add: () => {},
7
7
  init: () => {},
8
+ addChangeListener: () => () => {},
8
9
  createHybridStatusBar: () => ({
9
10
  setStyle: () => {}
10
11
  }),
@@ -180,10 +181,33 @@ jest.mock('react-native-unistyles', () => {
180
181
  Hide: () => null,
181
182
  Display: () => null,
182
183
  ScopedTheme: () => null,
183
- withUnistyles: (Component, mapper) => props => React.createElement(Component, {
184
- ...mapper?.(Object.values(_REGISTRY.themes).at(0) ?? {}, miniRuntime),
184
+ withUnistyles: (Component, mapper) => ({
185
+ uniProps,
185
186
  ...props
186
- }),
187
+ }) => {
188
+ const {
189
+ deepMergeObjects
190
+ } = require('./utils');
191
+ const theme = Object.values(_REGISTRY.themes).at(0) ?? {};
192
+ const {
193
+ key: mappingsKey,
194
+ ...mappingsProps
195
+ } = mapper?.(theme, miniRuntime) ?? {};
196
+ const {
197
+ key: uniPropsKey,
198
+ ...unistyleProps
199
+ } = uniProps?.(theme, miniRuntime) ?? {};
200
+ return React.createElement(Component, {
201
+ ...deepMergeObjects(mappingsProps, unistyleProps, props),
202
+ ...(props.style ? {
203
+ style: props.style
204
+ } : {}),
205
+ ...(props.contentContainerStyle ? {
206
+ contentContainerStyle: props.contentContainerStyle
207
+ } : {}),
208
+ key: uniPropsKey || mappingsKey
209
+ });
210
+ },
187
211
  mq: {
188
212
  only: {
189
213
  width: () => ({
@@ -1 +1 @@
1
- {"version":3,"names":["jest","mock","NitroModules","createHybridObject","add","init","createHybridStatusBar","setStyle","createHybridNavigationBar","React","require","_REGISTRY","globalThis","__UNISTYLES_MOCK_REGISTRY__","themes","breakpoints","miniRuntime","themeName","undefined","breakpoint","hasAdaptiveThemes","colorScheme","contentSizeCategory","insets","top","left","right","bottom","ime","pixelRatio","fontScale","rtl","isLandscape","isPortrait","navigationBar","width","height","screen","statusBar","unistylesRuntime","orientation","dispose","equals","name","setHidden","getTheme","Object","values","at","setTheme","updateTheme","setRootViewBackgroundColor","nativeSetRootViewBackgroundColor","setAdaptiveThemes","setImmersiveMode","setImmersiveModeNative","stripVariants","styleEntries","result","style","entries","args","resolved","variants","compoundVariants","rest","Array","isArray","ColorScheme","Light","Dark","Unspecified","Orientation","Portrait","Landscape","StatusBarStyle","Default","IOSContentSizeCategory","AccessibilityExtraExtraExtraLarge","AccessibilityExtraExtraLarge","AccessibilityExtraLarge","AccessibilityLarge","AccessibilityMedium","ExtraExtraExtraLarge","ExtraExtraLarge","ExtraLarge","Large","Medium","Small","ExtraSmall","AndroidContentSizeCategory","Huge","ExtraHuge","ExtraExtraHuge","WebContentSizeCategory","Hide","Display","ScopedTheme","withUnistyles","Component","mapper","props","createElement","mq","only","and","useUnistyles","theme","rt","StyleSheet","absoluteFillObject","position","absoluteFill","compose","styles","flatten","create","useVariants","configure","config","jsMethods","processColor","parseBoxShadowString","hairlineWidth","addChangeListener","UnistylesRuntime","unistyles","mockedSharedValue","value","get","set","_value","useAnimatedTheme","sharedTheme","useAnimatedVariantColor","fromValue","toValue"],"sourceRoot":"../../src","sources":["mocks.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jest","mock","NitroModules","createHybridObject","add","init","addChangeListener","createHybridStatusBar","setStyle","createHybridNavigationBar","React","require","_REGISTRY","globalThis","__UNISTYLES_MOCK_REGISTRY__","themes","breakpoints","miniRuntime","themeName","undefined","breakpoint","hasAdaptiveThemes","colorScheme","contentSizeCategory","insets","top","left","right","bottom","ime","pixelRatio","fontScale","rtl","isLandscape","isPortrait","navigationBar","width","height","screen","statusBar","unistylesRuntime","orientation","dispose","equals","name","setHidden","getTheme","Object","values","at","setTheme","updateTheme","setRootViewBackgroundColor","nativeSetRootViewBackgroundColor","setAdaptiveThemes","setImmersiveMode","setImmersiveModeNative","stripVariants","styleEntries","result","style","entries","args","resolved","variants","compoundVariants","rest","Array","isArray","ColorScheme","Light","Dark","Unspecified","Orientation","Portrait","Landscape","StatusBarStyle","Default","IOSContentSizeCategory","AccessibilityExtraExtraExtraLarge","AccessibilityExtraExtraLarge","AccessibilityExtraLarge","AccessibilityLarge","AccessibilityMedium","ExtraExtraExtraLarge","ExtraExtraLarge","ExtraLarge","Large","Medium","Small","ExtraSmall","AndroidContentSizeCategory","Huge","ExtraHuge","ExtraExtraHuge","WebContentSizeCategory","Hide","Display","ScopedTheme","withUnistyles","Component","mapper","uniProps","props","deepMergeObjects","theme","key","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","createElement","contentContainerStyle","mq","only","and","useUnistyles","rt","StyleSheet","absoluteFillObject","position","absoluteFill","compose","styles","flatten","create","useVariants","configure","config","jsMethods","processColor","parseBoxShadowString","hairlineWidth","UnistylesRuntime","unistyles","mockedSharedValue","value","get","set","_value","useAnimatedTheme","sharedTheme","useAnimatedVariantColor","fromValue","toValue"],"sourceRoot":"../../src","sources":["mocks.ts"],"mappings":"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","ignoreList":[]}
@@ -1,91 +1,75 @@
1
1
  "use strict";
2
2
 
3
3
  import { NitroModules } from 'react-native-nitro-modules';
4
+ import { Fiber, Reanimated } from '../../unifiber/src';
4
5
  import { StyleSheet } from '../StyleSheet';
6
+ import { createUnistylesStyleSource } from './styleSource';
7
+ import { traceSection } from './tracing';
5
8
  const HybridShadowRegistry = NitroModules.createHybridObject('UnistylesShadowRegistry');
6
- const HOST_COMPONENT_TAG = 5;
7
- const SUSPENSE_TAG = 13;
8
- const OFFSCREEN_TAG = 22;
9
- const isInsideSuspendedBoundary = fiber => {
10
- let current = fiber?.return;
11
- while (current) {
12
- if ((current.tag === SUSPENSE_TAG || current.tag === OFFSCREEN_TAG) && current.memoizedState !== null) {
13
- return true;
14
- }
15
- current = current.return;
16
- }
17
- return false;
18
- };
19
- const findFiberForHandle = handle => {
20
- return handle?.__internalInstanceHandle ?? handle?.getScrollResponder?.()?.getNativeScrollRef?.()?.__internalInstanceHandle ?? handle?.getNativeScrollRef?.()?.__internalInstanceHandle ?? handle?._viewRef?.__internalInstanceHandle ?? handle?.viewRef?.current?.__internalInstanceHandle ?? handle?._nativeRef?.__internalInstanceHandle;
21
- };
22
- const findShadowNodeForHandle = handle => {
23
- 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;
9
+ const {
10
+ collectVisibleAncestors,
11
+ getHostFor,
12
+ getHostForInstanceHandle,
13
+ getShadowNode,
14
+ getShadowNodes,
15
+ isHidden
16
+ } = Fiber;
17
+ const {
18
+ source: styleSource,
19
+ bumpEpoch
20
+ } = createUnistylesStyleSource({
21
+ get: () => HybridShadowRegistry.getScopedTheme(),
22
+ set: name => HybridShadowRegistry.setScopedTheme(name)
23
+ });
24
+ const owners = Fiber.createOwnerRegistry(styleSource, [Reanimated.cssAdapter], reason => {
25
+ console.warn(`Unistyles: ${reason}. CSS transitions won't follow theme changes.`);
26
+ });
24
27
 
25
- // @ts-ignore we don't know the type of handle
26
- if (!node && handle?.props?.horizontal && handle?.constructor?.name === 'FlatList') {
27
- 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');
28
- }
29
- return node;
28
+ // A component can point at another native view by the time its ref is cleaned up, eg. FlatList on Android remounts
29
+ // its native ScrollView when `horizontal` changes, so remove unlinks the view it was linked with
30
+ // The host points at its current node, while a stored node would keep its first revision (and children) alive
31
+ // Native views always resolve to their own host, so they skip it
32
+ const linkedHosts = new WeakMap();
33
+ const committedHosts = [];
34
+ let refreshNodes = [];
35
+ const collectShadowNodes = host => {
36
+ getShadowNodes(host, refreshNodes);
30
37
  };
31
38
 
32
39
  // React re-attaches an untouched subtree through its root's node and only follows clones made on the JS thread.
33
40
  // Once a node was cloned elsewhere (state updates, Reanimated), React would commit a subtree from before a Unistyles
34
41
  // update, so after a Unistyles commit the committed nodes and their host ancestors must point at the committed tree
35
42
  const refreshReactNodes = () => {
36
- const fibers = HybridShadowRegistry.takeCommittedInstanceHandles();
37
- if (fibers.length === 0) {
43
+ bumpEpoch();
44
+ const handles = HybridShadowRegistry.takeCommittedInstanceHandles();
45
+ if (handles.length === 0) {
38
46
  return;
39
47
  }
40
- const nodes = [];
41
- const refreshedTags = new Set();
42
- const hostFibers = [];
43
- for (const fiber of fibers) {
44
- // collected, unmounted since
45
- if (!fiber) {
46
- continue;
47
- }
48
- let isHidden = false;
49
- hostFibers.length = 0;
50
- for (let current = fiber; current; current = current.return) {
51
- // hidden by Suspense or a frozen screen
52
- if ((current.tag === SUSPENSE_TAG || current.tag === OFFSCREEN_TAG) && current.memoizedState !== null) {
53
- isHidden = true;
54
- }
55
- if (current.tag !== HOST_COMPONENT_TAG) {
56
- continue;
57
- }
58
-
59
- // its ancestors are visible and already collected
60
- if (refreshedTags.has(current.stateNode?.canonical?.nativeTag)) {
61
- break;
62
- }
63
- hostFibers.push(current);
48
+ try {
49
+ for (let i = 0; i < handles.length; i++) {
50
+ committedHosts[i] = getHostForInstanceHandle(handles[i]);
64
51
  }
65
- if (isHidden) {
66
- continue;
52
+ collectVisibleAncestors(committedHosts, collectShadowNodes);
53
+ if (refreshNodes.length > 0) {
54
+ HybridShadowRegistry.refreshReactNodes(refreshNodes);
67
55
  }
68
- for (const hostFiber of hostFibers) {
69
- const node = hostFiber.stateNode?.node;
70
- const alternateNode = hostFiber.alternate?.stateNode?.node;
71
- const hostTag = hostFiber.stateNode?.canonical?.nativeTag;
72
- if (hostTag !== undefined) {
73
- refreshedTags.add(hostTag);
74
- }
75
- if (node) {
76
- nodes.push(node);
77
- }
78
- if (alternateNode && alternateNode !== node) {
79
- nodes.push(alternateNode);
80
- }
81
- }
82
- }
83
- if (nodes.length > 0) {
84
- HybridShadowRegistry.refreshReactNodes(nodes);
56
+ traceSection('refreshOwners', () => owners.refresh(committedHosts));
57
+ } finally {
58
+ committedHosts.length = 0;
59
+ refreshNodes = [];
85
60
  }
86
61
  };
87
62
  StyleSheet.addChangeListener(refreshReactNodes);
88
63
 
64
+ // a unistyle key holds its secrets object. A unistyle spread into another StyleSheet.create keeps its key,
65
+ // but the parser resolves the (hidden) secrets to undefined, so the key no longer points at a unistyle
66
+ const isUnistyleKey = (style, key) => {
67
+ if (!key.startsWith('unistyles_')) {
68
+ return false;
69
+ }
70
+ return typeof style[key] === 'object' && style[key] !== null;
71
+ };
72
+
89
73
  // skips empty styles and splits a style merged from many unistyles (eg. flattened by Animated) into one per unistyle
90
74
  // runs for every style on every link, so it reads the keys once and allocates only for the rare merged style
91
75
  const collectStyle = (style, collected) => {
@@ -95,7 +79,7 @@ const collectStyle = (style, collected) => {
95
79
  const keys = Object.keys(style);
96
80
  let unistylesCount = 0;
97
81
  for (const key of keys) {
98
- if (key.startsWith('unistyles_')) {
82
+ if (isUnistyleKey(style, key)) {
99
83
  unistylesCount++;
100
84
  }
101
85
  }
@@ -106,7 +90,7 @@ const collectStyle = (style, collected) => {
106
90
  return;
107
91
  }
108
92
  for (const key of keys) {
109
- if (key.startsWith('unistyles_')) {
93
+ if (isUnistyleKey(style, key)) {
110
94
  collected.push({
111
95
  [key]: style[key]
112
96
  });
@@ -125,8 +109,9 @@ HybridShadowRegistry.add = (handle, styles, scope) => {
125
109
  collectStyle(styles, filteredStyles);
126
110
  }
127
111
  if (filteredStyles.length > 0) {
128
- const node = findShadowNodeForHandle(handle);
129
- if (!node) {
112
+ const host = getHostFor(handle);
113
+ const node = host && getShadowNode(host);
114
+ if (!host || !node) {
130
115
  throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.constructor?.name ?? 'unknown'}`);
131
116
  }
132
117
 
@@ -136,6 +121,10 @@ HybridShadowRegistry.add = (handle, styles, scope) => {
136
121
  HybridShadowRegistry.setScopedTheme(scope.name);
137
122
  }
138
123
  HybridShadowRegistry.link(node, filteredStyles);
124
+ owners.link(host);
125
+ if (!handle.__internalInstanceHandle) {
126
+ linkedHosts.set(handle, host);
127
+ }
139
128
  if (scope) {
140
129
  HybridShadowRegistry.setScopedTheme(previousScopedTheme);
141
130
  }
@@ -145,10 +134,14 @@ HybridShadowRegistry.remove = handle => {
145
134
  if (!handle) {
146
135
  return;
147
136
  }
148
- const maybeNode = findShadowNodeForHandle(handle);
149
- if (maybeNode) {
150
- const fiber = findFiberForHandle(handle);
151
- if (fiber && isInsideSuspendedBoundary(fiber)) {
137
+ const linkedHost = handle.__internalInstanceHandle ? undefined : linkedHosts.get(handle);
138
+ const host = linkedHost ?? getHostFor(handle);
139
+ const maybeNode = host && getShadowNode(host);
140
+ if (linkedHost) {
141
+ linkedHosts.delete(handle);
142
+ }
143
+ if (host && maybeNode) {
144
+ if (isHidden(host)) {
152
145
  HybridShadowRegistry.suspend(maybeNode);
153
146
  } else {
154
147
  HybridShadowRegistry.unlink(maybeNode);
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","StyleSheet","HybridShadowRegistry","createHybridObject","HOST_COMPONENT_TAG","SUSPENSE_TAG","OFFSCREEN_TAG","isInsideSuspendedBoundary","fiber","current","return","tag","memoizedState","findFiberForHandle","handle","__internalInstanceHandle","getScrollResponder","getNativeScrollRef","_viewRef","viewRef","_nativeRef","findShadowNodeForHandle","node","stateNode","props","horizontal","constructor","name","Error","refreshReactNodes","fibers","takeCommittedInstanceHandles","length","nodes","refreshedTags","Set","hostFibers","isHidden","has","canonical","nativeTag","push","hostFiber","alternateNode","alternate","hostTag","undefined","add","addChangeListener","collectStyle","style","collected","keys","Object","unistylesCount","key","startsWith","styles","scope","filteredStyles","Array","isArray","flat","Infinity","forEach","previousScopedTheme","getScopedTheme","setScopedTheme","link","remove","maybeNode","suspend","unlink","UnistylesShadowRegistry"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","Fiber","Reanimated","StyleSheet","createUnistylesStyleSource","traceSection","HybridShadowRegistry","createHybridObject","collectVisibleAncestors","getHostFor","getHostForInstanceHandle","getShadowNode","getShadowNodes","isHidden","source","styleSource","bumpEpoch","get","getScopedTheme","set","name","setScopedTheme","owners","createOwnerRegistry","cssAdapter","reason","console","warn","linkedHosts","WeakMap","committedHosts","refreshNodes","collectShadowNodes","host","refreshReactNodes","handles","takeCommittedInstanceHandles","length","i","refresh","addChangeListener","isUnistyleKey","style","key","startsWith","collectStyle","collected","keys","Object","unistylesCount","push","add","handle","styles","scope","filteredStyles","Array","isArray","flat","Infinity","forEach","node","Error","constructor","previousScopedTheme","undefined","link","__internalInstanceHandle","remove","linkedHost","maybeNode","delete","suspend","unlink","UnistylesShadowRegistry"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ import { ScopedThemeContext } from '../../components/ScopedThemeContext';
4
+ export const createUnistylesStyleSource = scopedTheme => {
5
+ let epoch = 0;
6
+ let warned = false;
7
+ const source = {
8
+ name: 'unistyles',
9
+ epoch: () => epoch,
10
+ contexts: [ScopedThemeContext],
11
+ contextKey: (_context, scope) => scope?.name,
12
+ resolve: (props, read) => {
13
+ try {
14
+ return resolveFresh(props, read(ScopedThemeContext));
15
+ } catch (error) {
16
+ if (!warned) {
17
+ warned = true;
18
+ console.warn(`Unistyles: Could not refresh styles for a CSS transition. ${String(error)}`);
19
+ }
20
+ return undefined;
21
+ }
22
+ }
23
+ };
24
+ const resolveFresh = (props, scope) => {
25
+ const styles = [props.style].flat(Infinity);
26
+ const fresh = {};
27
+ let hasUnistyles = false;
28
+ for (const style of styles) {
29
+ if (!style || typeof style !== 'object') {
30
+ continue;
31
+ }
32
+ Object.assign(fresh, style);
33
+ for (const key in style) {
34
+ if (!key.startsWith('unistyles_') || !Object.prototype.hasOwnProperty.call(style, key)) {
35
+ continue;
36
+ }
37
+ hasUnistyles = true;
38
+ const previousScopedTheme = scope ? scopedTheme.get() : undefined;
39
+ if (scope) {
40
+ scopedTheme.set(scope.name);
41
+ }
42
+ try {
43
+ Object.assign(fresh, style[key]?.uni__getStyles?.());
44
+ } finally {
45
+ if (scope) {
46
+ scopedTheme.set(previousScopedTheme);
47
+ }
48
+ }
49
+ }
50
+ }
51
+ return hasUnistyles ? fresh : undefined;
52
+ };
53
+ return {
54
+ source,
55
+ bumpEpoch: () => {
56
+ epoch++;
57
+ }
58
+ };
59
+ };
60
+ //# sourceMappingURL=styleSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ScopedThemeContext","createUnistylesStyleSource","scopedTheme","epoch","warned","source","name","contexts","contextKey","_context","scope","resolve","props","read","resolveFresh","error","console","warn","String","undefined","styles","style","flat","Infinity","fresh","hasUnistyles","Object","assign","key","startsWith","prototype","hasOwnProperty","call","previousScopedTheme","get","set","uni__getStyles","bumpEpoch"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/styleSource.ts"],"mappings":";;AAGA,SAASA,kBAAkB,QAAQ,qCAAqC;AAOxE,OAAO,MAAMC,0BAA0B,GAAIC,WAA8B,IAAK;EAC1E,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,MAAM,GAAG,KAAK;EAElB,MAAMC,MAAmB,GAAG;IACxBC,IAAI,EAAE,WAAW;IACjBH,KAAK,EAAEA,CAAA,KAAMA,KAAK;IAClBI,QAAQ,EAAE,CAACP,kBAAkB,CAAC;IAC9BQ,UAAU,EAAEA,CAACC,QAAQ,EAAEC,KAAK,KAAMA,KAAK,EAAmBJ,IAAI;IAC9DK,OAAO,EAAEA,CAACC,KAAK,EAAEC,IAAI,KAAK;MACtB,IAAI;QACA,OAAOC,YAAY,CAACF,KAAK,EAAEC,IAAI,CAACb,kBAAkB,CAAC,CAAC;MACxD,CAAC,CAAC,OAAOe,KAAK,EAAE;QACZ,IAAI,CAACX,MAAM,EAAE;UACTA,MAAM,GAAG,IAAI;UACbY,OAAO,CAACC,IAAI,CAAC,6DAA6DC,MAAM,CAACH,KAAK,CAAC,EAAE,CAAC;QAC9F;QAEA,OAAOI,SAAS;MACpB;IACJ;EACJ,CAAC;EAED,MAAML,YAAY,GAAGA,CAACF,KAA0B,EAAEF,KAA+B,KAAK;IAClF,MAAMU,MAAM,GAAG,CAACR,KAAK,CAACS,KAAK,CAAC,CAACC,IAAI,CAACC,QAAQ,CAAC;IAC3C,MAAMC,KAA8B,GAAG,CAAC,CAAC;IACzC,IAAIC,YAAY,GAAG,KAAK;IAExB,KAAK,MAAMJ,KAAK,IAAID,MAAM,EAAE;MACxB,IAAI,CAACC,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QACrC;MACJ;MAEAK,MAAM,CAACC,MAAM,CAACH,KAAK,EAAEH,KAAK,CAAC;MAE3B,KAAK,MAAMO,GAAG,IAAIP,KAAK,EAAE;QACrB,IAAI,CAACO,GAAG,CAACC,UAAU,CAAC,YAAY,CAAC,IAAI,CAACH,MAAM,CAACI,SAAS,CAACC,cAAc,CAACC,IAAI,CAACX,KAAK,EAAEO,GAAG,CAAC,EAAE;UACpF;QACJ;QAEAH,YAAY,GAAG,IAAI;QAEnB,MAAMQ,mBAAmB,GAAGvB,KAAK,GAAGR,WAAW,CAACgC,GAAG,CAAC,CAAC,GAAGf,SAAS;QAEjE,IAAIT,KAAK,EAAE;UACPR,WAAW,CAACiC,GAAG,CAACzB,KAAK,CAACJ,IAAI,CAAC;QAC/B;QAEA,IAAI;UACAoB,MAAM,CAACC,MAAM,CAACH,KAAK,EAAEH,KAAK,CAACO,GAAG,CAAC,EAAEQ,cAAc,GAAG,CAAC,CAAC;QACxD,CAAC,SAAS;UACN,IAAI1B,KAAK,EAAE;YACPR,WAAW,CAACiC,GAAG,CAACF,mBAAmB,CAAC;UACxC;QACJ;MACJ;IACJ;IAEA,OAAOR,YAAY,GAAGD,KAAK,GAAGL,SAAS;EAC3C,CAAC;EAED,OAAO;IACHd,MAAM;IACNgC,SAAS,EAAEA,CAAA,KAAM;MACblC,KAAK,EAAE;IACX;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ // console.timeStamp(label, start, end, trackName), React Native 0.86+ reports it only while DevTools records and keeps
4
+ // nothing, unlike performance.measure, which adds every entry to an unbounded buffer
5
+
6
+ const tracingConsole = console;
7
+ const canTrace = __DEV__ && typeof tracingConsole.timeStamp === 'function';
8
+
9
+ // Slice on the "Unistyles" track of the React Native DevTools Performance panel, next to the native ones
10
+ export const traceSection = (name, fn) => {
11
+ if (!canTrace) {
12
+ return fn();
13
+ }
14
+ const start = performance.now();
15
+ try {
16
+ return fn();
17
+ } finally {
18
+ tracingConsole.timeStamp?.(name, start, performance.now(), 'Unistyles');
19
+ }
20
+ };
21
+ //# sourceMappingURL=tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tracingConsole","console","canTrace","__DEV__","timeStamp","traceSection","name","fn","start","performance","now"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/tracing.ts"],"mappings":";;AAAA;AACA;;AAKA,MAAMA,cAAc,GAAGC,OAAoC;AAC3D,MAAMC,QAAQ,GAAGC,OAAO,IAAI,OAAOH,cAAc,CAACI,SAAS,KAAK,UAAU;;AAE1E;AACA,OAAO,MAAMC,YAAY,GAAGA,CAAIC,IAAY,EAAEC,EAAW,KAAQ;EAC7D,IAAI,CAACL,QAAQ,EAAE;IACX,OAAOK,EAAE,CAAC,CAAC;EACf;EAEA,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;EAE/B,IAAI;IACA,OAAOH,EAAE,CAAC,CAAC;EACf,CAAC,SAAS;IACNP,cAAc,CAACI,SAAS,GAAGE,IAAI,EAAEE,KAAK,EAAEC,WAAW,CAACC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC;EAC3E;AACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+
3
+ // Keeps Reanimated's CSS style copy (`_cssStyle`) in sync with native-only style updates.
4
+ // Private fields are pinned by test/reanimated-contract.test.ts for 4.5 and 4.7.
5
+
6
+ import * as fiber from '../fiber';
7
+
8
+ // Bound once: Metro's inline requires
9
+ const {
10
+ contextReaderFor
11
+ } = fiber;
12
+ const CLASS_COMPONENT = fiber.Tag.ClassComponent;
13
+ // Symbol.for: two copies of unifiber in one bundle never wrap a component twice
14
+ const STATE = Symbol.for('unifiber.reanimated.css');
15
+
16
+ // Kept out of AnimatedComponentLike: a unique symbol in a public type breaks consumers' declaration builds (TS4023)
17
+
18
+ const hasCSSConfig = cssStyle => {
19
+ for (const key in cssStyle) {
20
+ if (key.startsWith('transition') || key.startsWith('animation')) {
21
+ return true;
22
+ }
23
+ }
24
+ return false;
25
+ };
26
+
27
+ // Keyframe animations and pseudo-styles register again on update after componentWillUnmount cleaned them up.
28
+ // React runs no componentWillUnmount for a subtree deleted while hidden, so on a hidden owner they would leak.
29
+ const registersOnUpdate = cssStyle => {
30
+ for (const key in cssStyle) {
31
+ if (key.startsWith('animation')) {
32
+ return true;
33
+ }
34
+ const value = cssStyle[key];
35
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
36
+ for (const selector in value) {
37
+ if (selector === 'default' || selector.startsWith(':')) {
38
+ return true;
39
+ }
40
+ break;
41
+ }
42
+ }
43
+ }
44
+ return false;
45
+ };
46
+
47
+ // Deepest case: ScrollView with refreshControl on Android, 6-7 fibers
48
+ const MAX_OWNER_DEPTH = 12;
49
+
50
+ // The class whose `_componentRef` is this host's public instance. Lists don't match: their ref isn't a host.
51
+ export const animatedComponentOf = host => {
52
+ const fiber = host;
53
+ if (fiber?.memoizedProps?.collapsable !== false) {
54
+ return null;
55
+ }
56
+ const publicInstance = fiber.stateNode?.canonical?.publicInstance;
57
+ if (!publicInstance) {
58
+ return null;
59
+ }
60
+ let current = fiber.return;
61
+ for (let depth = 0; current && depth < MAX_OWNER_DEPTH; depth++) {
62
+ if (current.tag === CLASS_COMPONENT && current.stateNode?._componentRef === publicInstance) {
63
+ return isAnimatedComponent(current.stateNode) ? current.stateNode : null;
64
+ }
65
+ current = current.return;
66
+ }
67
+ return null;
68
+ };
69
+ const isAnimatedComponent = owner => typeof owner?._updateStyles === 'function' && typeof owner.shouldComponentUpdate === 'function' && owner._cssStyle !== null && typeof owner._cssStyle === 'object';
70
+ function updateStylesThroughSource(props) {
71
+ const state = this[STATE];
72
+ state.original.call(this, props);
73
+ if (!hasCSSConfig(this._cssStyle)) {
74
+ return;
75
+ }
76
+ const epoch = state.source.epoch();
77
+ const read = contextReaderFor(this, state.rendering);
78
+ const contexts = state.source.contexts ?? [];
79
+ let contextChanged = false;
80
+ for (let i = 0; i < contexts.length; i++) {
81
+ const context = contexts[i];
82
+ const value = read(context);
83
+ const key = state.source.contextKey ? state.source.contextKey(context, value) : value;
84
+ if (state.contextKeys[i] !== key) {
85
+ state.contextKeys[i] = key;
86
+ contextChanged = true;
87
+ }
88
+ }
89
+ if (contextChanged || state.styleProp !== props.style || state.epoch !== epoch) {
90
+ state.fresh = state.source.resolve(props, read);
91
+ state.styleProp = props.style;
92
+ state.epoch = epoch;
93
+ }
94
+ const fresh = state.fresh;
95
+ if (!fresh) {
96
+ return;
97
+ }
98
+
99
+ // only the keys Reanimated kept: animated styles were split out of _cssStyle
100
+ for (const key in this._cssStyle) {
101
+ if (key in fresh) {
102
+ this._cssStyle[key] = fresh[key];
103
+ }
104
+ }
105
+ }
106
+
107
+ // Marks the render phase, where context must be read from React's stack
108
+ function shouldUpdateMarkingRender(...args) {
109
+ const state = this[STATE];
110
+ state.rendering = true;
111
+ try {
112
+ return state.originalShouldUpdate.apply(this, args);
113
+ } finally {
114
+ state.rendering = false;
115
+ }
116
+ }
117
+ export const reanimatedCSSAdapter = {
118
+ name: 'react-native-reanimated/css',
119
+ gate: host => host.memoizedProps?.collapsable === false,
120
+ claim: animatedComponentOf,
121
+ attach: (owner, source) => {
122
+ if (owner[STATE]) {
123
+ return;
124
+ }
125
+ owner[STATE] = {
126
+ source,
127
+ original: owner._updateStyles,
128
+ originalShouldUpdate: owner.shouldComponentUpdate,
129
+ rendering: false,
130
+ styleProp: undefined,
131
+ epoch: -1,
132
+ contextKeys: [],
133
+ fresh: undefined
134
+ };
135
+ owner._updateStyles = updateStylesThroughSource;
136
+ owner.shouldComponentUpdate = shouldUpdateMarkingRender;
137
+ },
138
+ refresh: owner => {
139
+ // not mounted yet
140
+ if (typeof owner._CSSManager?.update !== 'function') {
141
+ return;
142
+ }
143
+
144
+ // Hidden transitions still run, so the reveal shows the new value instead of animating from the old one
145
+ if (owner._willUnmount === true && registersOnUpdate(owner._cssStyle)) {
146
+ return;
147
+ }
148
+ owner._updateStyles(owner.props);
149
+ owner._CSSManager.update(owner._cssStyle, owner.props);
150
+ }
151
+ };
152
+ //# sourceMappingURL=reanimated.js.map