react-native-unistyles 3.5.3 → 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 (283) hide show
  1. package/README.md +3 -0
  2. package/cxx/converters/BackgroundImageConverter.cpp +198 -11
  3. package/cxx/converters/BackgroundImageConverter.h +1 -0
  4. package/cxx/core/HostUnistyle.cpp +6 -0
  5. package/cxx/hybridObjects/HybridShadowRegistry.cpp +5 -0
  6. package/cxx/parser/Parser.cpp +29 -7
  7. package/ios/NativePlatform+ios.swift +22 -11
  8. package/ios/NativePlatformListener+ios.swift +9 -0
  9. package/lib/commonjs/components/native/deep/ActivityIndicator.js +19 -0
  10. package/lib/commonjs/components/native/deep/ActivityIndicator.js.map +1 -0
  11. package/lib/commonjs/components/native/deep/Animated.js +19 -0
  12. package/lib/commonjs/components/native/deep/Animated.js.map +1 -0
  13. package/lib/commonjs/components/native/deep/FlatList.js +19 -0
  14. package/lib/commonjs/components/native/deep/FlatList.js.map +1 -0
  15. package/lib/commonjs/components/native/deep/Image.js +19 -0
  16. package/lib/commonjs/components/native/deep/Image.js.map +1 -0
  17. package/lib/commonjs/components/native/deep/ImageBackground.js +19 -0
  18. package/lib/commonjs/components/native/deep/ImageBackground.js.map +1 -0
  19. package/lib/commonjs/components/native/deep/KeyboardAvoidingView.js +19 -0
  20. package/lib/commonjs/components/native/deep/KeyboardAvoidingView.js.map +1 -0
  21. package/lib/commonjs/components/native/deep/Pressable.js +19 -0
  22. package/lib/commonjs/components/native/deep/Pressable.js.map +1 -0
  23. package/lib/commonjs/components/native/deep/RefreshControl.js +19 -0
  24. package/lib/commonjs/components/native/deep/RefreshControl.js.map +1 -0
  25. package/lib/commonjs/components/native/deep/SafeAreaView.js +19 -0
  26. package/lib/commonjs/components/native/deep/SafeAreaView.js.map +1 -0
  27. package/lib/commonjs/components/native/deep/ScrollView.js +19 -0
  28. package/lib/commonjs/components/native/deep/ScrollView.js.map +1 -0
  29. package/lib/commonjs/components/native/deep/SectionList.js +19 -0
  30. package/lib/commonjs/components/native/deep/SectionList.js.map +1 -0
  31. package/lib/commonjs/components/native/deep/Switch.js +19 -0
  32. package/lib/commonjs/components/native/deep/Switch.js.map +1 -0
  33. package/lib/commonjs/components/native/deep/Text.js +19 -0
  34. package/lib/commonjs/components/native/deep/Text.js.map +1 -0
  35. package/lib/commonjs/components/native/deep/TextInput.js +19 -0
  36. package/lib/commonjs/components/native/deep/TextInput.js.map +1 -0
  37. package/lib/commonjs/components/native/deep/TextNativeComponent.js +28 -0
  38. package/lib/commonjs/components/native/deep/TextNativeComponent.js.map +1 -0
  39. package/lib/commonjs/components/native/deep/TouchableHighlight.js +19 -0
  40. package/lib/commonjs/components/native/deep/TouchableHighlight.js.map +1 -0
  41. package/lib/commonjs/components/native/deep/TouchableOpacity.js +19 -0
  42. package/lib/commonjs/components/native/deep/TouchableOpacity.js.map +1 -0
  43. package/lib/commonjs/components/native/deep/View.js +19 -0
  44. package/lib/commonjs/components/native/deep/View.js.map +1 -0
  45. package/lib/commonjs/components/native/deep/ViewNativeComponent.js +26 -0
  46. package/lib/commonjs/components/native/deep/ViewNativeComponent.js.map +1 -0
  47. package/lib/commonjs/components/native/deep/VirtualizedList.js +19 -0
  48. package/lib/commonjs/components/native/deep/VirtualizedList.js.map +1 -0
  49. package/lib/commonjs/components/native/index.js +43 -0
  50. package/lib/commonjs/components/native/index.js.map +1 -0
  51. package/lib/commonjs/core/createUnistylesActivityIndicator.js +13 -3
  52. package/lib/commonjs/core/createUnistylesActivityIndicator.js.map +1 -1
  53. package/lib/commonjs/core/createUnistylesElement.native.js +6 -0
  54. package/lib/commonjs/core/createUnistylesElement.native.js.map +1 -1
  55. package/lib/commonjs/core/createUnistylesImageBackground.js +20 -17
  56. package/lib/commonjs/core/createUnistylesImageBackground.js.map +1 -1
  57. package/lib/commonjs/core/createUnistylesTouchableHighlight.js +6 -0
  58. package/lib/commonjs/core/createUnistylesTouchableHighlight.js.map +1 -1
  59. package/lib/commonjs/core/getClassname.js +15 -0
  60. package/lib/commonjs/core/getClassname.js.map +1 -1
  61. package/lib/commonjs/core/hasUnistyles.js +26 -0
  62. package/lib/commonjs/core/hasUnistyles.js.map +1 -0
  63. package/lib/commonjs/specs/ShadowRegistry/index.js +57 -74
  64. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  65. package/lib/commonjs/specs/ShadowRegistry/styleSource.js +65 -0
  66. package/lib/commonjs/specs/ShadowRegistry/styleSource.js.map +1 -0
  67. package/lib/commonjs/unifiber/src/adapters/reanimated.js +157 -0
  68. package/lib/commonjs/unifiber/src/adapters/reanimated.js.map +1 -0
  69. package/lib/commonjs/unifiber/src/adapters/registry.js +67 -0
  70. package/lib/commonjs/unifiber/src/adapters/registry.js.map +1 -0
  71. package/lib/commonjs/unifiber/src/diagnostics.js +59 -0
  72. package/lib/commonjs/unifiber/src/diagnostics.js.map +1 -0
  73. package/lib/commonjs/unifiber/src/fiber.js +199 -0
  74. package/lib/commonjs/unifiber/src/fiber.js.map +1 -0
  75. package/lib/commonjs/unifiber/src/host.js +214 -0
  76. package/lib/commonjs/unifiber/src/host.js.map +1 -0
  77. package/lib/commonjs/unifiber/src/index.js +38 -0
  78. package/lib/commonjs/unifiber/src/index.js.map +1 -0
  79. package/lib/commonjs/web/utils/unistyle.js +11 -3
  80. package/lib/commonjs/web/utils/unistyle.js.map +1 -1
  81. package/lib/module/components/native/deep/ActivityIndicator.js +5 -0
  82. package/lib/module/components/native/deep/ActivityIndicator.js.map +1 -0
  83. package/lib/module/components/native/deep/Animated.js +5 -0
  84. package/lib/module/components/native/deep/Animated.js.map +1 -0
  85. package/lib/module/components/native/deep/FlatList.js +5 -0
  86. package/lib/module/components/native/deep/FlatList.js.map +1 -0
  87. package/lib/module/components/native/deep/Image.js +5 -0
  88. package/lib/module/components/native/deep/Image.js.map +1 -0
  89. package/lib/module/components/native/deep/ImageBackground.js +5 -0
  90. package/lib/module/components/native/deep/ImageBackground.js.map +1 -0
  91. package/lib/module/components/native/deep/KeyboardAvoidingView.js +5 -0
  92. package/lib/module/components/native/deep/KeyboardAvoidingView.js.map +1 -0
  93. package/lib/module/components/native/deep/Pressable.js +5 -0
  94. package/lib/module/components/native/deep/Pressable.js.map +1 -0
  95. package/lib/module/components/native/deep/RefreshControl.js +5 -0
  96. package/lib/module/components/native/deep/RefreshControl.js.map +1 -0
  97. package/lib/module/components/native/deep/SafeAreaView.js +5 -0
  98. package/lib/module/components/native/deep/SafeAreaView.js.map +1 -0
  99. package/lib/module/components/native/deep/ScrollView.js +5 -0
  100. package/lib/module/components/native/deep/ScrollView.js.map +1 -0
  101. package/lib/module/components/native/deep/SectionList.js +5 -0
  102. package/lib/module/components/native/deep/SectionList.js.map +1 -0
  103. package/lib/module/components/native/deep/Switch.js +5 -0
  104. package/lib/module/components/native/deep/Switch.js.map +1 -0
  105. package/lib/module/components/native/deep/Text.js +5 -0
  106. package/lib/module/components/native/deep/Text.js.map +1 -0
  107. package/lib/module/components/native/deep/TextInput.js +5 -0
  108. package/lib/module/components/native/deep/TextInput.js.map +1 -0
  109. package/lib/module/components/native/deep/TextNativeComponent.js +8 -0
  110. package/lib/module/components/native/deep/TextNativeComponent.js.map +1 -0
  111. package/lib/module/components/native/deep/TouchableHighlight.js +5 -0
  112. package/lib/module/components/native/deep/TouchableHighlight.js.map +1 -0
  113. package/lib/module/components/native/deep/TouchableOpacity.js +5 -0
  114. package/lib/module/components/native/deep/TouchableOpacity.js.map +1 -0
  115. package/lib/module/components/native/deep/View.js +5 -0
  116. package/lib/module/components/native/deep/View.js.map +1 -0
  117. package/lib/module/components/native/deep/ViewNativeComponent.js +8 -0
  118. package/lib/module/components/native/deep/ViewNativeComponent.js.map +1 -0
  119. package/lib/module/components/native/deep/VirtualizedList.js +5 -0
  120. package/lib/module/components/native/deep/VirtualizedList.js.map +1 -0
  121. package/lib/module/components/native/index.js +43 -0
  122. package/lib/module/components/native/index.js.map +1 -0
  123. package/lib/module/core/createUnistylesActivityIndicator.js +13 -3
  124. package/lib/module/core/createUnistylesActivityIndicator.js.map +1 -1
  125. package/lib/module/core/createUnistylesElement.native.js +6 -0
  126. package/lib/module/core/createUnistylesElement.native.js.map +1 -1
  127. package/lib/module/core/createUnistylesImageBackground.js +20 -17
  128. package/lib/module/core/createUnistylesImageBackground.js.map +1 -1
  129. package/lib/module/core/createUnistylesTouchableHighlight.js +6 -0
  130. package/lib/module/core/createUnistylesTouchableHighlight.js.map +1 -1
  131. package/lib/module/core/getClassname.js +16 -1
  132. package/lib/module/core/getClassname.js.map +1 -1
  133. package/lib/module/core/hasUnistyles.js +21 -0
  134. package/lib/module/core/hasUnistyles.js.map +1 -0
  135. package/lib/module/specs/ShadowRegistry/index.js +57 -74
  136. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  137. package/lib/module/specs/ShadowRegistry/styleSource.js +60 -0
  138. package/lib/module/specs/ShadowRegistry/styleSource.js.map +1 -0
  139. package/lib/module/unifiber/src/adapters/reanimated.js +152 -0
  140. package/lib/module/unifiber/src/adapters/reanimated.js.map +1 -0
  141. package/lib/module/unifiber/src/adapters/registry.js +62 -0
  142. package/lib/module/unifiber/src/adapters/registry.js.map +1 -0
  143. package/lib/module/unifiber/src/diagnostics.js +52 -0
  144. package/lib/module/unifiber/src/diagnostics.js.map +1 -0
  145. package/lib/module/unifiber/src/fiber.js +183 -0
  146. package/lib/module/unifiber/src/fiber.js.map +1 -0
  147. package/lib/module/unifiber/src/host.js +191 -0
  148. package/lib/module/unifiber/src/host.js.map +1 -0
  149. package/lib/module/unifiber/src/index.js +33 -0
  150. package/lib/module/unifiber/src/index.js.map +1 -0
  151. package/lib/module/web/utils/unistyle.js +11 -3
  152. package/lib/module/web/utils/unistyle.js.map +1 -1
  153. package/lib/typescript/src/components/native/deep/ActivityIndicator.d.ts +2 -0
  154. package/lib/typescript/src/components/native/deep/ActivityIndicator.d.ts.map +1 -0
  155. package/lib/typescript/src/components/native/deep/Animated.d.ts +2 -0
  156. package/lib/typescript/src/components/native/deep/Animated.d.ts.map +1 -0
  157. package/lib/typescript/src/components/native/deep/FlatList.d.ts +2 -0
  158. package/lib/typescript/src/components/native/deep/FlatList.d.ts.map +1 -0
  159. package/lib/typescript/src/components/native/deep/Image.d.ts +2 -0
  160. package/lib/typescript/src/components/native/deep/Image.d.ts.map +1 -0
  161. package/lib/typescript/src/components/native/deep/ImageBackground.d.ts +2 -0
  162. package/lib/typescript/src/components/native/deep/ImageBackground.d.ts.map +1 -0
  163. package/lib/typescript/src/components/native/deep/KeyboardAvoidingView.d.ts +2 -0
  164. package/lib/typescript/src/components/native/deep/KeyboardAvoidingView.d.ts.map +1 -0
  165. package/lib/typescript/src/components/native/deep/Pressable.d.ts +2 -0
  166. package/lib/typescript/src/components/native/deep/Pressable.d.ts.map +1 -0
  167. package/lib/typescript/src/components/native/deep/RefreshControl.d.ts +2 -0
  168. package/lib/typescript/src/components/native/deep/RefreshControl.d.ts.map +1 -0
  169. package/lib/typescript/src/components/native/deep/SafeAreaView.d.ts +2 -0
  170. package/lib/typescript/src/components/native/deep/SafeAreaView.d.ts.map +1 -0
  171. package/lib/typescript/src/components/native/deep/ScrollView.d.ts +2 -0
  172. package/lib/typescript/src/components/native/deep/ScrollView.d.ts.map +1 -0
  173. package/lib/typescript/src/components/native/deep/SectionList.d.ts +2 -0
  174. package/lib/typescript/src/components/native/deep/SectionList.d.ts.map +1 -0
  175. package/lib/typescript/src/components/native/deep/Switch.d.ts +2 -0
  176. package/lib/typescript/src/components/native/deep/Switch.d.ts.map +1 -0
  177. package/lib/typescript/src/components/native/deep/Text.d.ts +2 -0
  178. package/lib/typescript/src/components/native/deep/Text.d.ts.map +1 -0
  179. package/lib/typescript/src/components/native/deep/TextInput.d.ts +2 -0
  180. package/lib/typescript/src/components/native/deep/TextInput.d.ts.map +1 -0
  181. package/lib/typescript/src/components/native/deep/TextNativeComponent.d.ts +3 -0
  182. package/lib/typescript/src/components/native/deep/TextNativeComponent.d.ts.map +1 -0
  183. package/lib/typescript/src/components/native/deep/TouchableHighlight.d.ts +2 -0
  184. package/lib/typescript/src/components/native/deep/TouchableHighlight.d.ts.map +1 -0
  185. package/lib/typescript/src/components/native/deep/TouchableOpacity.d.ts +2 -0
  186. package/lib/typescript/src/components/native/deep/TouchableOpacity.d.ts.map +1 -0
  187. package/lib/typescript/src/components/native/deep/View.d.ts +2 -0
  188. package/lib/typescript/src/components/native/deep/View.d.ts.map +1 -0
  189. package/lib/typescript/src/components/native/deep/ViewNativeComponent.d.ts +3 -0
  190. package/lib/typescript/src/components/native/deep/ViewNativeComponent.d.ts.map +1 -0
  191. package/lib/typescript/src/components/native/deep/VirtualizedList.d.ts +2 -0
  192. package/lib/typescript/src/components/native/deep/VirtualizedList.d.ts.map +1 -0
  193. package/lib/typescript/src/components/native/index.d.ts +4 -0
  194. package/lib/typescript/src/components/native/index.d.ts.map +1 -0
  195. package/lib/typescript/src/components/scopeChildren.d.ts +1 -1
  196. package/lib/typescript/src/core/createUnistylesActivityIndicator.d.ts.map +1 -1
  197. package/lib/typescript/src/core/createUnistylesElement.native.d.ts.map +1 -1
  198. package/lib/typescript/src/core/createUnistylesImageBackground.d.ts.map +1 -1
  199. package/lib/typescript/src/core/createUnistylesTouchableHighlight.d.ts.map +1 -1
  200. package/lib/typescript/src/core/getClassname.d.ts.map +1 -1
  201. package/lib/typescript/src/core/hasUnistyles.d.ts +2 -0
  202. package/lib/typescript/src/core/hasUnistyles.d.ts.map +1 -0
  203. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  204. package/lib/typescript/src/specs/ShadowRegistry/styleSource.d.ts +11 -0
  205. package/lib/typescript/src/specs/ShadowRegistry/styleSource.d.ts.map +1 -0
  206. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +4 -41
  207. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
  208. package/lib/typescript/src/unifiber/src/adapters/reanimated.d.ts +17 -0
  209. package/lib/typescript/src/unifiber/src/adapters/reanimated.d.ts.map +1 -0
  210. package/lib/typescript/src/unifiber/src/adapters/registry.d.ts +23 -0
  211. package/lib/typescript/src/unifiber/src/adapters/registry.d.ts.map +1 -0
  212. package/lib/typescript/src/unifiber/src/diagnostics.d.ts +10 -0
  213. package/lib/typescript/src/unifiber/src/diagnostics.d.ts.map +1 -0
  214. package/lib/typescript/src/unifiber/src/fiber.d.ts +48 -0
  215. package/lib/typescript/src/unifiber/src/fiber.d.ts.map +1 -0
  216. package/lib/typescript/src/unifiber/src/host.d.ts +32 -0
  217. package/lib/typescript/src/unifiber/src/host.d.ts.map +1 -0
  218. package/lib/typescript/src/unifiber/src/index.d.ts +49 -0
  219. package/lib/typescript/src/unifiber/src/index.d.ts.map +1 -0
  220. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -1
  221. package/metro/babel-transformer.js +1040 -0
  222. package/metro/index.d.ts +31 -0
  223. package/metro/index.js +170 -0
  224. package/package.json +26 -8
  225. package/plugin/index.d.ts +7 -0
  226. package/plugin/index.js +36 -16
  227. package/src/components/native/deep/ActivityIndicator.ts +2 -0
  228. package/src/components/native/deep/Animated.ts +2 -0
  229. package/src/components/native/deep/FlatList.ts +2 -0
  230. package/src/components/native/deep/Image.ts +2 -0
  231. package/src/components/native/deep/ImageBackground.ts +2 -0
  232. package/src/components/native/deep/KeyboardAvoidingView.ts +2 -0
  233. package/src/components/native/deep/Pressable.ts +2 -0
  234. package/src/components/native/deep/RefreshControl.ts +2 -0
  235. package/src/components/native/deep/SafeAreaView.ts +2 -0
  236. package/src/components/native/deep/ScrollView.ts +2 -0
  237. package/src/components/native/deep/SectionList.ts +2 -0
  238. package/src/components/native/deep/Switch.ts +2 -0
  239. package/src/components/native/deep/Text.ts +2 -0
  240. package/src/components/native/deep/TextInput.ts +2 -0
  241. package/src/components/native/deep/TextNativeComponent.ts +5 -0
  242. package/src/components/native/deep/TouchableHighlight.ts +2 -0
  243. package/src/components/native/deep/TouchableOpacity.ts +2 -0
  244. package/src/components/native/deep/View.ts +2 -0
  245. package/src/components/native/deep/ViewNativeComponent.ts +5 -0
  246. package/src/components/native/deep/VirtualizedList.ts +2 -0
  247. package/src/components/native/index.ts +41 -0
  248. package/src/core/createUnistylesActivityIndicator.tsx +11 -4
  249. package/src/core/createUnistylesElement.native.tsx +5 -0
  250. package/src/core/createUnistylesImageBackground.tsx +27 -23
  251. package/src/core/createUnistylesTouchableHighlight.tsx +5 -0
  252. package/src/core/getClassname.ts +10 -1
  253. package/src/core/hasUnistyles.ts +20 -0
  254. package/src/specs/ShadowRegistry/index.ts +50 -102
  255. package/src/specs/ShadowRegistry/styleSource.ts +78 -0
  256. package/src/specs/ShadowRegistry/types.ts +3 -43
  257. package/src/unifiber/LICENSE +21 -0
  258. package/src/unifiber/README.md +92 -0
  259. package/src/unifiber/src/adapters/reanimated.ts +204 -0
  260. package/src/unifiber/src/adapters/registry.ts +102 -0
  261. package/src/unifiber/src/diagnostics.ts +55 -0
  262. package/src/unifiber/src/fiber.ts +262 -0
  263. package/src/unifiber/src/host.ts +236 -0
  264. package/src/unifiber/src/index.ts +43 -0
  265. package/src/web/utils/unistyle.ts +12 -3
  266. package/lib/typescript/src/__tests__/mocks.spec.d.ts +0 -2
  267. package/lib/typescript/src/__tests__/mocks.spec.d.ts.map +0 -1
  268. package/lib/typescript/src/__tests__/passForwardRef.spec.d.ts +0 -2
  269. package/lib/typescript/src/__tests__/passForwardRef.spec.d.ts.map +0 -1
  270. package/lib/typescript/src/__tests__/scoped-theme.spec.d.ts +0 -2
  271. package/lib/typescript/src/__tests__/scoped-theme.spec.d.ts.map +0 -1
  272. package/lib/typescript/src/__tests__/shadow-registry.spec.d.ts +0 -2
  273. package/lib/typescript/src/__tests__/shadow-registry.spec.d.ts.map +0 -1
  274. package/lib/typescript/src/__tests__/web-child-selector.spec.d.ts +0 -2
  275. package/lib/typescript/src/__tests__/web-child-selector.spec.d.ts.map +0 -1
  276. package/lib/typescript/src/__tests__/web-listener.spec.d.ts +0 -2
  277. package/lib/typescript/src/__tests__/web-listener.spec.d.ts.map +0 -1
  278. package/lib/typescript/src/__tests__/web-pointer-events.spec.d.ts +0 -2
  279. package/lib/typescript/src/__tests__/web-pointer-events.spec.d.ts.map +0 -1
  280. package/lib/typescript/src/__tests__/web-runtime.spec.d.ts +0 -2
  281. package/lib/typescript/src/__tests__/web-runtime.spec.d.ts.map +0 -1
  282. package/lib/typescript/src/__tests__/withUnistyles.spec.d.ts +0 -2
  283. package/lib/typescript/src/__tests__/withUnistyles.spec.d.ts.map +0 -1
@@ -5,87 +5,61 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UnistylesShadowRegistry = void 0;
7
7
  var _reactNativeNitroModules = require("react-native-nitro-modules");
8
+ var _src = require("../../unifiber/src");
8
9
  var _StyleSheet = require("../StyleSheet");
10
+ var _styleSource = require("./styleSource");
9
11
  const HybridShadowRegistry = _reactNativeNitroModules.NitroModules.createHybridObject('UnistylesShadowRegistry');
10
- const HOST_COMPONENT_TAG = 5;
11
- const SUSPENSE_TAG = 13;
12
- const OFFSCREEN_TAG = 22;
13
- const isInsideSuspendedBoundary = fiber => {
14
- let current = fiber?.return;
15
- while (current) {
16
- if ((current.tag === SUSPENSE_TAG || current.tag === OFFSCREEN_TAG) && current.memoizedState !== null) {
17
- return true;
18
- }
19
- current = current.return;
20
- }
21
- return false;
22
- };
23
- const findFiberForHandle = handle => {
24
- return handle?.__internalInstanceHandle ?? handle?.getScrollResponder?.()?.getNativeScrollRef?.()?.__internalInstanceHandle ?? handle?.getNativeScrollRef?.()?.__internalInstanceHandle ?? handle?._viewRef?.__internalInstanceHandle ?? handle?.viewRef?.current?.__internalInstanceHandle ?? handle?._nativeRef?.__internalInstanceHandle;
25
- };
26
- const findShadowNodeForHandle = handle => {
27
- 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;
12
+ const {
13
+ collectVisibleAncestors,
14
+ getHostFor,
15
+ getHostForInstanceHandle,
16
+ getShadowNode,
17
+ getShadowNodes,
18
+ isHidden
19
+ } = _src.Fiber;
20
+ const {
21
+ source: styleSource,
22
+ bumpEpoch
23
+ } = (0, _styleSource.createUnistylesStyleSource)({
24
+ get: () => HybridShadowRegistry.getScopedTheme(),
25
+ set: name => HybridShadowRegistry.setScopedTheme(name)
26
+ });
27
+ const owners = _src.Fiber.createOwnerRegistry(styleSource, [_src.Reanimated.cssAdapter], reason => {
28
+ console.warn(`Unistyles: ${reason}. CSS transitions won't follow theme changes.`);
29
+ });
28
30
 
29
- // @ts-ignore we don't know the type of handle
30
- if (!node && handle?.props?.horizontal && handle?.constructor?.name === 'FlatList') {
31
- 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');
32
- }
33
- return node;
31
+ // A component can point at another native view by the time its ref is cleaned up, eg. FlatList on Android remounts
32
+ // its native ScrollView when `horizontal` changes, so remove unlinks the view it was linked with
33
+ // The host points at its current node, while a stored node would keep its first revision (and children) alive
34
+ // Native views always resolve to their own host, so they skip it
35
+ const linkedHosts = new WeakMap();
36
+ const committedHosts = [];
37
+ let refreshNodes = [];
38
+ const collectShadowNodes = host => {
39
+ getShadowNodes(host, refreshNodes);
34
40
  };
35
41
 
36
42
  // React re-attaches an untouched subtree through its root's node and only follows clones made on the JS thread.
37
43
  // Once a node was cloned elsewhere (state updates, Reanimated), React would commit a subtree from before a Unistyles
38
44
  // update, so after a Unistyles commit the committed nodes and their host ancestors must point at the committed tree
39
45
  const refreshReactNodes = () => {
40
- const fibers = HybridShadowRegistry.takeCommittedInstanceHandles();
41
- if (fibers.length === 0) {
46
+ bumpEpoch();
47
+ const handles = HybridShadowRegistry.takeCommittedInstanceHandles();
48
+ if (handles.length === 0) {
42
49
  return;
43
50
  }
44
- const nodes = [];
45
- const refreshedTags = new Set();
46
- const hostFibers = [];
47
- for (const fiber of fibers) {
48
- // collected, unmounted since
49
- if (!fiber) {
50
- continue;
51
+ try {
52
+ for (let i = 0; i < handles.length; i++) {
53
+ committedHosts[i] = getHostForInstanceHandle(handles[i]);
51
54
  }
52
- let isHidden = false;
53
- hostFibers.length = 0;
54
- for (let current = fiber; current; current = current.return) {
55
- // hidden by Suspense or a frozen screen
56
- if ((current.tag === SUSPENSE_TAG || current.tag === OFFSCREEN_TAG) && current.memoizedState !== null) {
57
- isHidden = true;
58
- }
59
- if (current.tag !== HOST_COMPONENT_TAG) {
60
- continue;
61
- }
62
-
63
- // its ancestors are visible and already collected
64
- if (refreshedTags.has(current.stateNode?.canonical?.nativeTag)) {
65
- break;
66
- }
67
- hostFibers.push(current);
68
- }
69
- if (isHidden) {
70
- continue;
71
- }
72
- for (const hostFiber of hostFibers) {
73
- const node = hostFiber.stateNode?.node;
74
- const alternateNode = hostFiber.alternate?.stateNode?.node;
75
- const hostTag = hostFiber.stateNode?.canonical?.nativeTag;
76
- if (hostTag !== undefined) {
77
- refreshedTags.add(hostTag);
78
- }
79
- if (node) {
80
- nodes.push(node);
81
- }
82
- if (alternateNode && alternateNode !== node) {
83
- nodes.push(alternateNode);
84
- }
55
+ collectVisibleAncestors(committedHosts, collectShadowNodes);
56
+ if (refreshNodes.length > 0) {
57
+ HybridShadowRegistry.refreshReactNodes(refreshNodes);
85
58
  }
86
- }
87
- if (nodes.length > 0) {
88
- HybridShadowRegistry.refreshReactNodes(nodes);
59
+ owners.refresh(committedHosts);
60
+ } finally {
61
+ committedHosts.length = 0;
62
+ refreshNodes = [];
89
63
  }
90
64
  };
91
65
  _StyleSheet.StyleSheet.addChangeListener(refreshReactNodes);
@@ -129,8 +103,9 @@ HybridShadowRegistry.add = (handle, styles, scope) => {
129
103
  collectStyle(styles, filteredStyles);
130
104
  }
131
105
  if (filteredStyles.length > 0) {
132
- const node = findShadowNodeForHandle(handle);
133
- if (!node) {
106
+ const host = getHostFor(handle);
107
+ const node = host && getShadowNode(host);
108
+ if (!host || !node) {
134
109
  throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.constructor?.name ?? 'unknown'}`);
135
110
  }
136
111
 
@@ -140,6 +115,10 @@ HybridShadowRegistry.add = (handle, styles, scope) => {
140
115
  HybridShadowRegistry.setScopedTheme(scope.name);
141
116
  }
142
117
  HybridShadowRegistry.link(node, filteredStyles);
118
+ owners.link(host);
119
+ if (!handle.__internalInstanceHandle) {
120
+ linkedHosts.set(handle, host);
121
+ }
143
122
  if (scope) {
144
123
  HybridShadowRegistry.setScopedTheme(previousScopedTheme);
145
124
  }
@@ -149,10 +128,14 @@ HybridShadowRegistry.remove = handle => {
149
128
  if (!handle) {
150
129
  return;
151
130
  }
152
- const maybeNode = findShadowNodeForHandle(handle);
153
- if (maybeNode) {
154
- const fiber = findFiberForHandle(handle);
155
- if (fiber && isInsideSuspendedBoundary(fiber)) {
131
+ const linkedHost = handle.__internalInstanceHandle ? undefined : linkedHosts.get(handle);
132
+ const host = linkedHost ?? getHostFor(handle);
133
+ const maybeNode = host && getShadowNode(host);
134
+ if (linkedHost) {
135
+ linkedHosts.delete(handle);
136
+ }
137
+ if (host && maybeNode) {
138
+ if (isHidden(host)) {
156
139
  HybridShadowRegistry.suspend(maybeNode);
157
140
  } else {
158
141
  HybridShadowRegistry.unlink(maybeNode);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","_StyleSheet","HybridShadowRegistry","NitroModules","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","StyleSheet","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","exports"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_src","_StyleSheet","_styleSource","HybridShadowRegistry","NitroModules","createHybridObject","collectVisibleAncestors","getHostFor","getHostForInstanceHandle","getShadowNode","getShadowNodes","isHidden","Fiber","source","styleSource","bumpEpoch","createUnistylesStyleSource","get","getScopedTheme","set","name","setScopedTheme","owners","createOwnerRegistry","Reanimated","cssAdapter","reason","console","warn","linkedHosts","WeakMap","committedHosts","refreshNodes","collectShadowNodes","host","refreshReactNodes","handles","takeCommittedInstanceHandles","length","i","refresh","StyleSheet","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","exports"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createUnistylesStyleSource = void 0;
7
+ var _ScopedThemeContext = require("../../components/ScopedThemeContext");
8
+ const createUnistylesStyleSource = scopedTheme => {
9
+ let epoch = 0;
10
+ let warned = false;
11
+ const source = {
12
+ name: 'unistyles',
13
+ epoch: () => epoch,
14
+ contexts: [_ScopedThemeContext.ScopedThemeContext],
15
+ contextKey: (_context, scope) => scope?.name,
16
+ resolve: (props, read) => {
17
+ try {
18
+ return resolveFresh(props, read(_ScopedThemeContext.ScopedThemeContext));
19
+ } catch (error) {
20
+ if (!warned) {
21
+ warned = true;
22
+ console.warn(`Unistyles: Could not refresh styles for a CSS transition. ${String(error)}`);
23
+ }
24
+ return undefined;
25
+ }
26
+ }
27
+ };
28
+ const resolveFresh = (props, scope) => {
29
+ const styles = [props.style].flat(Infinity);
30
+ const fresh = {};
31
+ let hasUnistyles = false;
32
+ for (const style of styles) {
33
+ if (!style || typeof style !== 'object') {
34
+ continue;
35
+ }
36
+ Object.assign(fresh, style);
37
+ for (const key in style) {
38
+ if (!key.startsWith('unistyles_') || !Object.prototype.hasOwnProperty.call(style, key)) {
39
+ continue;
40
+ }
41
+ hasUnistyles = true;
42
+ const previousScopedTheme = scope ? scopedTheme.get() : undefined;
43
+ if (scope) {
44
+ scopedTheme.set(scope.name);
45
+ }
46
+ try {
47
+ Object.assign(fresh, style[key]?.uni__getStyles?.());
48
+ } finally {
49
+ if (scope) {
50
+ scopedTheme.set(previousScopedTheme);
51
+ }
52
+ }
53
+ }
54
+ }
55
+ return hasUnistyles ? fresh : undefined;
56
+ };
57
+ return {
58
+ source,
59
+ bumpEpoch: () => {
60
+ epoch++;
61
+ }
62
+ };
63
+ };
64
+ exports.createUnistylesStyleSource = createUnistylesStyleSource;
65
+ //# sourceMappingURL=styleSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ScopedThemeContext","require","createUnistylesStyleSource","scopedTheme","epoch","warned","source","name","contexts","ScopedThemeContext","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","exports"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/styleSource.ts"],"mappings":";;;;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAOO,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,CAACC,sCAAkB,CAAC;IAC9BC,UAAU,EAAEA,CAACC,QAAQ,EAAEC,KAAK,KAAMA,KAAK,EAAmBL,IAAI;IAC9DM,OAAO,EAAEA,CAACC,KAAK,EAAEC,IAAI,KAAK;MACtB,IAAI;QACA,OAAOC,YAAY,CAACF,KAAK,EAAEC,IAAI,CAACN,sCAAkB,CAAC,CAAC;MACxD,CAAC,CAAC,OAAOQ,KAAK,EAAE;QACZ,IAAI,CAACZ,MAAM,EAAE;UACTA,MAAM,GAAG,IAAI;UACba,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,GAAGT,WAAW,CAACiC,GAAG,CAAC,CAAC,GAAGf,SAAS;QAEjE,IAAIT,KAAK,EAAE;UACPT,WAAW,CAACkC,GAAG,CAACzB,KAAK,CAACL,IAAI,CAAC;QAC/B;QAEA,IAAI;UACAqB,MAAM,CAACC,MAAM,CAACH,KAAK,EAAEH,KAAK,CAACO,GAAG,CAAC,EAAEQ,cAAc,GAAG,CAAC,CAAC;QACxD,CAAC,SAAS;UACN,IAAI1B,KAAK,EAAE;YACPT,WAAW,CAACkC,GAAG,CAACF,mBAAmB,CAAC;UACxC;QACJ;MACJ;IACJ;IAEA,OAAOR,YAAY,GAAGD,KAAK,GAAGL,SAAS;EAC3C,CAAC;EAED,OAAO;IACHf,MAAM;IACNiC,SAAS,EAAEA,CAAA,KAAM;MACbnC,KAAK,EAAE;IACX;EACJ,CAAC;AACL,CAAC;AAAAoC,OAAA,CAAAtC,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.reanimatedCSSAdapter = exports.animatedComponentOf = void 0;
7
+ var fiber = _interopRequireWildcard(require("../fiber"));
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
+ // Keeps Reanimated's CSS style copy (`_cssStyle`) in sync with native-only style updates.
10
+ // Private fields are pinned by test/reanimated-contract.test.ts for 4.5 and 4.7.
11
+
12
+ // Bound once: Metro's inline requires
13
+ const {
14
+ contextReaderFor
15
+ } = fiber;
16
+ const CLASS_COMPONENT = fiber.Tag.ClassComponent;
17
+ // Symbol.for: two copies of unifiber in one bundle never wrap a component twice
18
+ const STATE = Symbol.for('unifiber.reanimated.css');
19
+
20
+ // Kept out of AnimatedComponentLike: a unique symbol in a public type breaks consumers' declaration builds (TS4023)
21
+
22
+ const hasCSSConfig = cssStyle => {
23
+ for (const key in cssStyle) {
24
+ if (key.startsWith('transition') || key.startsWith('animation')) {
25
+ return true;
26
+ }
27
+ }
28
+ return false;
29
+ };
30
+
31
+ // Keyframe animations and pseudo-styles register again on update after componentWillUnmount cleaned them up.
32
+ // React runs no componentWillUnmount for a subtree deleted while hidden, so on a hidden owner they would leak.
33
+ const registersOnUpdate = cssStyle => {
34
+ for (const key in cssStyle) {
35
+ if (key.startsWith('animation')) {
36
+ return true;
37
+ }
38
+ const value = cssStyle[key];
39
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
40
+ for (const selector in value) {
41
+ if (selector === 'default' || selector.startsWith(':')) {
42
+ return true;
43
+ }
44
+ break;
45
+ }
46
+ }
47
+ }
48
+ return false;
49
+ };
50
+
51
+ // Deepest case: ScrollView with refreshControl on Android, 6-7 fibers
52
+ const MAX_OWNER_DEPTH = 12;
53
+
54
+ // The class whose `_componentRef` is this host's public instance. Lists don't match: their ref isn't a host.
55
+ const animatedComponentOf = host => {
56
+ const fiber = host;
57
+ if (fiber?.memoizedProps?.collapsable !== false) {
58
+ return null;
59
+ }
60
+ const publicInstance = fiber.stateNode?.canonical?.publicInstance;
61
+ if (!publicInstance) {
62
+ return null;
63
+ }
64
+ let current = fiber.return;
65
+ for (let depth = 0; current && depth < MAX_OWNER_DEPTH; depth++) {
66
+ if (current.tag === CLASS_COMPONENT && current.stateNode?._componentRef === publicInstance) {
67
+ return isAnimatedComponent(current.stateNode) ? current.stateNode : null;
68
+ }
69
+ current = current.return;
70
+ }
71
+ return null;
72
+ };
73
+ exports.animatedComponentOf = animatedComponentOf;
74
+ const isAnimatedComponent = owner => typeof owner?._updateStyles === 'function' && typeof owner.shouldComponentUpdate === 'function' && owner._cssStyle !== null && typeof owner._cssStyle === 'object';
75
+ function updateStylesThroughSource(props) {
76
+ const state = this[STATE];
77
+ state.original.call(this, props);
78
+ if (!hasCSSConfig(this._cssStyle)) {
79
+ return;
80
+ }
81
+ const epoch = state.source.epoch();
82
+ const read = contextReaderFor(this, state.rendering);
83
+ const contexts = state.source.contexts ?? [];
84
+ let contextChanged = false;
85
+ for (let i = 0; i < contexts.length; i++) {
86
+ const context = contexts[i];
87
+ const value = read(context);
88
+ const key = state.source.contextKey ? state.source.contextKey(context, value) : value;
89
+ if (state.contextKeys[i] !== key) {
90
+ state.contextKeys[i] = key;
91
+ contextChanged = true;
92
+ }
93
+ }
94
+ if (contextChanged || state.styleProp !== props.style || state.epoch !== epoch) {
95
+ state.fresh = state.source.resolve(props, read);
96
+ state.styleProp = props.style;
97
+ state.epoch = epoch;
98
+ }
99
+ const fresh = state.fresh;
100
+ if (!fresh) {
101
+ return;
102
+ }
103
+
104
+ // only the keys Reanimated kept: animated styles were split out of _cssStyle
105
+ for (const key in this._cssStyle) {
106
+ if (key in fresh) {
107
+ this._cssStyle[key] = fresh[key];
108
+ }
109
+ }
110
+ }
111
+
112
+ // Marks the render phase, where context must be read from React's stack
113
+ function shouldUpdateMarkingRender(...args) {
114
+ const state = this[STATE];
115
+ state.rendering = true;
116
+ try {
117
+ return state.originalShouldUpdate.apply(this, args);
118
+ } finally {
119
+ state.rendering = false;
120
+ }
121
+ }
122
+ const reanimatedCSSAdapter = exports.reanimatedCSSAdapter = {
123
+ name: 'react-native-reanimated/css',
124
+ gate: host => host.memoizedProps?.collapsable === false,
125
+ claim: animatedComponentOf,
126
+ attach: (owner, source) => {
127
+ if (owner[STATE]) {
128
+ return;
129
+ }
130
+ owner[STATE] = {
131
+ source,
132
+ original: owner._updateStyles,
133
+ originalShouldUpdate: owner.shouldComponentUpdate,
134
+ rendering: false,
135
+ styleProp: undefined,
136
+ epoch: -1,
137
+ contextKeys: [],
138
+ fresh: undefined
139
+ };
140
+ owner._updateStyles = updateStylesThroughSource;
141
+ owner.shouldComponentUpdate = shouldUpdateMarkingRender;
142
+ },
143
+ refresh: owner => {
144
+ // not mounted yet
145
+ if (typeof owner._CSSManager?.update !== 'function') {
146
+ return;
147
+ }
148
+
149
+ // Hidden transitions still run, so the reveal shows the new value instead of animating from the old one
150
+ if (owner._willUnmount === true && registersOnUpdate(owner._cssStyle)) {
151
+ return;
152
+ }
153
+ owner._updateStyles(owner.props);
154
+ owner._CSSManager.update(owner._cssStyle, owner.props);
155
+ }
156
+ };
157
+ //# sourceMappingURL=reanimated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fiber","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","contextReaderFor","CLASS_COMPONENT","Tag","ClassComponent","STATE","Symbol","for","hasCSSConfig","cssStyle","key","startsWith","registersOnUpdate","value","Array","isArray","selector","MAX_OWNER_DEPTH","animatedComponentOf","host","memoizedProps","collapsable","publicInstance","stateNode","canonical","current","return","depth","tag","_componentRef","isAnimatedComponent","exports","owner","_updateStyles","shouldComponentUpdate","_cssStyle","updateStylesThroughSource","props","state","original","epoch","source","read","rendering","contexts","contextChanged","length","context","contextKey","contextKeys","styleProp","style","fresh","resolve","shouldUpdateMarkingRender","args","originalShouldUpdate","apply","reanimatedCSSAdapter","name","gate","claim","attach","undefined","refresh","_CSSManager","update","_willUnmount"],"sourceRoot":"../../../../../src","sources":["unifiber/src/adapters/reanimated.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createOwnerRegistry = void 0;
7
+ // An adapter that throws is disabled for the session and reported once
8
+ const createOwnerRegistry = (source, adapters, onAdapterError) => {
9
+ const disabledAdapters = new Set();
10
+ const disable = (adapter, error) => {
11
+ disabledAdapters.add(adapter);
12
+ onAdapterError?.(`adapter ${adapter.name} failed: ${String(error)}`);
13
+ };
14
+ // Not inline closures: a closure in link() makes Hermes allocate its environment on every call
15
+ const attachOwner = (adapter, host) => {
16
+ try {
17
+ const owner = adapter.claim(host);
18
+ if (owner) {
19
+ adapter.attach(owner, source);
20
+ }
21
+ } catch (error) {
22
+ disable(adapter, error);
23
+ }
24
+ };
25
+ const refreshOwner = (adapter, host, seen) => {
26
+ try {
27
+ const owner = adapter.claim(host);
28
+ if (owner && !seen.has(owner)) {
29
+ seen.add(owner);
30
+ adapter.attach(owner, source);
31
+ adapter.refresh(owner, source);
32
+ }
33
+ } catch (error) {
34
+ disable(adapter, error);
35
+ }
36
+ };
37
+ return {
38
+ link(host) {
39
+ if (!host) {
40
+ return;
41
+ }
42
+ for (let i = 0; i < adapters.length; i++) {
43
+ const adapter = adapters[i];
44
+ if (adapter.gate(host) && !disabledAdapters.has(adapter)) {
45
+ attachOwner(adapter, host);
46
+ }
47
+ }
48
+ },
49
+ refresh(hosts) {
50
+ const seen = new Set();
51
+ for (let h = 0; h < hosts.length; h++) {
52
+ const host = hosts[h];
53
+ if (!host) {
54
+ continue;
55
+ }
56
+ for (let i = 0; i < adapters.length; i++) {
57
+ const adapter = adapters[i];
58
+ if (adapter.gate(host) && !disabledAdapters.has(adapter)) {
59
+ refreshOwner(adapter, host, seen);
60
+ }
61
+ }
62
+ }
63
+ }
64
+ };
65
+ };
66
+ exports.createOwnerRegistry = createOwnerRegistry;
67
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createOwnerRegistry","source","adapters","onAdapterError","disabledAdapters","Set","disable","adapter","error","add","name","String","attachOwner","host","owner","claim","attach","refreshOwner","seen","has","refresh","link","i","length","gate","hosts","h","exports"],"sourceRoot":"../../../../../src","sources":["unifiber/src/adapters/registry.ts"],"mappings":";;;;;;AA8BA;AACO,MAAMA,mBAAmB,GAAGA,CAC/BC,MAAmB,EACnBC,QAA0C,EAC1CC,cAAyC,KACzB;EAChB,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAe,CAAC;EAChD,MAAMC,OAAO,GAAGA,CAACC,OAAqB,EAAEC,KAAc,KAAK;IACvDJ,gBAAgB,CAACK,GAAG,CAACF,OAAO,CAAC;IAC7BJ,cAAc,GAAG,WAAWI,OAAO,CAACG,IAAI,YAAYC,MAAM,CAACH,KAAK,CAAC,EAAE,CAAC;EACxE,CAAC;EACD;EACA,MAAMI,WAAW,GAAGA,CAACL,OAAqB,EAAEM,IAAU,KAAK;IACvD,IAAI;MACA,MAAMC,KAAK,GAAGP,OAAO,CAACQ,KAAK,CAACF,IAAI,CAAC;MAEjC,IAAIC,KAAK,EAAE;QACPP,OAAO,CAACS,MAAM,CAACF,KAAK,EAAEb,MAAM,CAAC;MACjC;IACJ,CAAC,CAAC,OAAOO,KAAK,EAAE;MACZF,OAAO,CAACC,OAAO,EAAEC,KAAK,CAAC;IAC3B;EACJ,CAAC;EACD,MAAMS,YAAY,GAAGA,CAACV,OAAqB,EAAEM,IAAU,EAAEK,IAAiB,KAAK;IAC3E,IAAI;MACA,MAAMJ,KAAK,GAAGP,OAAO,CAACQ,KAAK,CAACF,IAAI,CAAC;MAEjC,IAAIC,KAAK,IAAI,CAACI,IAAI,CAACC,GAAG,CAACL,KAAK,CAAC,EAAE;QAC3BI,IAAI,CAACT,GAAG,CAACK,KAAK,CAAC;QACfP,OAAO,CAACS,MAAM,CAACF,KAAK,EAAEb,MAAM,CAAC;QAC7BM,OAAO,CAACa,OAAO,CAACN,KAAK,EAAEb,MAAM,CAAC;MAClC;IACJ,CAAC,CAAC,OAAOO,KAAK,EAAE;MACZF,OAAO,CAACC,OAAO,EAAEC,KAAK,CAAC;IAC3B;EACJ,CAAC;EAED,OAAO;IACHa,IAAIA,CAACR,IAAI,EAAE;MACP,IAAI,CAACA,IAAI,EAAE;QACP;MACJ;MAEA,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGpB,QAAQ,CAACqB,MAAM,EAAED,CAAC,EAAE,EAAE;QACtC,MAAMf,OAAO,GAAGL,QAAQ,CAACoB,CAAC,CAAE;QAE5B,IAAIf,OAAO,CAACiB,IAAI,CAACX,IAAI,CAAC,IAAI,CAACT,gBAAgB,CAACe,GAAG,CAACZ,OAAO,CAAC,EAAE;UACtDK,WAAW,CAACL,OAAO,EAAEM,IAAI,CAAC;QAC9B;MACJ;IACJ,CAAC;IACDO,OAAOA,CAACK,KAAK,EAAE;MACX,MAAMP,IAAI,GAAG,IAAIb,GAAG,CAAS,CAAC;MAE9B,KAAK,IAAIqB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACF,MAAM,EAAEG,CAAC,EAAE,EAAE;QACnC,MAAMb,IAAI,GAAGY,KAAK,CAACC,CAAC,CAAC;QAErB,IAAI,CAACb,IAAI,EAAE;UACP;QACJ;QAEA,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGpB,QAAQ,CAACqB,MAAM,EAAED,CAAC,EAAE,EAAE;UACtC,MAAMf,OAAO,GAAGL,QAAQ,CAACoB,CAAC,CAAE;UAE5B,IAAIf,OAAO,CAACiB,IAAI,CAACX,IAAI,CAAC,IAAI,CAACT,gBAAgB,CAACe,GAAG,CAACZ,OAAO,CAAC,EAAE;YACtDU,YAAY,CAACV,OAAO,EAAEM,IAAI,EAAEK,IAAI,CAAC;UACrC;QACJ;MACJ;IACJ;EACJ,CAAC;AACL,CAAC;AAAAS,OAAA,CAAA3B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.verify = exports.getOwners = exports.getCreationStack = void 0;
7
+ var host = _interopRequireWildcard(require("./host"));
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
+ // Bound once: Metro's inline requires
10
+ const {
11
+ committedHalf,
12
+ fiberOf
13
+ } = host;
14
+ const styleDiffers = (a, b) => a.memoizedProps?.style !== b.memoizedProps?.style;
15
+ const flattenInto = (style, out) => {
16
+ if (Array.isArray(style)) {
17
+ for (let i = 0; i < style.length; i++) {
18
+ flattenInto(style[i], out);
19
+ }
20
+ } else if (style && typeof style === 'object') {
21
+ Object.assign(out, style);
22
+ }
23
+ return out;
24
+ };
25
+ // Keys that differ from React's committed props: React re-sends them on the view's next render
26
+ const verify = (host, expected) => {
27
+ const baseline = committedHalf(fiberOf(host), styleDiffers) ?? fiberOf(host);
28
+ const react = flattenInto(baseline.memoizedProps?.style, {});
29
+ const drift = [];
30
+ for (const key in expected) {
31
+ if (react[key] !== expected[key]) {
32
+ drift.push({
33
+ key,
34
+ react: react[key],
35
+ expected: expected[key]
36
+ });
37
+ }
38
+ }
39
+ return drift;
40
+ };
41
+
42
+ // Development builds only
43
+ exports.verify = verify;
44
+ const getOwners = (host, max = 8) => {
45
+ const owners = [];
46
+ for (let owner = fiberOf(host)._debugOwner; owner && owners.length < max; owner = owner._debugOwner ?? owner.owner) {
47
+ const name = owner.name ?? owner.type?.displayName ?? owner.type?.name ?? owner.type?.render?.name;
48
+ if (name) {
49
+ owners.push(name);
50
+ }
51
+ }
52
+ return owners;
53
+ };
54
+
55
+ // Development builds only
56
+ exports.getOwners = getOwners;
57
+ const getCreationStack = host => fiberOf(host)._debugStack?.stack;
58
+ exports.getCreationStack = getCreationStack;
59
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["host","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","committedHalf","fiberOf","styleDiffers","a","b","memoizedProps","style","flattenInto","out","Array","isArray","length","assign","verify","expected","baseline","react","drift","key","push","exports","getOwners","max","owners","owner","_debugOwner","name","type","displayName","render","getCreationStack","_debugStack","stack"],"sourceRoot":"../../../../src","sources":["unifiber/src/diagnostics.ts"],"mappings":"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","ignoreList":[]}