react-native-unistyles 3.5.2 → 3.6.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 (317) hide show
  1. package/README.md +3 -0
  2. package/android/src/main/java/com/unistyles/NativePlatform+android.kt +44 -7
  3. package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +1 -1
  4. package/cxx/converters/BackgroundImageConverter.cpp +198 -11
  5. package/cxx/converters/BackgroundImageConverter.h +1 -0
  6. package/cxx/core/HostUnistyle.cpp +6 -0
  7. package/cxx/core/UnistylesRegistry.cpp +5 -5
  8. package/cxx/core/UnistylesRegistry.h +3 -3
  9. package/cxx/hybridObjects/HybridShadowRegistry.cpp +53 -14
  10. package/cxx/hybridObjects/HybridShadowRegistry.h +3 -2
  11. package/cxx/hybridObjects/HybridStyleSheet.cpp +3 -3
  12. package/cxx/parser/Parser.cpp +47 -9
  13. package/cxx/shadowTree/ShadowTreeManager.cpp +5 -5
  14. package/cxx/shadowTree/ShadowTreeManager.h +1 -1
  15. package/ios/NativePlatform+ios.swift +28 -15
  16. package/ios/NativePlatformListener+ios.swift +9 -0
  17. package/lib/commonjs/components/native/deep/ActivityIndicator.js +19 -0
  18. package/lib/commonjs/components/native/deep/ActivityIndicator.js.map +1 -0
  19. package/lib/commonjs/components/native/deep/Animated.js +19 -0
  20. package/lib/commonjs/components/native/deep/Animated.js.map +1 -0
  21. package/lib/commonjs/components/native/deep/FlatList.js +19 -0
  22. package/lib/commonjs/components/native/deep/FlatList.js.map +1 -0
  23. package/lib/commonjs/components/native/deep/Image.js +19 -0
  24. package/lib/commonjs/components/native/deep/Image.js.map +1 -0
  25. package/lib/commonjs/components/native/deep/ImageBackground.js +19 -0
  26. package/lib/commonjs/components/native/deep/ImageBackground.js.map +1 -0
  27. package/lib/commonjs/components/native/deep/KeyboardAvoidingView.js +19 -0
  28. package/lib/commonjs/components/native/deep/KeyboardAvoidingView.js.map +1 -0
  29. package/lib/commonjs/components/native/deep/Pressable.js +19 -0
  30. package/lib/commonjs/components/native/deep/Pressable.js.map +1 -0
  31. package/lib/commonjs/components/native/deep/RefreshControl.js +19 -0
  32. package/lib/commonjs/components/native/deep/RefreshControl.js.map +1 -0
  33. package/lib/commonjs/components/native/deep/SafeAreaView.js +19 -0
  34. package/lib/commonjs/components/native/deep/SafeAreaView.js.map +1 -0
  35. package/lib/commonjs/components/native/deep/ScrollView.js +19 -0
  36. package/lib/commonjs/components/native/deep/ScrollView.js.map +1 -0
  37. package/lib/commonjs/components/native/deep/SectionList.js +19 -0
  38. package/lib/commonjs/components/native/deep/SectionList.js.map +1 -0
  39. package/lib/commonjs/components/native/deep/Switch.js +19 -0
  40. package/lib/commonjs/components/native/deep/Switch.js.map +1 -0
  41. package/lib/commonjs/components/native/deep/Text.js +19 -0
  42. package/lib/commonjs/components/native/deep/Text.js.map +1 -0
  43. package/lib/commonjs/components/native/deep/TextInput.js +19 -0
  44. package/lib/commonjs/components/native/deep/TextInput.js.map +1 -0
  45. package/lib/commonjs/components/native/deep/TextNativeComponent.js +28 -0
  46. package/lib/commonjs/components/native/deep/TextNativeComponent.js.map +1 -0
  47. package/lib/commonjs/components/native/deep/TouchableHighlight.js +19 -0
  48. package/lib/commonjs/components/native/deep/TouchableHighlight.js.map +1 -0
  49. package/lib/commonjs/components/native/deep/TouchableOpacity.js +19 -0
  50. package/lib/commonjs/components/native/deep/TouchableOpacity.js.map +1 -0
  51. package/lib/commonjs/components/native/deep/View.js +19 -0
  52. package/lib/commonjs/components/native/deep/View.js.map +1 -0
  53. package/lib/commonjs/components/native/deep/ViewNativeComponent.js +26 -0
  54. package/lib/commonjs/components/native/deep/ViewNativeComponent.js.map +1 -0
  55. package/lib/commonjs/components/native/deep/VirtualizedList.js +19 -0
  56. package/lib/commonjs/components/native/deep/VirtualizedList.js.map +1 -0
  57. package/lib/commonjs/components/native/index.js +43 -0
  58. package/lib/commonjs/components/native/index.js.map +1 -0
  59. package/lib/commonjs/core/createUnistylesActivityIndicator.js +13 -3
  60. package/lib/commonjs/core/createUnistylesActivityIndicator.js.map +1 -1
  61. package/lib/commonjs/core/createUnistylesElement.native.js +6 -0
  62. package/lib/commonjs/core/createUnistylesElement.native.js.map +1 -1
  63. package/lib/commonjs/core/createUnistylesImageBackground.js +20 -17
  64. package/lib/commonjs/core/createUnistylesImageBackground.js.map +1 -1
  65. package/lib/commonjs/core/createUnistylesTouchableHighlight.js +6 -0
  66. package/lib/commonjs/core/createUnistylesTouchableHighlight.js.map +1 -1
  67. package/lib/commonjs/core/getClassname.js +15 -0
  68. package/lib/commonjs/core/getClassname.js.map +1 -1
  69. package/lib/commonjs/core/hasUnistyles.js +26 -0
  70. package/lib/commonjs/core/hasUnistyles.js.map +1 -0
  71. package/lib/commonjs/core/useProxifiedUnistyles/useProxifiedUnistyles.js +10 -0
  72. package/lib/commonjs/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -1
  73. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js +16 -15
  74. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
  75. package/lib/commonjs/specs/ShadowRegistry/index.js +86 -110
  76. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  77. package/lib/commonjs/specs/ShadowRegistry/styleSource.js +65 -0
  78. package/lib/commonjs/specs/ShadowRegistry/styleSource.js.map +1 -0
  79. package/lib/commonjs/unifiber/src/adapters/reanimated.js +157 -0
  80. package/lib/commonjs/unifiber/src/adapters/reanimated.js.map +1 -0
  81. package/lib/commonjs/unifiber/src/adapters/registry.js +67 -0
  82. package/lib/commonjs/unifiber/src/adapters/registry.js.map +1 -0
  83. package/lib/commonjs/unifiber/src/diagnostics.js +59 -0
  84. package/lib/commonjs/unifiber/src/diagnostics.js.map +1 -0
  85. package/lib/commonjs/unifiber/src/fiber.js +199 -0
  86. package/lib/commonjs/unifiber/src/fiber.js.map +1 -0
  87. package/lib/commonjs/unifiber/src/host.js +214 -0
  88. package/lib/commonjs/unifiber/src/host.js.map +1 -0
  89. package/lib/commonjs/unifiber/src/index.js +38 -0
  90. package/lib/commonjs/unifiber/src/index.js.map +1 -0
  91. package/lib/commonjs/web/css/core.js +30 -5
  92. package/lib/commonjs/web/css/core.js.map +1 -1
  93. package/lib/commonjs/web/css/state.js +4 -1
  94. package/lib/commonjs/web/css/state.js.map +1 -1
  95. package/lib/commonjs/web/registry.js +1 -1
  96. package/lib/commonjs/web/registry.js.map +1 -1
  97. package/lib/commonjs/web/utils/unistyle.js +11 -3
  98. package/lib/commonjs/web/utils/unistyle.js.map +1 -1
  99. package/lib/module/components/native/deep/ActivityIndicator.js +5 -0
  100. package/lib/module/components/native/deep/ActivityIndicator.js.map +1 -0
  101. package/lib/module/components/native/deep/Animated.js +5 -0
  102. package/lib/module/components/native/deep/Animated.js.map +1 -0
  103. package/lib/module/components/native/deep/FlatList.js +5 -0
  104. package/lib/module/components/native/deep/FlatList.js.map +1 -0
  105. package/lib/module/components/native/deep/Image.js +5 -0
  106. package/lib/module/components/native/deep/Image.js.map +1 -0
  107. package/lib/module/components/native/deep/ImageBackground.js +5 -0
  108. package/lib/module/components/native/deep/ImageBackground.js.map +1 -0
  109. package/lib/module/components/native/deep/KeyboardAvoidingView.js +5 -0
  110. package/lib/module/components/native/deep/KeyboardAvoidingView.js.map +1 -0
  111. package/lib/module/components/native/deep/Pressable.js +5 -0
  112. package/lib/module/components/native/deep/Pressable.js.map +1 -0
  113. package/lib/module/components/native/deep/RefreshControl.js +5 -0
  114. package/lib/module/components/native/deep/RefreshControl.js.map +1 -0
  115. package/lib/module/components/native/deep/SafeAreaView.js +5 -0
  116. package/lib/module/components/native/deep/SafeAreaView.js.map +1 -0
  117. package/lib/module/components/native/deep/ScrollView.js +5 -0
  118. package/lib/module/components/native/deep/ScrollView.js.map +1 -0
  119. package/lib/module/components/native/deep/SectionList.js +5 -0
  120. package/lib/module/components/native/deep/SectionList.js.map +1 -0
  121. package/lib/module/components/native/deep/Switch.js +5 -0
  122. package/lib/module/components/native/deep/Switch.js.map +1 -0
  123. package/lib/module/components/native/deep/Text.js +5 -0
  124. package/lib/module/components/native/deep/Text.js.map +1 -0
  125. package/lib/module/components/native/deep/TextInput.js +5 -0
  126. package/lib/module/components/native/deep/TextInput.js.map +1 -0
  127. package/lib/module/components/native/deep/TextNativeComponent.js +8 -0
  128. package/lib/module/components/native/deep/TextNativeComponent.js.map +1 -0
  129. package/lib/module/components/native/deep/TouchableHighlight.js +5 -0
  130. package/lib/module/components/native/deep/TouchableHighlight.js.map +1 -0
  131. package/lib/module/components/native/deep/TouchableOpacity.js +5 -0
  132. package/lib/module/components/native/deep/TouchableOpacity.js.map +1 -0
  133. package/lib/module/components/native/deep/View.js +5 -0
  134. package/lib/module/components/native/deep/View.js.map +1 -0
  135. package/lib/module/components/native/deep/ViewNativeComponent.js +8 -0
  136. package/lib/module/components/native/deep/ViewNativeComponent.js.map +1 -0
  137. package/lib/module/components/native/deep/VirtualizedList.js +5 -0
  138. package/lib/module/components/native/deep/VirtualizedList.js.map +1 -0
  139. package/lib/module/components/native/index.js +43 -0
  140. package/lib/module/components/native/index.js.map +1 -0
  141. package/lib/module/core/createUnistylesActivityIndicator.js +13 -3
  142. package/lib/module/core/createUnistylesActivityIndicator.js.map +1 -1
  143. package/lib/module/core/createUnistylesElement.native.js +6 -0
  144. package/lib/module/core/createUnistylesElement.native.js.map +1 -1
  145. package/lib/module/core/createUnistylesImageBackground.js +20 -17
  146. package/lib/module/core/createUnistylesImageBackground.js.map +1 -1
  147. package/lib/module/core/createUnistylesTouchableHighlight.js +6 -0
  148. package/lib/module/core/createUnistylesTouchableHighlight.js.map +1 -1
  149. package/lib/module/core/getClassname.js +16 -1
  150. package/lib/module/core/getClassname.js.map +1 -1
  151. package/lib/module/core/hasUnistyles.js +21 -0
  152. package/lib/module/core/hasUnistyles.js.map +1 -0
  153. package/lib/module/core/useProxifiedUnistyles/useProxifiedUnistyles.js +10 -0
  154. package/lib/module/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -1
  155. package/lib/module/core/withUnistyles/withUnistyles.native.js +14 -14
  156. package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
  157. package/lib/module/specs/ShadowRegistry/index.js +86 -110
  158. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  159. package/lib/module/specs/ShadowRegistry/styleSource.js +60 -0
  160. package/lib/module/specs/ShadowRegistry/styleSource.js.map +1 -0
  161. package/lib/module/unifiber/src/adapters/reanimated.js +152 -0
  162. package/lib/module/unifiber/src/adapters/reanimated.js.map +1 -0
  163. package/lib/module/unifiber/src/adapters/registry.js +62 -0
  164. package/lib/module/unifiber/src/adapters/registry.js.map +1 -0
  165. package/lib/module/unifiber/src/diagnostics.js +52 -0
  166. package/lib/module/unifiber/src/diagnostics.js.map +1 -0
  167. package/lib/module/unifiber/src/fiber.js +183 -0
  168. package/lib/module/unifiber/src/fiber.js.map +1 -0
  169. package/lib/module/unifiber/src/host.js +191 -0
  170. package/lib/module/unifiber/src/host.js.map +1 -0
  171. package/lib/module/unifiber/src/index.js +33 -0
  172. package/lib/module/unifiber/src/index.js.map +1 -0
  173. package/lib/module/web/css/core.js +28 -4
  174. package/lib/module/web/css/core.js.map +1 -1
  175. package/lib/module/web/css/state.js +5 -2
  176. package/lib/module/web/css/state.js.map +1 -1
  177. package/lib/module/web/registry.js +1 -1
  178. package/lib/module/web/registry.js.map +1 -1
  179. package/lib/module/web/utils/unistyle.js +11 -3
  180. package/lib/module/web/utils/unistyle.js.map +1 -1
  181. package/lib/typescript/src/components/native/deep/ActivityIndicator.d.ts +2 -0
  182. package/lib/typescript/src/components/native/deep/ActivityIndicator.d.ts.map +1 -0
  183. package/lib/typescript/src/components/native/deep/Animated.d.ts +2 -0
  184. package/lib/typescript/src/components/native/deep/Animated.d.ts.map +1 -0
  185. package/lib/typescript/src/components/native/deep/FlatList.d.ts +2 -0
  186. package/lib/typescript/src/components/native/deep/FlatList.d.ts.map +1 -0
  187. package/lib/typescript/src/components/native/deep/Image.d.ts +2 -0
  188. package/lib/typescript/src/components/native/deep/Image.d.ts.map +1 -0
  189. package/lib/typescript/src/components/native/deep/ImageBackground.d.ts +2 -0
  190. package/lib/typescript/src/components/native/deep/ImageBackground.d.ts.map +1 -0
  191. package/lib/typescript/src/components/native/deep/KeyboardAvoidingView.d.ts +2 -0
  192. package/lib/typescript/src/components/native/deep/KeyboardAvoidingView.d.ts.map +1 -0
  193. package/lib/typescript/src/components/native/deep/Pressable.d.ts +2 -0
  194. package/lib/typescript/src/components/native/deep/Pressable.d.ts.map +1 -0
  195. package/lib/typescript/src/components/native/deep/RefreshControl.d.ts +2 -0
  196. package/lib/typescript/src/components/native/deep/RefreshControl.d.ts.map +1 -0
  197. package/lib/typescript/src/components/native/deep/SafeAreaView.d.ts +2 -0
  198. package/lib/typescript/src/components/native/deep/SafeAreaView.d.ts.map +1 -0
  199. package/lib/typescript/src/components/native/deep/ScrollView.d.ts +2 -0
  200. package/lib/typescript/src/components/native/deep/ScrollView.d.ts.map +1 -0
  201. package/lib/typescript/src/components/native/deep/SectionList.d.ts +2 -0
  202. package/lib/typescript/src/components/native/deep/SectionList.d.ts.map +1 -0
  203. package/lib/typescript/src/components/native/deep/Switch.d.ts +2 -0
  204. package/lib/typescript/src/components/native/deep/Switch.d.ts.map +1 -0
  205. package/lib/typescript/src/components/native/deep/Text.d.ts +2 -0
  206. package/lib/typescript/src/components/native/deep/Text.d.ts.map +1 -0
  207. package/lib/typescript/src/components/native/deep/TextInput.d.ts +2 -0
  208. package/lib/typescript/src/components/native/deep/TextInput.d.ts.map +1 -0
  209. package/lib/typescript/src/components/native/deep/TextNativeComponent.d.ts +3 -0
  210. package/lib/typescript/src/components/native/deep/TextNativeComponent.d.ts.map +1 -0
  211. package/lib/typescript/src/components/native/deep/TouchableHighlight.d.ts +2 -0
  212. package/lib/typescript/src/components/native/deep/TouchableHighlight.d.ts.map +1 -0
  213. package/lib/typescript/src/components/native/deep/TouchableOpacity.d.ts +2 -0
  214. package/lib/typescript/src/components/native/deep/TouchableOpacity.d.ts.map +1 -0
  215. package/lib/typescript/src/components/native/deep/View.d.ts +2 -0
  216. package/lib/typescript/src/components/native/deep/View.d.ts.map +1 -0
  217. package/lib/typescript/src/components/native/deep/ViewNativeComponent.d.ts +3 -0
  218. package/lib/typescript/src/components/native/deep/ViewNativeComponent.d.ts.map +1 -0
  219. package/lib/typescript/src/components/native/deep/VirtualizedList.d.ts +2 -0
  220. package/lib/typescript/src/components/native/deep/VirtualizedList.d.ts.map +1 -0
  221. package/lib/typescript/src/components/native/index.d.ts +4 -0
  222. package/lib/typescript/src/components/native/index.d.ts.map +1 -0
  223. package/lib/typescript/src/components/scopeChildren.d.ts +1 -1
  224. package/lib/typescript/src/core/createUnistylesActivityIndicator.d.ts.map +1 -1
  225. package/lib/typescript/src/core/createUnistylesElement.native.d.ts.map +1 -1
  226. package/lib/typescript/src/core/createUnistylesImageBackground.d.ts.map +1 -1
  227. package/lib/typescript/src/core/createUnistylesTouchableHighlight.d.ts.map +1 -1
  228. package/lib/typescript/src/core/getClassname.d.ts.map +1 -1
  229. package/lib/typescript/src/core/hasUnistyles.d.ts +2 -0
  230. package/lib/typescript/src/core/hasUnistyles.d.ts.map +1 -0
  231. package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts.map +1 -1
  232. package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts +6 -0
  233. package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
  234. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +2 -2
  235. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  236. package/lib/typescript/src/specs/ShadowRegistry/styleSource.d.ts +11 -0
  237. package/lib/typescript/src/specs/ShadowRegistry/styleSource.d.ts.map +1 -0
  238. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +4 -41
  239. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
  240. package/lib/typescript/src/unifiber/src/adapters/reanimated.d.ts +17 -0
  241. package/lib/typescript/src/unifiber/src/adapters/reanimated.d.ts.map +1 -0
  242. package/lib/typescript/src/unifiber/src/adapters/registry.d.ts +23 -0
  243. package/lib/typescript/src/unifiber/src/adapters/registry.d.ts.map +1 -0
  244. package/lib/typescript/src/unifiber/src/diagnostics.d.ts +10 -0
  245. package/lib/typescript/src/unifiber/src/diagnostics.d.ts.map +1 -0
  246. package/lib/typescript/src/unifiber/src/fiber.d.ts +48 -0
  247. package/lib/typescript/src/unifiber/src/fiber.d.ts.map +1 -0
  248. package/lib/typescript/src/unifiber/src/host.d.ts +32 -0
  249. package/lib/typescript/src/unifiber/src/host.d.ts.map +1 -0
  250. package/lib/typescript/src/unifiber/src/index.d.ts +49 -0
  251. package/lib/typescript/src/unifiber/src/index.d.ts.map +1 -0
  252. package/lib/typescript/src/web/css/core.d.ts +1 -0
  253. package/lib/typescript/src/web/css/core.d.ts.map +1 -1
  254. package/lib/typescript/src/web/css/state.d.ts.map +1 -1
  255. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -1
  256. package/metro/babel-transformer.js +1040 -0
  257. package/metro/index.d.ts +31 -0
  258. package/metro/index.js +170 -0
  259. package/package.json +26 -8
  260. package/plugin/index.d.ts +7 -0
  261. package/plugin/index.js +36 -16
  262. package/src/components/native/deep/ActivityIndicator.ts +2 -0
  263. package/src/components/native/deep/Animated.ts +2 -0
  264. package/src/components/native/deep/FlatList.ts +2 -0
  265. package/src/components/native/deep/Image.ts +2 -0
  266. package/src/components/native/deep/ImageBackground.ts +2 -0
  267. package/src/components/native/deep/KeyboardAvoidingView.ts +2 -0
  268. package/src/components/native/deep/Pressable.ts +2 -0
  269. package/src/components/native/deep/RefreshControl.ts +2 -0
  270. package/src/components/native/deep/SafeAreaView.ts +2 -0
  271. package/src/components/native/deep/ScrollView.ts +2 -0
  272. package/src/components/native/deep/SectionList.ts +2 -0
  273. package/src/components/native/deep/Switch.ts +2 -0
  274. package/src/components/native/deep/Text.ts +2 -0
  275. package/src/components/native/deep/TextInput.ts +2 -0
  276. package/src/components/native/deep/TextNativeComponent.ts +5 -0
  277. package/src/components/native/deep/TouchableHighlight.ts +2 -0
  278. package/src/components/native/deep/TouchableOpacity.ts +2 -0
  279. package/src/components/native/deep/View.ts +2 -0
  280. package/src/components/native/deep/ViewNativeComponent.ts +5 -0
  281. package/src/components/native/deep/VirtualizedList.ts +2 -0
  282. package/src/components/native/index.ts +41 -0
  283. package/src/core/createUnistylesActivityIndicator.tsx +11 -4
  284. package/src/core/createUnistylesElement.native.tsx +5 -0
  285. package/src/core/createUnistylesImageBackground.tsx +27 -23
  286. package/src/core/createUnistylesTouchableHighlight.tsx +5 -0
  287. package/src/core/getClassname.ts +10 -1
  288. package/src/core/hasUnistyles.ts +20 -0
  289. package/src/core/useProxifiedUnistyles/useProxifiedUnistyles.ts +11 -0
  290. package/src/core/withUnistyles/withUnistyles.native.tsx +22 -25
  291. package/src/specs/ShadowRegistry/index.ts +87 -149
  292. package/src/specs/ShadowRegistry/styleSource.ts +78 -0
  293. package/src/specs/ShadowRegistry/types.ts +3 -43
  294. package/src/unifiber/LICENSE +21 -0
  295. package/src/unifiber/README.md +92 -0
  296. package/src/unifiber/src/adapters/reanimated.ts +204 -0
  297. package/src/unifiber/src/adapters/registry.ts +102 -0
  298. package/src/unifiber/src/diagnostics.ts +55 -0
  299. package/src/unifiber/src/fiber.ts +262 -0
  300. package/src/unifiber/src/host.ts +236 -0
  301. package/src/unifiber/src/index.ts +43 -0
  302. package/src/web/css/core.ts +29 -4
  303. package/src/web/css/state.ts +6 -2
  304. package/src/web/registry.ts +1 -1
  305. package/src/web/utils/unistyle.ts +12 -3
  306. package/lib/typescript/src/__tests__/mocks.spec.d.ts +0 -2
  307. package/lib/typescript/src/__tests__/mocks.spec.d.ts.map +0 -1
  308. package/lib/typescript/src/__tests__/passForwardRef.spec.d.ts +0 -2
  309. package/lib/typescript/src/__tests__/passForwardRef.spec.d.ts.map +0 -1
  310. package/lib/typescript/src/__tests__/scoped-theme.spec.d.ts +0 -2
  311. package/lib/typescript/src/__tests__/scoped-theme.spec.d.ts.map +0 -1
  312. package/lib/typescript/src/__tests__/shadow-registry.spec.d.ts +0 -2
  313. package/lib/typescript/src/__tests__/shadow-registry.spec.d.ts.map +0 -1
  314. package/lib/typescript/src/__tests__/web-listener.spec.d.ts +0 -2
  315. package/lib/typescript/src/__tests__/web-listener.spec.d.ts.map +0 -1
  316. package/lib/typescript/src/__tests__/web-runtime.spec.d.ts +0 -2
  317. package/lib/typescript/src/__tests__/web-runtime.spec.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","useContext","ScopedThemeContext","UnistylesShadowRegistry","copyComponentProperties","passForwardedRef","maybeWarnAboutMultipleUnistyles","jsx","_jsx","createUnistylesImageBackground","Component","UnistylesImageBackground","forwardRef","props","forwardedRef","scope","style","imageStyle","ref","add","remove","imageRef"],"sourceRoot":"../../../src","sources":["core/createUnistylesImageBackground.tsx"],"mappings":";;AAEA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAEzC,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,+BAA+B,QAAQ,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAExD,OAAO,MAAMC,8BAA8B,GAAIC,SAAiC,IAAK;EACjF,MAAMC,wBAAwB,gBAAGX,KAAK,CAACY,UAAU,CAAwC,CAACC,KAAK,EAAEC,YAAY,KAAK;IAC9G,MAAMC,KAAK,GAAGd,UAAU,CAACC,kBAAkB,CAAC;;IAE5C;IACAI,+BAA+B,CAACO,KAAK,CAACG,KAAK,EAAE,iBAAiB,CAAC;IAC/D;IACAV,+BAA+B,CAACO,KAAK,CAACI,UAAU,EAAE,iBAAiB,CAAC;IAEpE,oBACIT,IAAA,CAACE,SAAS;MAAA,GACFG,KAAK;MACTK,GAAG,EAAGA,GAAG,IAAK;QACV,OAAOb,gBAAgB,CACnBa,GAAG,EACHJ,YAAY,EACZ,MAAM;UACF;UACAX,uBAAuB,CAACgB,GAAG,CAACD,GAAG,EAAEL,KAAK,CAACG,KAAK,EAAED,KAAK,CAAC;QACxD,CAAC,EACD,MAAM;UACF;UACAZ,uBAAuB,CAACiB,MAAM,CAACF,GAAG,CAAC;QACvC,CACJ,CAAC;MACL,CAAE;MACFG,QAAQ,EAAGH,GAAG,IAAK;QACf;QACAf,uBAAuB,CAACgB,GAAG,CAACD,GAAG,EAAEL,KAAK,CAACI,UAAU,EAAEF,KAAK,CAAC;QAEzD,OAAO,MAAM;UACT;UACAZ,uBAAuB,CAACiB,MAAM,CAACF,GAAG,CAAC;QACvC,CAAC;MACL;IAAE,CACL,CAAC;EAEV,CAAC,CAAC;EAEF,OAAOd,uBAAuB,CAACM,SAAS,EAAEC,wBAAwB,CAAC;AACvE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useContext","ScopedThemeContext","UnistylesShadowRegistry","copyComponentProperties","hasUnistyles","passForwardedRef","maybeWarnAboutMultipleUnistyles","jsx","_jsx","createUnistylesImageBackground","Component","UnistylesImageBackground","forwardRef","props","forwardedRef","scope","style","imageStyle","linkRef","ref","add","remove","linkImageRef","imageRef"],"sourceRoot":"../../../src","sources":["core/createUnistylesImageBackground.tsx"],"mappings":";;AAEA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAEzC,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,+BAA+B,QAAQ,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAExD,OAAO,MAAMC,8BAA8B,GAAIC,SAAiC,IAAK;EACjF,MAAMC,wBAAwB,gBAAGZ,KAAK,CAACa,UAAU,CAAwC,CAACC,KAAK,EAAEC,YAAY,KAAK;IAC9G,MAAMC,KAAK,GAAGf,UAAU,CAACC,kBAAkB,CAAC;;IAE5C;IACAK,+BAA+B,CAACO,KAAK,CAACG,KAAK,EAAE,iBAAiB,CAAC;IAC/D;IACAV,+BAA+B,CAACO,KAAK,CAACI,UAAU,EAAE,iBAAiB,CAAC;IAEpE,MAAMC,OAAO,GAAIC,GAA2B,IAAK;MAC7C,OAAOd,gBAAgB,CACnBc,GAAG,EACHL,YAAY,EACZ,MAAM;QACF;QACAZ,uBAAuB,CAACkB,GAAG,CAACD,GAAG,EAAEN,KAAK,CAACG,KAAK,EAAED,KAAK,CAAC;MACxD,CAAC,EACD,MAAM;QACF;QACAb,uBAAuB,CAACmB,MAAM,CAACF,GAAG,CAAC;MACvC,CACJ,CAAC;IACL,CAAC;IACD,MAAMG,YAAY,GAAIH,GAAY,IAAK;MACnC;MACAjB,uBAAuB,CAACkB,GAAG,CAACD,GAAG,EAAEN,KAAK,CAACI,UAAU,EAAEF,KAAK,CAAC;MAEzD,OAAO,MAAM;QACT;QACAb,uBAAuB,CAACmB,MAAM,CAACF,GAAG,CAAC;MACvC,CAAC;IACL,CAAC;IAED,oBACIX,IAAA,CAACE,SAAS;MAAA,GACFG,KAAK;MACTM,GAAG,EAAEf,YAAY,CAACS,KAAK,CAACG,KAAK,CAAC,GAAGE,OAAO,GAAGJ,YAAa;MACxDS,QAAQ,EAAEnB,YAAY,CAACS,KAAK,CAACI,UAAU,CAAC,GAAGK,YAAY,GAAGT,KAAK,CAACU;IAAS,CAC5E,CAAC;EAEV,CAAC,CAAC;EAEF,OAAOpB,uBAAuB,CAACO,SAAS,EAAEC,wBAAwB,CAAC;AACvE,CAAC","ignoreList":[]}
@@ -4,6 +4,7 @@ import React, { useCallback, useContext, useLayoutEffect, useRef, useState } fro
4
4
  import { ScopedThemeContext } from '../components/ScopedThemeContext';
5
5
  import { UnistylesShadowRegistry } from '../specs';
6
6
  import { copyComponentProperties } from '../utils';
7
+ import { hasUnistyles } from './hasUnistyles';
7
8
  import { passForwardedRef } from './passForwardRef';
8
9
  import { maybeWarnAboutMultipleUnistyles } from './warn';
9
10
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -36,6 +37,11 @@ export const createUnistylesTouchableHighlight = Component => {
36
37
  UnistylesShadowRegistry.remove(ref);
37
38
  });
38
39
  }, [props, scope]);
40
+ if (!hasUnistyles(props.style)) {
41
+ return /*#__PURE__*/_jsx(Component, {
42
+ ...props
43
+ });
44
+ }
39
45
  return /*#__PURE__*/_jsx(Component, {
40
46
  ...props,
41
47
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useContext","useLayoutEffect","useRef","useState","ScopedThemeContext","UnistylesShadowRegistry","copyComponentProperties","passForwardedRef","maybeWarnAboutMultipleUnistyles","jsx","_jsx","createUnistylesTouchableHighlight","Component","UnistylesTouchableHighlight","props","scope","relinkRef","undefined","hiddenUnderlays","setHiddenUnderlays","current","ref","style","remove","add","onHideUnderlay","count"],"sourceRoot":"../../../src","sources":["core/createUnistylesTouchableHighlight.tsx"],"mappings":";;AAEA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,eAAe,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEzF,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,+BAA+B,QAAQ,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAExD,OAAO,MAAMC,iCAAiC,GAAIC,SAAoC,IAAK;EACvF,MAAMC,2BAA2B,GAAIC,KAAU,IAAK;IAChD,MAAMC,KAAK,GAAGf,UAAU,CAACI,kBAAkB,CAAC;IAC5C,MAAMY,SAAS,GAAGd,MAAM,CAAae,SAAS,CAAC;IAC/C,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGhB,QAAQ,CAAC,CAAC,CAAC;IAEzDF,eAAe,CAAC,MAAM;MAClB,IAAIiB,eAAe,GAAG,CAAC,EAAE;QACrBF,SAAS,CAACI,OAAO,GAAG,CAAC;MACzB;IACJ,CAAC,EAAE,CAACF,eAAe,CAAC,CAAC;;IAErB;IACA,MAAMG,GAAG,GAAGtB,WAAW,CAClBsB,GAAY,IAAK;MACdb,+BAA+B,CAACM,KAAK,CAACQ,KAAK,EAAE,oBAAoB,CAAC;MAElEN,SAAS,CAACI,OAAO,GAAG,MAAM;QACtB;QACAf,uBAAuB,CAACkB,MAAM,CAACF,GAAG,CAAC;QACnC;QACAhB,uBAAuB,CAACmB,GAAG,CAACH,GAAG,EAAEP,KAAK,CAACQ,KAAK,EAAEP,KAAK,CAAC;MACxD,CAAC;MAED,OAAOR,gBAAgB,CACnBc,GAAG,EACHP,KAAK,CAACO,GAAG,EACT,MAAM;QACF;QACAhB,uBAAuB,CAACmB,GAAG,CAACH,GAAG,EAAEP,KAAK,CAACQ,KAAK,EAAEP,KAAK,CAAC;MACxD,CAAC,EACD,MAAM;QACFC,SAAS,CAACI,OAAO,GAAGH,SAAS;QAC7B;QACAZ,uBAAuB,CAACkB,MAAM,CAACF,GAAG,CAAC;MACvC,CACJ,CAAC;IACL,CAAC,EACD,CAACP,KAAK,EAAEC,KAAK,CACjB,CAAC;IAED,oBACIL,IAAA,CAACE,SAAS;MAAA,GACFE,KAAK;MACTO,GAAG,EAAEA,GAAI;MACTI,cAAc,EAAEA,CAAA,KAAM;QAClBN,kBAAkB,CAAEO,KAAK,IAAKA,KAAK,GAAG,CAAC,CAAC;QACxCZ,KAAK,CAACW,cAAc,GAAG,CAAC;MAC5B;IAAE,CACL,CAAC;EAEV,CAAC;EAED,OAAOnB,uBAAuB,CAACM,SAAS,EAAEC,2BAA2B,CAAC;AAC1E,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useContext","useLayoutEffect","useRef","useState","ScopedThemeContext","UnistylesShadowRegistry","copyComponentProperties","hasUnistyles","passForwardedRef","maybeWarnAboutMultipleUnistyles","jsx","_jsx","createUnistylesTouchableHighlight","Component","UnistylesTouchableHighlight","props","scope","relinkRef","undefined","hiddenUnderlays","setHiddenUnderlays","current","ref","style","remove","add","onHideUnderlay","count"],"sourceRoot":"../../../src","sources":["core/createUnistylesTouchableHighlight.tsx"],"mappings":";;AAEA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,eAAe,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEzF,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,uBAAuB,QAAQ,UAAU;AAClD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,+BAA+B,QAAQ,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAExD,OAAO,MAAMC,iCAAiC,GAAIC,SAAoC,IAAK;EACvF,MAAMC,2BAA2B,GAAIC,KAAU,IAAK;IAChD,MAAMC,KAAK,GAAGhB,UAAU,CAACI,kBAAkB,CAAC;IAC5C,MAAMa,SAAS,GAAGf,MAAM,CAAagB,SAAS,CAAC;IAC/C,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGjB,QAAQ,CAAC,CAAC,CAAC;IAEzDF,eAAe,CAAC,MAAM;MAClB,IAAIkB,eAAe,GAAG,CAAC,EAAE;QACrBF,SAAS,CAACI,OAAO,GAAG,CAAC;MACzB;IACJ,CAAC,EAAE,CAACF,eAAe,CAAC,CAAC;;IAErB;IACA,MAAMG,GAAG,GAAGvB,WAAW,CAClBuB,GAAY,IAAK;MACdb,+BAA+B,CAACM,KAAK,CAACQ,KAAK,EAAE,oBAAoB,CAAC;MAElEN,SAAS,CAACI,OAAO,GAAG,MAAM;QACtB;QACAhB,uBAAuB,CAACmB,MAAM,CAACF,GAAG,CAAC;QACnC;QACAjB,uBAAuB,CAACoB,GAAG,CAACH,GAAG,EAAEP,KAAK,CAACQ,KAAK,EAAEP,KAAK,CAAC;MACxD,CAAC;MAED,OAAOR,gBAAgB,CACnBc,GAAG,EACHP,KAAK,CAACO,GAAG,EACT,MAAM;QACF;QACAjB,uBAAuB,CAACoB,GAAG,CAACH,GAAG,EAAEP,KAAK,CAACQ,KAAK,EAAEP,KAAK,CAAC;MACxD,CAAC,EACD,MAAM;QACFC,SAAS,CAACI,OAAO,GAAGH,SAAS;QAC7B;QACAb,uBAAuB,CAACmB,MAAM,CAACF,GAAG,CAAC;MACvC,CACJ,CAAC;IACL,CAAC,EACD,CAACP,KAAK,EAAEC,KAAK,CACjB,CAAC;IAED,IAAI,CAACT,YAAY,CAACQ,KAAK,CAACQ,KAAK,CAAC,EAAE;MAC5B,oBAAOZ,IAAA,CAACE,SAAS;QAAA,GAAKE;MAAK,CAAG,CAAC;IACnC;IAEA,oBACIJ,IAAA,CAACE,SAAS;MAAA,GACFE,KAAK;MACTO,GAAG,EAAEA,GAAI;MACTI,cAAc,EAAEA,CAAA,KAAM;QAClBN,kBAAkB,CAAEO,KAAK,IAAKA,KAAK,GAAG,CAAC,CAAC;QACxCZ,KAAK,CAACW,cAAc,GAAG,CAAC;MAC5B;IAAE,CACL,CAAC;EAEV,CAAC;EAED,OAAOpB,uBAAuB,CAACO,SAAS,EAAEC,2BAA2B,CAAC;AAC1E,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import * as unistyles from '../web/services';
4
- import { checkForAnimated } from '../web/utils';
4
+ import { checkForAnimated, isGeneratedUnistyle } from '../web/utils';
5
5
  export const getClassName = (unistyle, forChild) => {
6
6
  if (!unistyle) {
7
7
  return undefined;
@@ -9,6 +9,21 @@ export const getClassName = (unistyle, forChild) => {
9
9
  const flattenedStyles = Array.isArray(unistyle) ? unistyle.flat(Number.POSITIVE_INFINITY) : [unistyle];
10
10
  const animatedStyles = flattenedStyles.filter(checkForAnimated);
11
11
  const regularStyles = flattenedStyles.filter(style => !checkForAnimated(style));
12
+ const [firstStyle, ...otherStyles] = regularStyles;
13
+
14
+ // Already processed by an outer Unistyles component, e.g. createUnistylesElement(Animated.View),
15
+ // styles added after it (like Reanimated's initial animated values) stay inline
16
+ if (firstStyle && isGeneratedUnistyle(firstStyle) && firstStyle.hash) {
17
+ const {
18
+ hash,
19
+ injectedClassName
20
+ } = firstStyle;
21
+ return [{
22
+ $$css: true,
23
+ hash,
24
+ injectedClassName
25
+ }, otherStyles.concat(animatedStyles)];
26
+ }
12
27
  const {
13
28
  hash,
14
29
  injectedClassName
@@ -1 +1 @@
1
- {"version":3,"names":["unistyles","checkForAnimated","getClassName","unistyle","forChild","undefined","flattenedStyles","Array","isArray","flat","Number","POSITIVE_INFINITY","animatedStyles","filter","regularStyles","style","hash","injectedClassName","services","shadowRegistry","addStyles","$$css"],"sourceRoot":"../../../src","sources":["core/getClassname.ts"],"mappings":";;AAEA,OAAO,KAAKA,SAAS,MAAM,iBAAiB;AAC5C,SAASC,gBAAgB,QAAQ,cAAc;AAE/C,OAAO,MAAMC,YAAY,GAAGA,CAACC,QAA8D,EAAEC,QAAkB,KAAK;EAChH,IAAI,CAACD,QAAQ,EAAE;IACX,OAAOE,SAAS;EACpB;EAEA,MAAMC,eAAe,GAAGC,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,GAAGA,QAAQ,CAACM,IAAI,CAACC,MAAM,CAACC,iBAAiB,CAAC,GAAG,CAACR,QAAQ,CAAC;EACtG,MAAMS,cAAc,GAAGN,eAAe,CAACO,MAAM,CAACZ,gBAAgB,CAAC;EAC/D,MAAMa,aAAa,GAAGR,eAAe,CAACO,MAAM,CAAEE,KAAK,IAAK,CAACd,gBAAgB,CAACc,KAAK,CAAC,CAAC;EAEjF,MAAM;IAAEC,IAAI;IAAEC;EAAkB,CAAC,GAAGjB,SAAS,CAACkB,QAAQ,CAACC,cAAc,CAACC,SAAS,CAACN,aAAa,EAAEV,QAAQ,CAAC;EAExG,OAAOY,IAAI,GAAI,CAAC;IAAEK,KAAK,EAAE,IAAI;IAAEL,IAAI;IAAEC;EAAkB,CAAC,EAAEL,cAAc,CAAC,GAAaP,SAAS;AACnG,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["unistyles","checkForAnimated","isGeneratedUnistyle","getClassName","unistyle","forChild","undefined","flattenedStyles","Array","isArray","flat","Number","POSITIVE_INFINITY","animatedStyles","filter","regularStyles","style","firstStyle","otherStyles","hash","injectedClassName","$$css","concat","services","shadowRegistry","addStyles"],"sourceRoot":"../../../src","sources":["core/getClassname.ts"],"mappings":";;AAEA,OAAO,KAAKA,SAAS,MAAM,iBAAiB;AAC5C,SAASC,gBAAgB,EAAEC,mBAAmB,QAAQ,cAAc;AAEpE,OAAO,MAAMC,YAAY,GAAGA,CAACC,QAA8D,EAAEC,QAAkB,KAAK;EAChH,IAAI,CAACD,QAAQ,EAAE;IACX,OAAOE,SAAS;EACpB;EAEA,MAAMC,eAAe,GAAGC,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,GAAGA,QAAQ,CAACM,IAAI,CAACC,MAAM,CAACC,iBAAiB,CAAC,GAAG,CAACR,QAAQ,CAAC;EACtG,MAAMS,cAAc,GAAGN,eAAe,CAACO,MAAM,CAACb,gBAAgB,CAAC;EAC/D,MAAMc,aAAa,GAAGR,eAAe,CAACO,MAAM,CAAEE,KAAK,IAAK,CAACf,gBAAgB,CAACe,KAAK,CAAC,CAAC;EACjF,MAAM,CAACC,UAAU,EAAE,GAAGC,WAAW,CAAC,GAAGH,aAAa;;EAElD;EACA;EACA,IAAIE,UAAU,IAAIf,mBAAmB,CAACe,UAAU,CAAC,IAAIA,UAAU,CAACE,IAAI,EAAE;IAClE,MAAM;MAAEA,IAAI;MAAEC;IAAkB,CAAC,GAAGH,UAAU;IAE9C,OAAO,CAAC;MAAEI,KAAK,EAAE,IAAI;MAAEF,IAAI;MAAEC;IAAkB,CAAC,EAAEF,WAAW,CAACI,MAAM,CAACT,cAAc,CAAC,CAAC;EACzF;EAEA,MAAM;IAAEM,IAAI;IAAEC;EAAkB,CAAC,GAAGpB,SAAS,CAACuB,QAAQ,CAACC,cAAc,CAACC,SAAS,CAACV,aAAa,EAAEV,QAAQ,CAAC;EAExG,OAAOc,IAAI,GAAI,CAAC;IAAEE,KAAK,EAAE,IAAI;IAAEF,IAAI;IAAEC;EAAkB,CAAC,EAAEP,cAAc,CAAC,GAAaP,SAAS;AACnG,CAAC","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ // whether a style prop (also nested arrays) holds a unistyle, the only styles Unistyles updates
4
+ // a view without one renders like a React Native view, it never links
5
+ export const hasUnistyles = style => {
6
+ if (Array.isArray(style)) {
7
+ return style.some(hasUnistyles);
8
+ }
9
+ if (!style || typeof style !== 'object') {
10
+ return false;
11
+ }
12
+
13
+ // own keys only, like the registry. A unistyle starts with its `unistyles_` key, so it exits early
14
+ for (const key in style) {
15
+ if (key.startsWith('unistyles_') && Object.prototype.hasOwnProperty.call(style, key)) {
16
+ return true;
17
+ }
18
+ }
19
+ return false;
20
+ };
21
+ //# sourceMappingURL=hasUnistyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hasUnistyles","style","Array","isArray","some","key","startsWith","Object","prototype","hasOwnProperty","call"],"sourceRoot":"../../../src","sources":["core/hasUnistyles.ts"],"mappings":";;AAAA;AACA;AACA,OAAO,MAAMA,YAAY,GAAIC,KAAc,IAAc;EACrD,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;IACtB,OAAOA,KAAK,CAACG,IAAI,CAACJ,YAAY,CAAC;EACnC;EAEA,IAAI,CAACC,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACrC,OAAO,KAAK;EAChB;;EAEA;EACA,KAAK,MAAMI,GAAG,IAAIJ,KAAK,EAAE;IACrB,IAAII,GAAG,CAACC,UAAU,CAAC,YAAY,CAAC,IAAIC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACT,KAAK,EAAEI,GAAG,CAAC,EAAE;MAClF,OAAO,IAAI;IACf;EACJ;EAEA,OAAO,KAAK;AAChB,CAAC","ignoreList":[]}
@@ -35,6 +35,7 @@ export const useProxifiedUnistyles = () => {
35
35
  const disposeRef = useRef(undefined);
36
36
  const syncedDependenciesSizeRef = useRef(-1);
37
37
  const syncedScopedThemeRef = useRef(undefined);
38
+ const wasDisposedRef = useRef(false);
38
39
  const reinitListener = () => {
39
40
  disposeRef.current?.();
40
41
  disposeRef.current = listener({
@@ -52,11 +53,20 @@ export const useProxifiedUnistyles = () => {
52
53
  runtimeChanged();
53
54
  }
54
55
  });
56
+
57
+ // <Activity> cleans up effects, a theme change made while hidden was missed (#1297)
58
+ if (wasDisposedRef.current) {
59
+ wasDisposedRef.current = false;
60
+ if (!scopedTheme) {
61
+ setTheme(UnistylesRuntime.getTheme());
62
+ }
63
+ }
55
64
  };
56
65
  useEffect(() => {
57
66
  return () => {
58
67
  disposeRef.current?.();
59
68
  syncedDependenciesSizeRef.current = -1;
69
+ wasDisposedRef.current = true;
60
70
  };
61
71
  }, [disposeRef]);
62
72
 
@@ -1 +1 @@
1
- {"version":3,"names":["useContext","useEffect","useLayoutEffect","useReducer","useRef","useState","ScopedThemeContext","UnistylesRuntime","UnistyleDependency","listener","getMiniRuntime","miniRuntime","RTDependencyMap","breakpoint","Breakpoints","colorScheme","ColorScheme","contentSizeCategory","ContentSizeCategory","hasAdaptiveThemes","AdaptiveThemes","insets","Insets","fontScale","FontScale","isLandscape","Orientation","isPortrait","navigationBar","NavigationBar","screen","Dimensions","statusBar","StatusBar","pixelRatio","PixelRatio","themeName","ThemeName","rtl","Rtl","useProxifiedUnistyles","scope","scopedTheme","setScopedTheme","name","dependencies","Set","theme","setTheme","getTheme","_","runtimeChanged","disposeRef","undefined","syncedDependenciesSizeRef","syncedScopedThemeRef","reinitListener","current","Array","from","updateTheme","updateRuntime","hasThemeNameChange","proxifiedTheme","Proxy","get","target","prop","add","Theme","proxifiedRuntime","Ime","sameDeps","size","sameScopedTheme","addDependencies","newDependencies","dependenciesSize","forEach","dependency"],"sourceRoot":"../../../../src","sources":["core/useProxifiedUnistyles/useProxifiedUnistyles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useContext","useEffect","useLayoutEffect","useReducer","useRef","useState","ScopedThemeContext","UnistylesRuntime","UnistyleDependency","listener","getMiniRuntime","miniRuntime","RTDependencyMap","breakpoint","Breakpoints","colorScheme","ColorScheme","contentSizeCategory","ContentSizeCategory","hasAdaptiveThemes","AdaptiveThemes","insets","Insets","fontScale","FontScale","isLandscape","Orientation","isPortrait","navigationBar","NavigationBar","screen","Dimensions","statusBar","StatusBar","pixelRatio","PixelRatio","themeName","ThemeName","rtl","Rtl","useProxifiedUnistyles","scope","scopedTheme","setScopedTheme","name","dependencies","Set","theme","setTheme","getTheme","_","runtimeChanged","disposeRef","undefined","syncedDependenciesSizeRef","syncedScopedThemeRef","wasDisposedRef","reinitListener","current","Array","from","updateTheme","updateRuntime","hasThemeNameChange","proxifiedTheme","Proxy","get","target","prop","add","Theme","proxifiedRuntime","Ime","sameDeps","size","sameScopedTheme","addDependencies","newDependencies","dependenciesSize","forEach","dependency"],"sourceRoot":"../../../../src","sources":["core/useProxifiedUnistyles/useProxifiedUnistyles.ts"],"mappings":"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","ignoreList":[]}
@@ -11,21 +11,21 @@ import { maybeWarnAboutMultipleUnistyles } from '../warn';
11
11
 
12
12
  // @ts-expect-error
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
- export const withUnistyles = (Component, mappings) => {
15
- const getSecrets = (styleProps = {}) => {
16
- const styles = Array.isArray(styleProps) ? styleProps.flat() : [styleProps];
17
- const secrets = styles.filter(Boolean).reduce((acc, style) => {
18
- const unistyleKey = Object.keys(style).find(key => key.startsWith('unistyles_'));
19
- return acc.concat([unistyleKey ? style[unistyleKey] : {
20
- uni__getStyles: () => style,
21
- uni__dependencies: []
22
- }]);
23
- }, []);
24
- return {
25
- styles: secrets.reduce((acc, secret) => Object.assign(acc, secret.uni__getStyles()), {}),
26
- dependencies: secrets.flatMap(secret => secret.uni__dependencies)
27
- };
14
+ export const getSecrets = (styleProps = {}) => {
15
+ const styles = Array.isArray(styleProps) ? styleProps.flat(Infinity) : [styleProps];
16
+ const secrets = styles.filter(Boolean).reduce((acc, style) => {
17
+ const unistyleKey = Object.keys(style).find(key => key.startsWith('unistyles_'));
18
+ return acc.concat([unistyleKey ? style[unistyleKey] : {
19
+ uni__getStyles: () => style,
20
+ uni__dependencies: []
21
+ }]);
22
+ }, []);
23
+ return {
24
+ styles: secrets.reduce((acc, secret) => Object.assign(acc, secret.uni__getStyles()), {}),
25
+ dependencies: secrets.flatMap(secret => secret.uni__dependencies)
28
26
  };
27
+ };
28
+ export const withUnistyles = (Component, mappings) => {
29
29
  return /*#__PURE__*/forwardRef((props, ref) => {
30
30
  const narrowedProps = props;
31
31
  const NativeComponent = Component;
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useContext","useEffect","ScopedThemeContext","UnistylesShadowRegistry","deepMergeObjects","useProxifiedUnistyles","maybeWarnAboutMultipleUnistyles","jsx","_jsx","withUnistyles","Component","mappings","getSecrets","styleProps","styles","Array","isArray","flat","secrets","filter","Boolean","reduce","acc","style","unistyleKey","Object","keys","find","key","startsWith","concat","uni__getStyles","uni__dependencies","secret","assign","dependencies","flatMap","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","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,137 +1,107 @@
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';
5
7
  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;
24
-
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;
30
- };
31
- const getNativeTag = handle => findFiberForHandle(handle)?.stateNode?.canonical?.nativeTag;
8
+ const {
9
+ collectVisibleAncestors,
10
+ getHostFor,
11
+ getHostForInstanceHandle,
12
+ getShadowNode,
13
+ getShadowNodes,
14
+ isHidden
15
+ } = Fiber;
16
+ const {
17
+ source: styleSource,
18
+ bumpEpoch
19
+ } = createUnistylesStyleSource({
20
+ get: () => HybridShadowRegistry.getScopedTheme(),
21
+ set: name => HybridShadowRegistry.setScopedTheme(name)
22
+ });
23
+ const owners = Fiber.createOwnerRegistry(styleSource, [Reanimated.cssAdapter], reason => {
24
+ console.warn(`Unistyles: ${reason}. CSS transitions won't follow theme changes.`);
25
+ });
32
26
 
33
- // by native tag, weak: views unmounted while frozen never unlink, their dead refs are dropped when the map doubles
34
- const linkedHandles = new Map();
35
- const MIN_SWEEP_SIZE = 256;
36
- let sweepSize = MIN_SWEEP_SIZE;
37
- const sweepUnmountedHandles = () => {
38
- linkedHandles.forEach((ref, tag) => {
39
- if (!ref.deref()) {
40
- linkedHandles.delete(tag);
41
- }
42
- });
43
- sweepSize = Math.max(MIN_SWEEP_SIZE, linkedHandles.size * 2);
44
- };
45
- const trackHandle = handle => {
46
- const tag = getNativeTag(handle);
47
-
48
- // views re-link on every render
49
- if (tag === undefined || linkedHandles.get(tag)?.deref() === handle) {
50
- return;
51
- }
52
- linkedHandles.set(tag, new WeakRef(handle));
53
- if (linkedHandles.size >= sweepSize) {
54
- sweepUnmountedHandles();
55
- }
56
- };
57
- const untrackHandle = handle => {
58
- const tag = getNativeTag(handle);
59
- if (tag !== undefined && linkedHandles.get(tag)?.deref() === handle) {
60
- linkedHandles.delete(tag);
61
- }
27
+ // A component can point at another native view by the time its ref is cleaned up, eg. FlatList on Android remounts
28
+ // its native ScrollView when `horizontal` changes, so remove unlinks the view it was linked with
29
+ // The host points at its current node, while a stored node would keep its first revision (and children) alive
30
+ // Native views always resolve to their own host, so they skip it
31
+ const linkedHosts = new WeakMap();
32
+ const committedHosts = [];
33
+ let refreshNodes = [];
34
+ const collectShadowNodes = host => {
35
+ getShadowNodes(host, refreshNodes);
62
36
  };
63
37
 
64
38
  // React re-attaches an untouched subtree through its root's node and only follows clones made on the JS thread.
65
39
  // Once a node was cloned elsewhere (state updates, Reanimated), React would commit a subtree from before a Unistyles
66
40
  // update, so after a Unistyles commit the committed nodes and their host ancestors must point at the committed tree
67
41
  const refreshReactNodes = () => {
68
- const tags = HybridShadowRegistry.takeCommittedTags();
69
- if (tags.length === 0) {
42
+ bumpEpoch();
43
+ const handles = HybridShadowRegistry.takeCommittedInstanceHandles();
44
+ if (handles.length === 0) {
70
45
  return;
71
46
  }
72
- const nodes = new Set();
73
- const visited = new Set();
74
- for (const tag of tags) {
75
- const handle = linkedHandles.get(tag)?.deref();
76
- if (!handle) {
77
- continue;
78
- }
79
- const fiber = findFiberForHandle(handle);
80
-
81
- // hidden by Suspense or a frozen screen
82
- if (!fiber || isInsideSuspendedBoundary(fiber)) {
83
- continue;
47
+ try {
48
+ for (let i = 0; i < handles.length; i++) {
49
+ committedHosts[i] = getHostForInstanceHandle(handles[i]);
84
50
  }
85
- for (let current = fiber; current && !visited.has(current); current = current.return) {
86
- visited.add(current);
87
- if (current.alternate) {
88
- visited.add(current.alternate);
89
- }
90
- if (current.tag !== HOST_COMPONENT_TAG) {
91
- continue;
92
- }
93
- for (const target of [current, current.alternate]) {
94
- const node = target?.stateNode?.node;
95
- if (node) {
96
- nodes.add(node);
97
- }
98
- }
51
+ collectVisibleAncestors(committedHosts, collectShadowNodes);
52
+ if (refreshNodes.length > 0) {
53
+ HybridShadowRegistry.refreshReactNodes(refreshNodes);
99
54
  }
100
- }
101
- if (nodes.size > 0) {
102
- HybridShadowRegistry.refreshReactNodes(Array.from(nodes));
55
+ owners.refresh(committedHosts);
56
+ } finally {
57
+ committedHosts.length = 0;
58
+ refreshNodes = [];
103
59
  }
104
60
  };
105
61
  StyleSheet.addChangeListener(refreshReactNodes);
106
62
 
107
- // runs for every style on every link, so it allocates only for the rare merged style (eg. flattened by Animated)
108
- const splitMergedUnistyles = style => {
109
- let hasUnistyle = false;
110
- for (const key in style) {
111
- if (!key.startsWith('unistyles_') || !Object.prototype.hasOwnProperty.call(style, key)) {
112
- continue;
63
+ // skips empty styles and splits a style merged from many unistyles (eg. flattened by Animated) into one per unistyle
64
+ // runs for every style on every link, so it reads the keys once and allocates only for the rare merged style
65
+ const collectStyle = (style, collected) => {
66
+ if (!style) {
67
+ return;
68
+ }
69
+ const keys = Object.keys(style);
70
+ let unistylesCount = 0;
71
+ for (const key of keys) {
72
+ if (key.startsWith('unistyles_')) {
73
+ unistylesCount++;
74
+ }
75
+ }
76
+ if (unistylesCount < 2) {
77
+ if (keys.length > 0) {
78
+ collected.push(style);
113
79
  }
114
- if (hasUnistyle) {
115
- return Object.keys(style).filter(unistyleKey => unistyleKey.startsWith('unistyles_')).map(unistyleKey => ({
116
- [unistyleKey]: style[unistyleKey]
117
- }));
80
+ return;
81
+ }
82
+ for (const key of keys) {
83
+ if (key.startsWith('unistyles_')) {
84
+ collected.push({
85
+ [key]: style[key]
86
+ });
118
87
  }
119
- hasUnistyle = true;
120
88
  }
121
- return style;
122
89
  };
123
90
  HybridShadowRegistry.add = (handle, styles, scope) => {
124
91
  // virtualized nodes can be null
125
92
  if (!handle || !styles) {
126
93
  return;
127
94
  }
128
- const stylesArray = Array.isArray(styles) ? styles.flat(Infinity) : [styles];
129
-
130
- // filter styles that are undefined or with no keys
131
- const filteredStyles = stylesArray.filter(style => style && Object.keys(style).length > 0).filter(Boolean).flatMap(splitMergedUnistyles);
95
+ const filteredStyles = [];
96
+ if (Array.isArray(styles)) {
97
+ styles.flat(Infinity).forEach(style => collectStyle(style, filteredStyles));
98
+ } else {
99
+ collectStyle(styles, filteredStyles);
100
+ }
132
101
  if (filteredStyles.length > 0) {
133
- const node = findShadowNodeForHandle(handle);
134
- if (!node) {
102
+ const host = getHostFor(handle);
103
+ const node = host && getShadowNode(host);
104
+ if (!host || !node) {
135
105
  throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.constructor?.name ?? 'unknown'}`);
136
106
  }
137
107
 
@@ -141,24 +111,30 @@ HybridShadowRegistry.add = (handle, styles, scope) => {
141
111
  HybridShadowRegistry.setScopedTheme(scope.name);
142
112
  }
143
113
  HybridShadowRegistry.link(node, filteredStyles);
114
+ owners.link(host);
115
+ if (!handle.__internalInstanceHandle) {
116
+ linkedHosts.set(handle, host);
117
+ }
144
118
  if (scope) {
145
119
  HybridShadowRegistry.setScopedTheme(previousScopedTheme);
146
120
  }
147
- trackHandle(handle);
148
121
  }
149
122
  };
150
123
  HybridShadowRegistry.remove = handle => {
151
124
  if (!handle) {
152
125
  return;
153
126
  }
154
- const maybeNode = findShadowNodeForHandle(handle);
155
- if (maybeNode) {
156
- const fiber = findFiberForHandle(handle);
157
- if (fiber && isInsideSuspendedBoundary(fiber)) {
127
+ const linkedHost = handle.__internalInstanceHandle ? undefined : linkedHosts.get(handle);
128
+ const host = linkedHost ?? getHostFor(handle);
129
+ const maybeNode = host && getShadowNode(host);
130
+ if (linkedHost) {
131
+ linkedHosts.delete(handle);
132
+ }
133
+ if (host && maybeNode) {
134
+ if (isHidden(host)) {
158
135
  HybridShadowRegistry.suspend(maybeNode);
159
136
  } else {
160
137
  HybridShadowRegistry.unlink(maybeNode);
161
- untrackHandle(handle);
162
138
  }
163
139
  }
164
140
  };
@@ -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","getNativeTag","canonical","nativeTag","linkedHandles","Map","MIN_SWEEP_SIZE","sweepSize","sweepUnmountedHandles","forEach","ref","deref","delete","Math","max","size","trackHandle","undefined","get","set","WeakRef","untrackHandle","refreshReactNodes","tags","takeCommittedTags","length","nodes","Set","visited","has","add","alternate","target","Array","from","addChangeListener","splitMergedUnistyles","style","hasUnistyle","key","startsWith","Object","prototype","hasOwnProperty","call","keys","filter","unistyleKey","map","styles","scope","stylesArray","isArray","flat","Infinity","filteredStyles","Boolean","flatMap","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","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","collectStyle","style","collected","keys","Object","unistylesCount","key","startsWith","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":[]}