@hanzogui/react-native-web-lite 2.0.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 (644) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/dist/cjs/AccessibilityInfo/index.cjs +97 -0
  4. package/dist/cjs/ActivityIndicator/__tests__/index-test.cjs +188 -0
  5. package/dist/cjs/ActivityIndicator/index.cjs +128 -0
  6. package/dist/cjs/Alert/index.cjs +28 -0
  7. package/dist/cjs/AppRegistry/AppContainer.cjs +70 -0
  8. package/dist/cjs/AppRegistry/__tests__/index-test.cjs +83 -0
  9. package/dist/cjs/AppRegistry/__tests__/index-test.node.cjs +155 -0
  10. package/dist/cjs/AppRegistry/index.cjs +88 -0
  11. package/dist/cjs/AppRegistry/renderApplication.cjs +69 -0
  12. package/dist/cjs/AppState/__tests__/index-test.cjs +34 -0
  13. package/dist/cjs/AppState/index.cjs +69 -0
  14. package/dist/cjs/Appearance/index.cjs +53 -0
  15. package/dist/cjs/BackHandler/index.cjs +35 -0
  16. package/dist/cjs/Clipboard/index.cjs +51 -0
  17. package/dist/cjs/DeviceEmitter.cjs +27 -0
  18. package/dist/cjs/DeviceInfo/index.cjs +68 -0
  19. package/dist/cjs/Dimensions/__tests__/index-test.cjs +54 -0
  20. package/dist/cjs/Dimensions/index.cjs +82 -0
  21. package/dist/cjs/FlatList.cjs +197 -0
  22. package/dist/cjs/I18nManager/index.cjs +34 -0
  23. package/dist/cjs/Image/index.cjs +293 -0
  24. package/dist/cjs/Image/types.cjs +16 -0
  25. package/dist/cjs/ImageBackground/__tests__/index-test.cjs +68 -0
  26. package/dist/cjs/ImageBackground/index.cjs +67 -0
  27. package/dist/cjs/InteractionManager/TaskQueue.cjs +87 -0
  28. package/dist/cjs/InteractionManager/index.cjs +114 -0
  29. package/dist/cjs/Keyboard/index.cjs +38 -0
  30. package/dist/cjs/KeyboardAvoidingView/index.cjs +68 -0
  31. package/dist/cjs/Libraries/Pressability/Pressability.cjs +26 -0
  32. package/dist/cjs/Libraries/Pressability/usePressability.cjs +26 -0
  33. package/dist/cjs/Linking/__tests__/index-test.cjs +40 -0
  34. package/dist/cjs/Linking/index.cjs +89 -0
  35. package/dist/cjs/LogBox/index.cjs +33 -0
  36. package/dist/cjs/Modal/ModalAnimation.cjs +147 -0
  37. package/dist/cjs/Modal/ModalContent.cjs +85 -0
  38. package/dist/cjs/Modal/ModalPortal.cjs +52 -0
  39. package/dist/cjs/Modal/index.cjs +26 -0
  40. package/dist/cjs/NativeModules/index.cjs +29 -0
  41. package/dist/cjs/PanResponder/index.cjs +37 -0
  42. package/dist/cjs/PixelRatio/index.cjs +57 -0
  43. package/dist/cjs/Pressable/index.cjs +144 -0
  44. package/dist/cjs/RefreshControl/index.cjs +49 -0
  45. package/dist/cjs/SafeAreaView/index.cjs +63 -0
  46. package/dist/cjs/ScrollView/ScrollViewBase.cjs +140 -0
  47. package/dist/cjs/ScrollView/index.cjs +589 -0
  48. package/dist/cjs/SectionList.cjs +39 -0
  49. package/dist/cjs/Share/index.cjs +48 -0
  50. package/dist/cjs/StatusBar/index.cjs +36 -0
  51. package/dist/cjs/Text/index.cjs +170 -0
  52. package/dist/cjs/Text/types.cjs +16 -0
  53. package/dist/cjs/TextInput/index.cjs +285 -0
  54. package/dist/cjs/TextInput/types.cjs +16 -0
  55. package/dist/cjs/TouchableNativeFeedback.cjs +26 -0
  56. package/dist/cjs/TouchableOpacity.cjs +116 -0
  57. package/dist/cjs/TouchableWithoutFeedback.cjs +91 -0
  58. package/dist/cjs/UnimplementedView.cjs +47 -0
  59. package/dist/cjs/Vibration/index.cjs +36 -0
  60. package/dist/cjs/View/index.cjs +123 -0
  61. package/dist/cjs/View/types.cjs +16 -0
  62. package/dist/cjs/VirtualizedList.cjs +39 -0
  63. package/dist/cjs/codegenNativeCommand.cjs +28 -0
  64. package/dist/cjs/codegenNativeComponent.cjs +28 -0
  65. package/dist/cjs/createElement/__tests__/index-test.cjs +765 -0
  66. package/dist/cjs/createElement/index.cjs +84 -0
  67. package/dist/cjs/createReactDOMStyle.cjs +28 -0
  68. package/dist/cjs/index.cjs +172 -0
  69. package/dist/cjs/modules/requestIdleCallback.cjs +43 -0
  70. package/dist/cjs/preprocess.cjs +30 -0
  71. package/dist/cjs/render/index.cjs +32 -0
  72. package/dist/cjs/styleTypes.cjs +16 -0
  73. package/dist/cjs/types.cjs +16 -0
  74. package/dist/cjs/useColorScheme/index.cjs +50 -0
  75. package/dist/cjs/useLocaleContext/index.cjs +26 -0
  76. package/dist/cjs/useWindowDimensions/index.cjs +51 -0
  77. package/dist/cjs/vendor/react-native/Animated/Animated.cjs +46 -0
  78. package/dist/cjs/vendor/react-native/Animated/AnimatedEvent.cjs +112 -0
  79. package/dist/cjs/vendor/react-native/Animated/AnimatedImplementation.cjs +508 -0
  80. package/dist/cjs/vendor/react-native/Animated/AnimatedMock.cjs +140 -0
  81. package/dist/cjs/vendor/react-native/Animated/AnimatedPlatformConfig.cjs +1 -0
  82. package/dist/cjs/vendor/react-native/Animated/Easing.cjs +187 -0
  83. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedHelper.cjs +314 -0
  84. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedModule.cjs +78 -0
  85. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedTurboModule.cjs +75 -0
  86. package/dist/cjs/vendor/react-native/Animated/SpringConfig.cjs +78 -0
  87. package/dist/cjs/vendor/react-native/Animated/animations/Animation.cjs +64 -0
  88. package/dist/cjs/vendor/react-native/Animated/animations/DecayAnimation.cjs +71 -0
  89. package/dist/cjs/vendor/react-native/Animated/animations/SpringAnimation.cjs +161 -0
  90. package/dist/cjs/vendor/react-native/Animated/animations/TimingAnimation.cjs +89 -0
  91. package/dist/cjs/vendor/react-native/Animated/bezier.cjs +83 -0
  92. package/dist/cjs/vendor/react-native/Animated/components/AnimatedFlatList.cjs +48 -0
  93. package/dist/cjs/vendor/react-native/Animated/components/AnimatedImage.cjs +31 -0
  94. package/dist/cjs/vendor/react-native/Animated/components/AnimatedScrollView.cjs +48 -0
  95. package/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.cjs +48 -0
  96. package/dist/cjs/vendor/react-native/Animated/components/AnimatedText.cjs +30 -0
  97. package/dist/cjs/vendor/react-native/Animated/components/AnimatedView.cjs +30 -0
  98. package/dist/cjs/vendor/react-native/Animated/createAnimatedComponent.cjs +62 -0
  99. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedAddition.cjs +60 -0
  100. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedColor.cjs +191 -0
  101. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDiffClamp.cjs +64 -0
  102. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDivision.cjs +64 -0
  103. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedInterpolation.cjs +150 -0
  104. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedModulo.cjs +58 -0
  105. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedMultiplication.cjs +60 -0
  106. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedNode.cjs +131 -0
  107. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedProps.cjs +110 -0
  108. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedStyle.cjs +104 -0
  109. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedSubtraction.cjs +60 -0
  110. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTracking.cjs +73 -0
  111. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTransform.cjs +102 -0
  112. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValue.cjs +170 -0
  113. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValueXY.cjs +96 -0
  114. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedWithChildren.cjs +61 -0
  115. package/dist/cjs/vendor/react-native/Animated/useAnimatedProps.cjs +84 -0
  116. package/dist/cjs/vendor/react-native/Batchinator/index.cjs +60 -0
  117. package/dist/cjs/vendor/react-native/EventEmitter/NativeEventEmitter.cjs +61 -0
  118. package/dist/cjs/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.cjs +29 -0
  119. package/dist/cjs/vendor/react-native/FeatureFlags.cjs +33 -0
  120. package/dist/cjs/vendor/react-native/FillRateHelper/index.cjs +139 -0
  121. package/dist/cjs/vendor/react-native/FlatList/index.cjs +263 -0
  122. package/dist/cjs/vendor/react-native/JSEventLoopWatchdog/index.cjs +78 -0
  123. package/dist/cjs/vendor/react-native/LayoutAnimation/index.cjs +112 -0
  124. package/dist/cjs/vendor/react-native/PanResponder/index.cjs +144 -0
  125. package/dist/cjs/vendor/react-native/PooledClass/index.cjs +48 -0
  126. package/dist/cjs/vendor/react-native/ReactNative/ReactNativeFeatureFlags.cjs +34 -0
  127. package/dist/cjs/vendor/react-native/SectionList/index.cjs +104 -0
  128. package/dist/cjs/vendor/react-native/StaticContainer/index.cjs +50 -0
  129. package/dist/cjs/vendor/react-native/StaticRenderer/index.cjs +49 -0
  130. package/dist/cjs/vendor/react-native/TouchHistoryMath/index.cjs +106 -0
  131. package/dist/cjs/vendor/react-native/TurboModule/RCTExport.cjs +34 -0
  132. package/dist/cjs/vendor/react-native/TurboModule/TurboModuleRegistry.cjs +36 -0
  133. package/dist/cjs/vendor/react-native/Types/CoreEventTypes.cjs +156 -0
  134. package/dist/cjs/vendor/react-native/Utilities/Platform.cjs +28 -0
  135. package/dist/cjs/vendor/react-native/Utilities/clamp.cjs +32 -0
  136. package/dist/cjs/vendor/react-native/Utilities/setAndForwardRef.cjs +38 -0
  137. package/dist/cjs/vendor/react-native/Utilities/useMergeRefs.cjs +35 -0
  138. package/dist/cjs/vendor/react-native/Utilities/useRefEffect.cjs +34 -0
  139. package/dist/cjs/vendor/react-native/ViewabilityHelper/index.cjs +143 -0
  140. package/dist/cjs/vendor/react-native/ViewabilityHelper.cjs +134 -0
  141. package/dist/cjs/vendor/react-native/VirtualizeUtils/index.cjs +106 -0
  142. package/dist/cjs/vendor/react-native/VirtualizedList/CellRenderMask.cjs +79 -0
  143. package/dist/cjs/vendor/react-native/VirtualizedList/ChildListCollection.cjs +58 -0
  144. package/dist/cjs/vendor/react-native/VirtualizedList/StateSafePureComponent.cjs +82 -0
  145. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.cjs +173 -0
  146. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.cjs +85 -0
  147. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListProps.cjs +64 -0
  148. package/dist/cjs/vendor/react-native/VirtualizedList/index.cjs +264 -0
  149. package/dist/cjs/vendor/react-native/VirtualizedSectionList/index.cjs +130 -0
  150. package/dist/cjs/vendor/react-native/deepDiffer/index.cjs +44 -0
  151. package/dist/cjs/vendor/react-native/emitter/EventEmitter.cjs +30 -0
  152. package/dist/cjs/vendor/react-native/emitter/EventSubscription.cjs +1 -0
  153. package/dist/cjs/vendor/react-native/emitter/_EmitterSubscription.cjs +54 -0
  154. package/dist/cjs/vendor/react-native/emitter/_EventEmitter.cjs +125 -0
  155. package/dist/cjs/vendor/react-native/emitter/_EventSubscription.cjs +44 -0
  156. package/dist/cjs/vendor/react-native/emitter/_EventSubscriptionVendor.cjs +82 -0
  157. package/dist/cjs/vendor/react-native/infoLog/index.cjs +32 -0
  158. package/dist/cjs/vendor/react-native/useRefEffect.cjs +34 -0
  159. package/dist/cjs/vendor/react-native/vendor/emitter/EventEmitter.cjs +88 -0
  160. package/dist/cjs/without-animated.cjs +331 -0
  161. package/dist/esm/AccessibilityInfo/index.mjs +74 -0
  162. package/dist/esm/AccessibilityInfo/index.mjs.map +1 -0
  163. package/dist/esm/ActivityIndicator/__tests__/index-test.mjs +167 -0
  164. package/dist/esm/ActivityIndicator/__tests__/index-test.mjs.map +1 -0
  165. package/dist/esm/ActivityIndicator/index.mjs +93 -0
  166. package/dist/esm/ActivityIndicator/index.mjs.map +1 -0
  167. package/dist/esm/Alert/index.mjs +5 -0
  168. package/dist/esm/Alert/index.mjs.map +1 -0
  169. package/dist/esm/AppRegistry/AppContainer.mjs +35 -0
  170. package/dist/esm/AppRegistry/AppContainer.mjs.map +1 -0
  171. package/dist/esm/AppRegistry/__tests__/index-test.mjs +62 -0
  172. package/dist/esm/AppRegistry/__tests__/index-test.mjs.map +1 -0
  173. package/dist/esm/AppRegistry/__tests__/index-test.node.mjs +134 -0
  174. package/dist/esm/AppRegistry/__tests__/index-test.node.mjs.map +1 -0
  175. package/dist/esm/AppRegistry/index.mjs +65 -0
  176. package/dist/esm/AppRegistry/index.mjs.map +1 -0
  177. package/dist/esm/AppRegistry/renderApplication.mjs +45 -0
  178. package/dist/esm/AppRegistry/renderApplication.mjs.map +1 -0
  179. package/dist/esm/AppState/__tests__/index-test.mjs +13 -0
  180. package/dist/esm/AppState/__tests__/index-test.mjs.map +1 -0
  181. package/dist/esm/AppState/index.mjs +46 -0
  182. package/dist/esm/AppState/index.mjs.map +1 -0
  183. package/dist/esm/Appearance/index.mjs +30 -0
  184. package/dist/esm/Appearance/index.mjs.map +1 -0
  185. package/dist/esm/BackHandler/index.mjs +12 -0
  186. package/dist/esm/BackHandler/index.mjs.map +1 -0
  187. package/dist/esm/Clipboard/index.mjs +28 -0
  188. package/dist/esm/Clipboard/index.mjs.map +1 -0
  189. package/dist/esm/DeviceEmitter.mjs +4 -0
  190. package/dist/esm/DeviceEmitter.mjs.map +1 -0
  191. package/dist/esm/DeviceInfo/index.mjs +45 -0
  192. package/dist/esm/DeviceInfo/index.mjs.map +1 -0
  193. package/dist/esm/Dimensions/__tests__/index-test.mjs +33 -0
  194. package/dist/esm/Dimensions/__tests__/index-test.mjs.map +1 -0
  195. package/dist/esm/Dimensions/index.mjs +58 -0
  196. package/dist/esm/Dimensions/index.mjs.map +1 -0
  197. package/dist/esm/FlatList.mjs +162 -0
  198. package/dist/esm/FlatList.mjs.map +1 -0
  199. package/dist/esm/I18nManager/index.mjs +11 -0
  200. package/dist/esm/I18nManager/index.mjs.map +1 -0
  201. package/dist/esm/Image/index.mjs +258 -0
  202. package/dist/esm/Image/index.mjs.map +1 -0
  203. package/dist/esm/Image/types.mjs +2 -0
  204. package/dist/esm/Image/types.mjs.map +1 -0
  205. package/dist/esm/ImageBackground/__tests__/index-test.mjs +47 -0
  206. package/dist/esm/ImageBackground/__tests__/index-test.mjs.map +1 -0
  207. package/dist/esm/ImageBackground/index.mjs +43 -0
  208. package/dist/esm/ImageBackground/index.mjs.map +1 -0
  209. package/dist/esm/InteractionManager/TaskQueue.mjs +64 -0
  210. package/dist/esm/InteractionManager/TaskQueue.mjs.map +1 -0
  211. package/dist/esm/InteractionManager/index.mjs +80 -0
  212. package/dist/esm/InteractionManager/index.mjs.map +1 -0
  213. package/dist/esm/Keyboard/index.mjs +15 -0
  214. package/dist/esm/Keyboard/index.mjs.map +1 -0
  215. package/dist/esm/KeyboardAvoidingView/index.mjs +33 -0
  216. package/dist/esm/KeyboardAvoidingView/index.mjs.map +1 -0
  217. package/dist/esm/Libraries/Pressability/Pressability.mjs +3 -0
  218. package/dist/esm/Libraries/Pressability/Pressability.mjs.map +1 -0
  219. package/dist/esm/Libraries/Pressability/usePressability.mjs +3 -0
  220. package/dist/esm/Libraries/Pressability/usePressability.mjs.map +1 -0
  221. package/dist/esm/Linking/__tests__/index-test.mjs +19 -0
  222. package/dist/esm/Linking/__tests__/index-test.mjs.map +1 -0
  223. package/dist/esm/Linking/index.mjs +66 -0
  224. package/dist/esm/Linking/index.mjs.map +1 -0
  225. package/dist/esm/LogBox/index.mjs +9 -0
  226. package/dist/esm/LogBox/index.mjs.map +1 -0
  227. package/dist/esm/Modal/ModalAnimation.mjs +113 -0
  228. package/dist/esm/Modal/ModalAnimation.mjs.map +1 -0
  229. package/dist/esm/Modal/ModalContent.mjs +51 -0
  230. package/dist/esm/Modal/ModalContent.mjs.map +1 -0
  231. package/dist/esm/Modal/ModalPortal.mjs +18 -0
  232. package/dist/esm/Modal/ModalPortal.mjs.map +1 -0
  233. package/dist/esm/Modal/index.mjs +3 -0
  234. package/dist/esm/Modal/index.mjs.map +1 -0
  235. package/dist/esm/NativeModules/index.mjs +6 -0
  236. package/dist/esm/NativeModules/index.mjs.map +1 -0
  237. package/dist/esm/PanResponder/index.mjs +3 -0
  238. package/dist/esm/PanResponder/index.mjs.map +1 -0
  239. package/dist/esm/PixelRatio/index.mjs +34 -0
  240. package/dist/esm/PixelRatio/index.mjs.map +1 -0
  241. package/dist/esm/Pressable/index.mjs +107 -0
  242. package/dist/esm/Pressable/index.mjs.map +1 -0
  243. package/dist/esm/RefreshControl/index.mjs +25 -0
  244. package/dist/esm/RefreshControl/index.mjs.map +1 -0
  245. package/dist/esm/SafeAreaView/index.mjs +28 -0
  246. package/dist/esm/SafeAreaView/index.mjs.map +1 -0
  247. package/dist/esm/ScrollView/ScrollViewBase.mjs +105 -0
  248. package/dist/esm/ScrollView/ScrollViewBase.mjs.map +1 -0
  249. package/dist/esm/ScrollView/index.mjs +554 -0
  250. package/dist/esm/ScrollView/index.mjs.map +1 -0
  251. package/dist/esm/SectionList.mjs +4 -0
  252. package/dist/esm/SectionList.mjs.map +1 -0
  253. package/dist/esm/Share/index.mjs +25 -0
  254. package/dist/esm/Share/index.mjs.map +1 -0
  255. package/dist/esm/StatusBar/index.mjs +12 -0
  256. package/dist/esm/StatusBar/index.mjs.map +1 -0
  257. package/dist/esm/Text/index.mjs +135 -0
  258. package/dist/esm/Text/index.mjs.map +1 -0
  259. package/dist/esm/Text/types.mjs +2 -0
  260. package/dist/esm/Text/types.mjs.map +1 -0
  261. package/dist/esm/TextInput/index.mjs +250 -0
  262. package/dist/esm/TextInput/index.mjs.map +1 -0
  263. package/dist/esm/TextInput/types.mjs +2 -0
  264. package/dist/esm/TextInput/types.mjs.map +1 -0
  265. package/dist/esm/TouchableNativeFeedback.mjs +3 -0
  266. package/dist/esm/TouchableNativeFeedback.mjs.map +1 -0
  267. package/dist/esm/TouchableOpacity.mjs +80 -0
  268. package/dist/esm/TouchableOpacity.mjs.map +1 -0
  269. package/dist/esm/TouchableWithoutFeedback.mjs +57 -0
  270. package/dist/esm/TouchableWithoutFeedback.mjs.map +1 -0
  271. package/dist/esm/UnimplementedView.mjs +13 -0
  272. package/dist/esm/UnimplementedView.mjs.map +1 -0
  273. package/dist/esm/Vibration/index.mjs +13 -0
  274. package/dist/esm/Vibration/index.mjs.map +1 -0
  275. package/dist/esm/View/index.mjs +88 -0
  276. package/dist/esm/View/index.mjs.map +1 -0
  277. package/dist/esm/View/types.mjs +2 -0
  278. package/dist/esm/View/types.mjs.map +1 -0
  279. package/dist/esm/VirtualizedList.mjs +4 -0
  280. package/dist/esm/VirtualizedList.mjs.map +1 -0
  281. package/dist/esm/codegenNativeCommand.mjs +5 -0
  282. package/dist/esm/codegenNativeCommand.mjs.map +1 -0
  283. package/dist/esm/codegenNativeComponent.mjs +5 -0
  284. package/dist/esm/codegenNativeComponent.mjs.map +1 -0
  285. package/dist/esm/createElement/__tests__/index-test.mjs +744 -0
  286. package/dist/esm/createElement/__tests__/index-test.mjs.map +1 -0
  287. package/dist/esm/createElement/index.mjs +49 -0
  288. package/dist/esm/createElement/index.mjs.map +1 -0
  289. package/dist/esm/createReactDOMStyle.mjs +4 -0
  290. package/dist/esm/createReactDOMStyle.mjs.map +1 -0
  291. package/dist/esm/index.js +61 -0
  292. package/dist/esm/index.js.map +1 -0
  293. package/dist/esm/index.mjs +61 -0
  294. package/dist/esm/index.mjs.map +1 -0
  295. package/dist/esm/modules/requestIdleCallback.mjs +19 -0
  296. package/dist/esm/modules/requestIdleCallback.mjs.map +1 -0
  297. package/dist/esm/preprocess.mjs +3 -0
  298. package/dist/esm/preprocess.mjs.map +1 -0
  299. package/dist/esm/render/index.mjs +6 -0
  300. package/dist/esm/render/index.mjs.map +1 -0
  301. package/dist/esm/styleTypes.mjs +2 -0
  302. package/dist/esm/styleTypes.mjs.map +1 -0
  303. package/dist/esm/types.mjs +2 -0
  304. package/dist/esm/types.mjs.map +1 -0
  305. package/dist/esm/useColorScheme/index.mjs +16 -0
  306. package/dist/esm/useColorScheme/index.mjs.map +1 -0
  307. package/dist/esm/useLocaleContext/index.mjs +3 -0
  308. package/dist/esm/useLocaleContext/index.mjs.map +1 -0
  309. package/dist/esm/useWindowDimensions/index.mjs +17 -0
  310. package/dist/esm/useWindowDimensions/index.mjs.map +1 -0
  311. package/dist/esm/vendor/react-native/Animated/Animated.mjs +22 -0
  312. package/dist/esm/vendor/react-native/Animated/Animated.mjs.map +1 -0
  313. package/dist/esm/vendor/react-native/Animated/AnimatedEvent.mjs +86 -0
  314. package/dist/esm/vendor/react-native/Animated/AnimatedEvent.mjs.map +1 -0
  315. package/dist/esm/vendor/react-native/Animated/AnimatedImplementation.mjs +481 -0
  316. package/dist/esm/vendor/react-native/Animated/AnimatedImplementation.mjs.map +1 -0
  317. package/dist/esm/vendor/react-native/Animated/AnimatedMock.mjs +113 -0
  318. package/dist/esm/vendor/react-native/Animated/AnimatedMock.mjs.map +1 -0
  319. package/dist/esm/vendor/react-native/Animated/AnimatedPlatformConfig.mjs +2 -0
  320. package/dist/esm/vendor/react-native/Animated/AnimatedPlatformConfig.mjs.map +1 -0
  321. package/dist/esm/vendor/react-native/Animated/Easing.mjs +161 -0
  322. package/dist/esm/vendor/react-native/Animated/Easing.mjs.map +1 -0
  323. package/dist/esm/vendor/react-native/Animated/NativeAnimatedHelper.mjs +274 -0
  324. package/dist/esm/vendor/react-native/Animated/NativeAnimatedHelper.mjs.map +1 -0
  325. package/dist/esm/vendor/react-native/Animated/NativeAnimatedModule.mjs +38 -0
  326. package/dist/esm/vendor/react-native/Animated/NativeAnimatedModule.mjs.map +1 -0
  327. package/dist/esm/vendor/react-native/Animated/NativeAnimatedTurboModule.mjs +35 -0
  328. package/dist/esm/vendor/react-native/Animated/NativeAnimatedTurboModule.mjs.map +1 -0
  329. package/dist/esm/vendor/react-native/Animated/SpringConfig.mjs +54 -0
  330. package/dist/esm/vendor/react-native/Animated/SpringConfig.mjs.map +1 -0
  331. package/dist/esm/vendor/react-native/Animated/animations/Animation.mjs +38 -0
  332. package/dist/esm/vendor/react-native/Animated/animations/Animation.mjs.map +1 -0
  333. package/dist/esm/vendor/react-native/Animated/animations/DecayAnimation.mjs +45 -0
  334. package/dist/esm/vendor/react-native/Animated/animations/DecayAnimation.mjs.map +1 -0
  335. package/dist/esm/vendor/react-native/Animated/animations/SpringAnimation.mjs +135 -0
  336. package/dist/esm/vendor/react-native/Animated/animations/SpringAnimation.mjs.map +1 -0
  337. package/dist/esm/vendor/react-native/Animated/animations/TimingAnimation.mjs +65 -0
  338. package/dist/esm/vendor/react-native/Animated/animations/TimingAnimation.mjs.map +1 -0
  339. package/dist/esm/vendor/react-native/Animated/bezier.mjs +57 -0
  340. package/dist/esm/vendor/react-native/Animated/bezier.mjs.map +1 -0
  341. package/dist/esm/vendor/react-native/Animated/components/AnimatedFlatList.mjs +13 -0
  342. package/dist/esm/vendor/react-native/Animated/components/AnimatedFlatList.mjs.map +1 -0
  343. package/dist/esm/vendor/react-native/Animated/components/AnimatedImage.mjs +7 -0
  344. package/dist/esm/vendor/react-native/Animated/components/AnimatedImage.mjs.map +1 -0
  345. package/dist/esm/vendor/react-native/Animated/components/AnimatedScrollView.mjs +13 -0
  346. package/dist/esm/vendor/react-native/Animated/components/AnimatedScrollView.mjs.map +1 -0
  347. package/dist/esm/vendor/react-native/Animated/components/AnimatedSectionList.mjs +13 -0
  348. package/dist/esm/vendor/react-native/Animated/components/AnimatedSectionList.mjs.map +1 -0
  349. package/dist/esm/vendor/react-native/Animated/components/AnimatedText.mjs +6 -0
  350. package/dist/esm/vendor/react-native/Animated/components/AnimatedText.mjs.map +1 -0
  351. package/dist/esm/vendor/react-native/Animated/components/AnimatedView.mjs +6 -0
  352. package/dist/esm/vendor/react-native/Animated/components/AnimatedView.mjs.map +1 -0
  353. package/dist/esm/vendor/react-native/Animated/createAnimatedComponent.mjs +27 -0
  354. package/dist/esm/vendor/react-native/Animated/createAnimatedComponent.mjs.map +1 -0
  355. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedAddition.mjs +34 -0
  356. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedAddition.mjs.map +1 -0
  357. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedColor.mjs +167 -0
  358. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedColor.mjs.map +1 -0
  359. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDiffClamp.mjs +40 -0
  360. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDiffClamp.mjs.map +1 -0
  361. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDivision.mjs +38 -0
  362. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDivision.mjs.map +1 -0
  363. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedInterpolation.mjs +124 -0
  364. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedInterpolation.mjs.map +1 -0
  365. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedModulo.mjs +34 -0
  366. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedModulo.mjs.map +1 -0
  367. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedMultiplication.mjs +34 -0
  368. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedMultiplication.mjs.map +1 -0
  369. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedNode.mjs +105 -0
  370. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedNode.mjs.map +1 -0
  371. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedProps.mjs +86 -0
  372. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedProps.mjs.map +1 -0
  373. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedStyle.mjs +80 -0
  374. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedStyle.mjs.map +1 -0
  375. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedSubtraction.mjs +34 -0
  376. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedSubtraction.mjs.map +1 -0
  377. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTracking.mjs +49 -0
  378. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTracking.mjs.map +1 -0
  379. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTransform.mjs +76 -0
  380. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTransform.mjs.map +1 -0
  381. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValue.mjs +144 -0
  382. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValue.mjs.map +1 -0
  383. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValueXY.mjs +72 -0
  384. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValueXY.mjs.map +1 -0
  385. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedWithChildren.mjs +35 -0
  386. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedWithChildren.mjs.map +1 -0
  387. package/dist/esm/vendor/react-native/Animated/useAnimatedProps.mjs +58 -0
  388. package/dist/esm/vendor/react-native/Animated/useAnimatedProps.mjs.map +1 -0
  389. package/dist/esm/vendor/react-native/Batchinator/index.mjs +34 -0
  390. package/dist/esm/vendor/react-native/Batchinator/index.mjs.map +1 -0
  391. package/dist/esm/vendor/react-native/EventEmitter/NativeEventEmitter.mjs +35 -0
  392. package/dist/esm/vendor/react-native/EventEmitter/NativeEventEmitter.mjs.map +1 -0
  393. package/dist/esm/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.mjs +5 -0
  394. package/dist/esm/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.mjs.map +1 -0
  395. package/dist/esm/vendor/react-native/FeatureFlags.mjs +10 -0
  396. package/dist/esm/vendor/react-native/FeatureFlags.mjs.map +1 -0
  397. package/dist/esm/vendor/react-native/FillRateHelper/index.mjs +115 -0
  398. package/dist/esm/vendor/react-native/FillRateHelper/index.mjs.map +1 -0
  399. package/dist/esm/vendor/react-native/FlatList/index.mjs +228 -0
  400. package/dist/esm/vendor/react-native/FlatList/index.mjs.map +1 -0
  401. package/dist/esm/vendor/react-native/JSEventLoopWatchdog/index.mjs +52 -0
  402. package/dist/esm/vendor/react-native/JSEventLoopWatchdog/index.mjs.map +1 -0
  403. package/dist/esm/vendor/react-native/LayoutAnimation/index.mjs +86 -0
  404. package/dist/esm/vendor/react-native/LayoutAnimation/index.mjs.map +1 -0
  405. package/dist/esm/vendor/react-native/PanResponder/index.mjs +109 -0
  406. package/dist/esm/vendor/react-native/PanResponder/index.mjs.map +1 -0
  407. package/dist/esm/vendor/react-native/PooledClass/index.mjs +24 -0
  408. package/dist/esm/vendor/react-native/PooledClass/index.mjs.map +1 -0
  409. package/dist/esm/vendor/react-native/ReactNative/ReactNativeFeatureFlags.mjs +10 -0
  410. package/dist/esm/vendor/react-native/ReactNative/ReactNativeFeatureFlags.mjs.map +1 -0
  411. package/dist/esm/vendor/react-native/SectionList/index.mjs +69 -0
  412. package/dist/esm/vendor/react-native/SectionList/index.mjs.map +1 -0
  413. package/dist/esm/vendor/react-native/StaticContainer/index.mjs +13 -0
  414. package/dist/esm/vendor/react-native/StaticContainer/index.mjs.map +1 -0
  415. package/dist/esm/vendor/react-native/StaticRenderer/index.mjs +12 -0
  416. package/dist/esm/vendor/react-native/StaticRenderer/index.mjs.map +1 -0
  417. package/dist/esm/vendor/react-native/TouchHistoryMath/index.mjs +82 -0
  418. package/dist/esm/vendor/react-native/TouchHistoryMath/index.mjs.map +1 -0
  419. package/dist/esm/vendor/react-native/TurboModule/RCTExport.mjs +8 -0
  420. package/dist/esm/vendor/react-native/TurboModule/RCTExport.mjs.map +1 -0
  421. package/dist/esm/vendor/react-native/TurboModule/TurboModuleRegistry.mjs +10 -0
  422. package/dist/esm/vendor/react-native/TurboModule/TurboModuleRegistry.mjs.map +1 -0
  423. package/dist/esm/vendor/react-native/Types/CoreEventTypes.mjs +126 -0
  424. package/dist/esm/vendor/react-native/Types/CoreEventTypes.mjs.map +1 -0
  425. package/dist/esm/vendor/react-native/Utilities/Platform.mjs +4 -0
  426. package/dist/esm/vendor/react-native/Utilities/Platform.mjs.map +1 -0
  427. package/dist/esm/vendor/react-native/Utilities/clamp.mjs +6 -0
  428. package/dist/esm/vendor/react-native/Utilities/clamp.mjs.map +1 -0
  429. package/dist/esm/vendor/react-native/Utilities/setAndForwardRef.mjs +12 -0
  430. package/dist/esm/vendor/react-native/Utilities/setAndForwardRef.mjs.map +1 -0
  431. package/dist/esm/vendor/react-native/Utilities/useMergeRefs.mjs +11 -0
  432. package/dist/esm/vendor/react-native/Utilities/useMergeRefs.mjs.map +1 -0
  433. package/dist/esm/vendor/react-native/Utilities/useRefEffect.mjs +10 -0
  434. package/dist/esm/vendor/react-native/Utilities/useRefEffect.mjs.map +1 -0
  435. package/dist/esm/vendor/react-native/ViewabilityHelper/index.mjs +117 -0
  436. package/dist/esm/vendor/react-native/ViewabilityHelper/index.mjs.map +1 -0
  437. package/dist/esm/vendor/react-native/ViewabilityHelper.mjs +110 -0
  438. package/dist/esm/vendor/react-native/ViewabilityHelper.mjs.map +1 -0
  439. package/dist/esm/vendor/react-native/VirtualizeUtils/index.mjs +80 -0
  440. package/dist/esm/vendor/react-native/VirtualizeUtils/index.mjs.map +1 -0
  441. package/dist/esm/vendor/react-native/VirtualizedList/CellRenderMask.mjs +56 -0
  442. package/dist/esm/vendor/react-native/VirtualizedList/CellRenderMask.mjs.map +1 -0
  443. package/dist/esm/vendor/react-native/VirtualizedList/ChildListCollection.mjs +34 -0
  444. package/dist/esm/vendor/react-native/VirtualizedList/ChildListCollection.mjs.map +1 -0
  445. package/dist/esm/vendor/react-native/VirtualizedList/StateSafePureComponent.mjs +47 -0
  446. package/dist/esm/vendor/react-native/VirtualizedList/StateSafePureComponent.mjs.map +1 -0
  447. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.mjs +138 -0
  448. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.mjs.map +1 -0
  449. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListContext.mjs +48 -0
  450. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListContext.mjs.map +1 -0
  451. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListProps.mjs +40 -0
  452. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListProps.mjs.map +1 -0
  453. package/dist/esm/vendor/react-native/VirtualizedList/index.mjs +240 -0
  454. package/dist/esm/vendor/react-native/VirtualizedList/index.mjs.map +1 -0
  455. package/dist/esm/vendor/react-native/VirtualizedSectionList/index.mjs +95 -0
  456. package/dist/esm/vendor/react-native/VirtualizedSectionList/index.mjs.map +1 -0
  457. package/dist/esm/vendor/react-native/deepDiffer/index.mjs +18 -0
  458. package/dist/esm/vendor/react-native/deepDiffer/index.mjs.map +1 -0
  459. package/dist/esm/vendor/react-native/emitter/EventEmitter.mjs +4 -0
  460. package/dist/esm/vendor/react-native/emitter/EventEmitter.mjs.map +1 -0
  461. package/dist/esm/vendor/react-native/emitter/EventSubscription.mjs +2 -0
  462. package/dist/esm/vendor/react-native/emitter/EventSubscription.mjs.map +1 -0
  463. package/dist/esm/vendor/react-native/emitter/_EmitterSubscription.mjs +28 -0
  464. package/dist/esm/vendor/react-native/emitter/_EmitterSubscription.mjs.map +1 -0
  465. package/dist/esm/vendor/react-native/emitter/_EventEmitter.mjs +101 -0
  466. package/dist/esm/vendor/react-native/emitter/_EventEmitter.mjs.map +1 -0
  467. package/dist/esm/vendor/react-native/emitter/_EventSubscription.mjs +18 -0
  468. package/dist/esm/vendor/react-native/emitter/_EventSubscription.mjs.map +1 -0
  469. package/dist/esm/vendor/react-native/emitter/_EventSubscriptionVendor.mjs +56 -0
  470. package/dist/esm/vendor/react-native/emitter/_EventSubscriptionVendor.mjs.map +1 -0
  471. package/dist/esm/vendor/react-native/infoLog/index.mjs +6 -0
  472. package/dist/esm/vendor/react-native/infoLog/index.mjs.map +1 -0
  473. package/dist/esm/vendor/react-native/useRefEffect.mjs +10 -0
  474. package/dist/esm/vendor/react-native/useRefEffect.mjs.map +1 -0
  475. package/dist/esm/vendor/react-native/vendor/emitter/EventEmitter.mjs +62 -0
  476. package/dist/esm/vendor/react-native/vendor/emitter/EventEmitter.mjs.map +1 -0
  477. package/dist/esm/without-animated.mjs +219 -0
  478. package/dist/esm/without-animated.mjs.map +1 -0
  479. package/package.json +125 -0
  480. package/src/AccessibilityInfo/index.tsx +113 -0
  481. package/src/ActivityIndicator/__tests__/__snapshots__/index-test.js.snap +466 -0
  482. package/src/ActivityIndicator/__tests__/index-test.tsx +147 -0
  483. package/src/ActivityIndicator/index.tsx +116 -0
  484. package/src/Alert/index.tsx +12 -0
  485. package/src/AppRegistry/AppContainer.tsx +54 -0
  486. package/src/AppRegistry/__tests__/index-test.node.tsx +144 -0
  487. package/src/AppRegistry/__tests__/index-test.tsx +94 -0
  488. package/src/AppRegistry/index.tsx +156 -0
  489. package/src/AppRegistry/renderApplication.tsx +75 -0
  490. package/src/AppState/__tests__/index-test.tsx +24 -0
  491. package/src/AppState/index.tsx +92 -0
  492. package/src/Appearance/index.tsx +59 -0
  493. package/src/BackHandler/index.tsx +23 -0
  494. package/src/Clipboard/index.tsx +61 -0
  495. package/src/DeviceEmitter.ts +3 -0
  496. package/src/DeviceInfo/index.tsx +55 -0
  497. package/src/Dimensions/__tests__/index-test.tsx +54 -0
  498. package/src/Dimensions/index.tsx +129 -0
  499. package/src/FlatList.tsx +331 -0
  500. package/src/I18nManager/index.tsx +31 -0
  501. package/src/Image/index.tsx +401 -0
  502. package/src/Image/types.tsx +112 -0
  503. package/src/ImageBackground/__tests__/index-test.tsx +49 -0
  504. package/src/ImageBackground/index.tsx +66 -0
  505. package/src/InteractionManager/TaskQueue.tsx +112 -0
  506. package/src/InteractionManager/index.tsx +140 -0
  507. package/src/Keyboard/index.tsx +24 -0
  508. package/src/KeyboardAvoidingView/index.tsx +55 -0
  509. package/src/Libraries/Pressability/Pressability.ts +2 -0
  510. package/src/Libraries/Pressability/usePressability.ts +2 -0
  511. package/src/Linking/__tests__/index-test.tsx +37 -0
  512. package/src/Linking/index.tsx +113 -0
  513. package/src/LogBox/index.tsx +17 -0
  514. package/src/Modal/ModalAnimation.js +178 -0
  515. package/src/Modal/ModalContent.js +73 -0
  516. package/src/Modal/ModalPortal.js +40 -0
  517. package/src/Modal/index.js +1 -0
  518. package/src/NativeModules/index.tsx +15 -0
  519. package/src/PanResponder/Alternative.tsx +385 -0
  520. package/src/PanResponder/index.tsx +1 -0
  521. package/src/PixelRatio/index.tsx +49 -0
  522. package/src/Pressable/__tests__/__snapshots__/index-test.js.snap +196 -0
  523. package/src/Pressable/index.tsx +236 -0
  524. package/src/RefreshControl/index.tsx +50 -0
  525. package/src/SafeAreaView/index.tsx +48 -0
  526. package/src/ScrollView/ScrollViewBase.tsx +183 -0
  527. package/src/ScrollView/__tests__/__snapshots__/index-test.js.snap +49 -0
  528. package/src/ScrollView/index.tsx +892 -0
  529. package/src/SectionList.tsx +9 -0
  530. package/src/Share/index.tsx +69 -0
  531. package/src/StatusBar/index.tsx +22 -0
  532. package/src/Text/__tests__/__snapshots__/index-test.js.snap +218 -0
  533. package/src/Text/index.tsx +208 -0
  534. package/src/Text/types.tsx +96 -0
  535. package/src/TextInput/index.tsx +453 -0
  536. package/src/TextInput/types.tsx +74 -0
  537. package/src/TouchableNativeFeedback.tsx +8 -0
  538. package/src/TouchableOpacity.tsx +150 -0
  539. package/src/TouchableWithoutFeedback.tsx +95 -0
  540. package/src/UnimplementedView.tsx +13 -0
  541. package/src/Vibration/index.tsx +26 -0
  542. package/src/View/index.tsx +139 -0
  543. package/src/View/types.tsx +170 -0
  544. package/src/VirtualizedList.tsx +9 -0
  545. package/src/codegenNativeCommand.ts +6 -0
  546. package/src/codegenNativeComponent.ts +6 -0
  547. package/src/createElement/__tests__/__snapshots__/index-test.js.snap +13 -0
  548. package/src/createElement/__tests__/index-test.tsx +647 -0
  549. package/src/createElement/index.tsx +92 -0
  550. package/src/createReactDOMStyle.ts +4 -0
  551. package/src/index.tsx +111 -0
  552. package/src/modules/requestIdleCallback.ts +32 -0
  553. package/src/preprocess.ts +7 -0
  554. package/src/render/index.tsx +16 -0
  555. package/src/styleTypes.ts +321 -0
  556. package/src/types.ts +77 -0
  557. package/src/useColorScheme/index.tsx +28 -0
  558. package/src/useLocaleContext/index.tsx +10 -0
  559. package/src/useWindowDimensions/index.tsx +34 -0
  560. package/src/vendor/react-native/Animated/Animated.js +33 -0
  561. package/src/vendor/react-native/Animated/AnimatedEvent.js +199 -0
  562. package/src/vendor/react-native/Animated/AnimatedImplementation.js +649 -0
  563. package/src/vendor/react-native/Animated/AnimatedMock.js +155 -0
  564. package/src/vendor/react-native/Animated/AnimatedPlatformConfig.js +11 -0
  565. package/src/vendor/react-native/Animated/Easing.js +249 -0
  566. package/src/vendor/react-native/Animated/NativeAnimatedHelper.js +525 -0
  567. package/src/vendor/react-native/Animated/NativeAnimatedModule.js +57 -0
  568. package/src/vendor/react-native/Animated/NativeAnimatedTurboModule.js +53 -0
  569. package/src/vendor/react-native/Animated/SpringConfig.js +88 -0
  570. package/src/vendor/react-native/Animated/animations/Animation.js +66 -0
  571. package/src/vendor/react-native/Animated/animations/DecayAnimation.js +88 -0
  572. package/src/vendor/react-native/Animated/animations/SpringAnimation.js +291 -0
  573. package/src/vendor/react-native/Animated/animations/TimingAnimation.js +133 -0
  574. package/src/vendor/react-native/Animated/bezier.js +142 -0
  575. package/src/vendor/react-native/Animated/components/AnimatedFlatList.jsx +24 -0
  576. package/src/vendor/react-native/Animated/components/AnimatedImage.js +17 -0
  577. package/src/vendor/react-native/Animated/components/AnimatedScrollView.jsx +24 -0
  578. package/src/vendor/react-native/Animated/components/AnimatedSectionList.jsx +24 -0
  579. package/src/vendor/react-native/Animated/components/AnimatedText.js +15 -0
  580. package/src/vendor/react-native/Animated/components/AnimatedView.js +15 -0
  581. package/src/vendor/react-native/Animated/createAnimatedComponent.jsx +39 -0
  582. package/src/vendor/react-native/Animated/nodes/AnimatedAddition.js +60 -0
  583. package/src/vendor/react-native/Animated/nodes/AnimatedColor.js +293 -0
  584. package/src/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js +67 -0
  585. package/src/vendor/react-native/Animated/nodes/AnimatedDivision.js +78 -0
  586. package/src/vendor/react-native/Animated/nodes/AnimatedInterpolation.jsx +327 -0
  587. package/src/vendor/react-native/Animated/nodes/AnimatedModulo.js +56 -0
  588. package/src/vendor/react-native/Animated/nodes/AnimatedMultiplication.js +59 -0
  589. package/src/vendor/react-native/Animated/nodes/AnimatedNode.js +190 -0
  590. package/src/vendor/react-native/Animated/nodes/AnimatedProps.js +160 -0
  591. package/src/vendor/react-native/Animated/nodes/AnimatedStyle.js +137 -0
  592. package/src/vendor/react-native/Animated/nodes/AnimatedSubtraction.js +60 -0
  593. package/src/vendor/react-native/Animated/nodes/AnimatedTracking.js +90 -0
  594. package/src/vendor/react-native/Animated/nodes/AnimatedTransform.js +122 -0
  595. package/src/vendor/react-native/Animated/nodes/AnimatedValue.js +292 -0
  596. package/src/vendor/react-native/Animated/nodes/AnimatedValueXY.js +108 -0
  597. package/src/vendor/react-native/Animated/nodes/AnimatedWithChildren.js +89 -0
  598. package/src/vendor/react-native/Animated/useAnimatedProps.js +173 -0
  599. package/src/vendor/react-native/Batchinator/index.js +77 -0
  600. package/src/vendor/react-native/EventEmitter/NativeEventEmitter.js +85 -0
  601. package/src/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js +22 -0
  602. package/src/vendor/react-native/FeatureFlags.js +8 -0
  603. package/src/vendor/react-native/FillRateHelper/index.js +213 -0
  604. package/src/vendor/react-native/FlatList/index.jsx +518 -0
  605. package/src/vendor/react-native/JSEventLoopWatchdog/index.js +85 -0
  606. package/src/vendor/react-native/LayoutAnimation/index.js +119 -0
  607. package/src/vendor/react-native/PanResponder/index.js +243 -0
  608. package/src/vendor/react-native/PooledClass/index.js +62 -0
  609. package/src/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js +20 -0
  610. package/src/vendor/react-native/SHA +2 -0
  611. package/src/vendor/react-native/SectionList/index.jsx +100 -0
  612. package/src/vendor/react-native/StaticContainer/index.js +43 -0
  613. package/src/vendor/react-native/StaticRenderer/index.js +26 -0
  614. package/src/vendor/react-native/TouchHistoryMath/index.js +137 -0
  615. package/src/vendor/react-native/TurboModule/RCTExport.js +37 -0
  616. package/src/vendor/react-native/TurboModule/TurboModuleRegistry.js +27 -0
  617. package/src/vendor/react-native/Types/CoreEventTypes.js +151 -0
  618. package/src/vendor/react-native/Utilities/Platform.js +3 -0
  619. package/src/vendor/react-native/Utilities/clamp.js +24 -0
  620. package/src/vendor/react-native/Utilities/setAndForwardRef.js +62 -0
  621. package/src/vendor/react-native/Utilities/useMergeRefs.js +40 -0
  622. package/src/vendor/react-native/Utilities/useRefEffect.js +44 -0
  623. package/src/vendor/react-native/ViewabilityHelper/index.js +251 -0
  624. package/src/vendor/react-native/ViewabilityHelper.ts +293 -0
  625. package/src/vendor/react-native/VirtualizeUtils/index.js +204 -0
  626. package/src/vendor/react-native/VirtualizedList/CellRenderMask.js +135 -0
  627. package/src/vendor/react-native/VirtualizedList/ChildListCollection.js +75 -0
  628. package/src/vendor/react-native/VirtualizedList/StateSafePureComponent.js +82 -0
  629. package/src/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.jsx +184 -0
  630. package/src/vendor/react-native/VirtualizedList/VirtualizedListContext.jsx +96 -0
  631. package/src/vendor/react-native/VirtualizedList/VirtualizedListProps.js +46 -0
  632. package/src/vendor/react-native/VirtualizedList/index.jsx +378 -0
  633. package/src/vendor/react-native/VirtualizedSectionList/index.jsx +149 -0
  634. package/src/vendor/react-native/deepDiffer/index.js +69 -0
  635. package/src/vendor/react-native/emitter/EventEmitter.js +14 -0
  636. package/src/vendor/react-native/emitter/EventSubscription.js +12 -0
  637. package/src/vendor/react-native/emitter/_EmitterSubscription.js +47 -0
  638. package/src/vendor/react-native/emitter/_EventEmitter.js +175 -0
  639. package/src/vendor/react-native/emitter/_EventSubscription.js +34 -0
  640. package/src/vendor/react-native/emitter/_EventSubscriptionVendor.js +96 -0
  641. package/src/vendor/react-native/infoLog/index.js +21 -0
  642. package/src/vendor/react-native/useRefEffect.js +44 -0
  643. package/src/vendor/react-native/vendor/emitter/EventEmitter.js +121 -0
  644. package/src/without-animated.tsx +288 -0
@@ -0,0 +1,401 @@
1
+ /**
2
+ * Copyright (c) Nicolas Gallagher.
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * @flow
9
+ */
10
+
11
+ import * as React from 'react'
12
+ import {
13
+ StyleSheet,
14
+ TextAncestorContext,
15
+ createBoxShadowValue,
16
+ } from '@hanzogui/react-native-web-internals'
17
+ import { ImageLoader, getAssetByID } from '@hanzogui/react-native-web-internals'
18
+
19
+ import { createElement } from '../createElement/index'
20
+ import { PixelRatio } from '../PixelRatio/index'
21
+ import { View } from '../View/index'
22
+ import type { ImageProps } from './types'
23
+
24
+ export type { ImageProps }
25
+
26
+ const ERRORED = 'ERRORED'
27
+ const LOADED = 'LOADED'
28
+ const LOADING = 'LOADING'
29
+ const IDLE = 'IDLE'
30
+
31
+ let _filterId = 0
32
+ const svgDataUriPattern = /^(data:image\/svg\+xml;utf8,)(.*)/
33
+
34
+ function createTintColorSVG(tintColor, id) {
35
+ return tintColor && id != null ? (
36
+ <svg
37
+ style={{
38
+ position: 'absolute',
39
+ height: 0,
40
+ visibility: 'hidden',
41
+ width: 0,
42
+ }}
43
+ >
44
+ <defs>
45
+ {/* @ts-ignore */}
46
+ <filter id={`tint-${id}`} suppressHydrationWarning={true}>
47
+ <feFlood floodColor={`${tintColor}`} key={tintColor} />
48
+ <feComposite in2="SourceAlpha" operator="atop" />
49
+ </filter>
50
+ </defs>
51
+ </svg>
52
+ ) : null
53
+ }
54
+
55
+ function getFlatStyle(style, blurRadius, filterId) {
56
+ const flatStyle = StyleSheet.flatten(style)
57
+ const { filter, resizeMode, shadowOffset, tintColor } = flatStyle
58
+
59
+ // Add CSS filters
60
+ // React Native exposes these features as props and proprietary styles
61
+ const filters: any[] = []
62
+ let _filter: any = null
63
+
64
+ if (filter) {
65
+ filters.push(filter)
66
+ }
67
+ if (blurRadius) {
68
+ filters.push(`blur(${blurRadius}px)`)
69
+ }
70
+ if (shadowOffset) {
71
+ const shadowString = createBoxShadowValue(flatStyle)
72
+ if (shadowString) {
73
+ filters.push(`drop-shadow(${shadowString})`)
74
+ }
75
+ }
76
+ if (tintColor && filterId != null) {
77
+ filters.push(`url(#tint-${filterId})`)
78
+ }
79
+
80
+ if (filters.length > 0) {
81
+ _filter = filters.join(' ')
82
+ }
83
+
84
+ // These styles are converted to CSS filters applied to the
85
+ // element displaying the background image.
86
+ delete flatStyle.blurRadius
87
+ delete flatStyle.shadowColor
88
+ delete flatStyle.shadowOpacity
89
+ delete flatStyle.shadowOffset
90
+ delete flatStyle.shadowRadius
91
+ delete flatStyle.tintColor
92
+ // These styles are not supported on View
93
+ delete flatStyle.overlayColor
94
+ delete flatStyle.resizeMode
95
+
96
+ return [flatStyle, resizeMode, _filter, tintColor]
97
+ }
98
+
99
+ function resolveAssetDimensions(source) {
100
+ if (typeof source === 'number') {
101
+ const { height, width } = getAssetByID(source)
102
+ return { height, width }
103
+ } else if (source != null && !Array.isArray(source) && typeof source === 'object') {
104
+ const { height, width } = source
105
+ return { height, width }
106
+ }
107
+ }
108
+
109
+ function resolveAssetUri(source): string | null {
110
+ let uri: string | null = null
111
+ if (typeof source === 'number') {
112
+ // get the URI from the packager
113
+ const asset = getAssetByID(source)
114
+ let scale = asset.scales[0]
115
+ if (asset.scales.length > 1) {
116
+ const preferredScale = PixelRatio.get()
117
+ // Get the scale which is closest to the preferred scale
118
+ scale = asset.scales.reduce((prev, curr) =>
119
+ Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev
120
+ )
121
+ }
122
+ const scaleSuffix = scale !== 1 ? `@${scale}x` : ''
123
+ uri = asset
124
+ ? `${asset.httpServerLocation}/${asset.name}${scaleSuffix}.${asset.type}`
125
+ : ''
126
+ } else if (typeof source === 'string') {
127
+ uri = source
128
+ } else if (source && typeof source.uri === 'string') {
129
+ uri = source.uri
130
+ }
131
+
132
+ if (uri) {
133
+ const match = uri.match(svgDataUriPattern)
134
+ // inline SVG markup may contain characters (e.g., #, ") that need to be escaped
135
+ if (match) {
136
+ const [, prefix, svg] = match
137
+ const encodedSvg = encodeURIComponent(svg)
138
+ return `${prefix}${encodedSvg}`
139
+ }
140
+ }
141
+
142
+ return uri
143
+ }
144
+
145
+ interface ImageStatics {
146
+ getSize: (
147
+ uri: string,
148
+ success: (width: number, height: number) => void,
149
+ failure: () => void
150
+ ) => void
151
+ prefetch: (uri: string) => Promise<void>
152
+ queryCache: (uris: Array<string>) => Promise<{ [uri: string]: 'disk/memory' }>
153
+ }
154
+
155
+ const Image = React.forwardRef<typeof View, ImageProps>((props, ref) => {
156
+ const {
157
+ accessibilityLabel,
158
+ blurRadius,
159
+ defaultSource,
160
+ draggable,
161
+ onError,
162
+ onLayout,
163
+ onLoad,
164
+ onLoadEnd,
165
+ onLoadStart,
166
+ pointerEvents,
167
+ source,
168
+ style,
169
+ ...rest
170
+ } = props
171
+
172
+ if (process.env.NODE_ENV !== 'production') {
173
+ if (props.children) {
174
+ throw new Error(
175
+ 'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.'
176
+ )
177
+ }
178
+ }
179
+
180
+ const [state, updateState] = React.useState(() => {
181
+ const uri = resolveAssetUri(source)
182
+ if (uri != null) {
183
+ const isLoaded = ImageLoader.has(uri)
184
+ if (isLoaded) {
185
+ return LOADED
186
+ }
187
+ }
188
+ return IDLE
189
+ })
190
+
191
+ const [layout, updateLayout] = React.useState({})
192
+ const hasTextAncestor = React.useContext(TextAncestorContext)
193
+ const hiddenImageRef = React.useRef(null)
194
+ const filterRef = React.useRef(_filterId++)
195
+ const requestRef = React.useRef(null)
196
+ const shouldDisplaySource =
197
+ state === LOADED || (state === LOADING && defaultSource == null)
198
+ const [flatStyle, _resizeMode, filter, tintColor] = getFlatStyle(
199
+ {},
200
+ blurRadius,
201
+ filterRef.current
202
+ )
203
+
204
+ const resizeMode = props.resizeMode || _resizeMode || 'cover'
205
+ const selectedSource = shouldDisplaySource ? source : defaultSource
206
+ const displayImageUri = resolveAssetUri(selectedSource)
207
+ const imageSizeStyle = resolveAssetDimensions(selectedSource)
208
+ const backgroundImage = displayImageUri ? `url("${displayImageUri}")` : null
209
+ const backgroundSize = getBackgroundSize()
210
+
211
+ // Accessibility image allows users to trigger the browser's image context menu
212
+ const hiddenImage = displayImageUri
213
+ ? createElement('img', {
214
+ alt: accessibilityLabel || '',
215
+ style: styles.accessibilityImage$raw,
216
+ draggable: draggable || false,
217
+ ref: hiddenImageRef,
218
+ src: displayImageUri,
219
+ })
220
+ : null
221
+
222
+ function getBackgroundSize(): string | undefined {
223
+ if (
224
+ hiddenImageRef.current != null &&
225
+ (resizeMode === 'center' || resizeMode === 'repeat')
226
+ ) {
227
+ const { naturalHeight, naturalWidth } = hiddenImageRef.current
228
+ const { height, width } = layout as any
229
+ if (naturalHeight && naturalWidth && height && width) {
230
+ const scaleFactor = Math.min(1, width / naturalWidth, height / naturalHeight)
231
+ const x = Math.ceil(scaleFactor * naturalWidth)
232
+ const y = Math.ceil(scaleFactor * naturalHeight)
233
+ return `${x}px ${y}px`
234
+ }
235
+ }
236
+ }
237
+
238
+ function handleLayout(e) {
239
+ if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {
240
+ const { layout } = e.nativeEvent
241
+ onLayout && onLayout(e)
242
+ updateLayout(layout)
243
+ }
244
+ }
245
+
246
+ // Image loading
247
+ const uri = resolveAssetUri(source)
248
+ React.useEffect(() => {
249
+ abortPendingRequest()
250
+
251
+ if (uri != null) {
252
+ updateState(LOADING)
253
+ if (onLoadStart) {
254
+ // @ts-ignore
255
+ onLoadStart()
256
+ }
257
+
258
+ // @ts-ignore
259
+ requestRef.current = ImageLoader.load(
260
+ uri,
261
+ function load(e) {
262
+ updateState(LOADED)
263
+ if (onLoad) {
264
+ onLoad(e)
265
+ }
266
+ if (onLoadEnd) {
267
+ // @ts-ignore
268
+ onLoadEnd()
269
+ }
270
+ },
271
+ function error() {
272
+ updateState(ERRORED)
273
+ if (onError) {
274
+ onError({
275
+ nativeEvent: {
276
+ error: `Failed to load resource ${uri} (404)`,
277
+ },
278
+ })
279
+ }
280
+ if (onLoadEnd) {
281
+ // @ts-ignore
282
+ onLoadEnd()
283
+ }
284
+ }
285
+ )
286
+ }
287
+
288
+ function abortPendingRequest() {
289
+ if (requestRef.current != null) {
290
+ ImageLoader.abort(requestRef.current)
291
+ requestRef.current = null
292
+ }
293
+ }
294
+
295
+ return abortPendingRequest
296
+ }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart])
297
+
298
+ return (
299
+ <View
300
+ {...rest}
301
+ aria-label={accessibilityLabel}
302
+ onLayout={handleLayout}
303
+ pointerEvents={pointerEvents}
304
+ ref={ref as any}
305
+ style={[
306
+ style,
307
+ styles.root,
308
+ hasTextAncestor && styles.inline,
309
+ imageSizeStyle,
310
+ flatStyle,
311
+ ]}
312
+ >
313
+ <View
314
+ style={[
315
+ ...[].concat(styles.image),
316
+ resizeModeStyles[resizeMode],
317
+ { backgroundImage, filter },
318
+ backgroundSize != null && { backgroundSize },
319
+ ]}
320
+ // @ts-ignore
321
+ suppressHydrationWarning={true}
322
+ />
323
+ {hiddenImage}
324
+ {createTintColorSVG(tintColor, filterRef.current)}
325
+ </View>
326
+ )
327
+ })
328
+
329
+ Image.displayName = 'Image'
330
+
331
+ const ImageWithStatics = Image
332
+
333
+ // @ts-ignore
334
+ ImageWithStatics.getSize = function (uri, success, failure) {
335
+ ImageLoader.getSize(uri, success, failure)
336
+ }
337
+
338
+ // @ts-ignore
339
+ ImageWithStatics.prefetch = function (uri) {
340
+ return ImageLoader.prefetch(uri)
341
+ }
342
+
343
+ // @ts-ignore
344
+ ImageWithStatics.queryCache = function (uris) {
345
+ return ImageLoader.queryCache(uris)
346
+ }
347
+
348
+ const styles = StyleSheet.create({
349
+ root: {
350
+ flexBasis: 'auto',
351
+ overflow: 'hidden',
352
+ zIndex: 0,
353
+ },
354
+ inline: {
355
+ display: 'inline-flex',
356
+ },
357
+ image: {
358
+ ...StyleSheet.absoluteFillObject,
359
+ backgroundColor: 'transparent',
360
+ backgroundPosition: 'center',
361
+ backgroundRepeat: 'no-repeat',
362
+ backgroundSize: 'cover',
363
+ height: '100%',
364
+ width: '100%',
365
+ zIndex: -1,
366
+ },
367
+ accessibilityImage$raw: {
368
+ ...StyleSheet.absoluteFillObject,
369
+ height: '100%',
370
+ opacity: 0,
371
+ width: '100%',
372
+ zIndex: -1,
373
+ },
374
+ })
375
+
376
+ const resizeModeStyles = StyleSheet.create({
377
+ center: {
378
+ backgroundSize: 'auto',
379
+ },
380
+ contain: {
381
+ backgroundSize: 'contain',
382
+ },
383
+ cover: {
384
+ backgroundSize: 'cover',
385
+ },
386
+ none: {
387
+ backgroundPosition: '0',
388
+ backgroundSize: 'auto',
389
+ },
390
+ repeat: {
391
+ backgroundPosition: '0',
392
+ backgroundRepeat: 'repeat',
393
+ backgroundSize: 'auto',
394
+ },
395
+ stretch: {
396
+ backgroundSize: '100% 100%',
397
+ },
398
+ })
399
+
400
+ export { ImageWithStatics as Image }
401
+ export default ImageWithStatics
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Copyright (c) Nicolas Gallagher.
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * @flow
9
+ */
10
+
11
+ import type {
12
+ AnimationStyles,
13
+ BorderStyles,
14
+ InteractionStyles,
15
+ LayoutStyles,
16
+ ShadowStyles,
17
+ TransformStyles,
18
+ } from '../styleTypes'
19
+ import type { ColorValue, GenericStyleProp } from '../types'
20
+ import type { ViewProps } from '../View/types'
21
+
22
+ type SourceObject = {
23
+ /**
24
+ * `body` is the HTTP body to send with the request. This must be a valid
25
+ * UTF-8 string, and will be sent exactly as specified, with no
26
+ * additional encoding (e.g. URL-escaping or base64) applied.
27
+ */
28
+ body?: string
29
+ /**
30
+ * `cache` determines how the requests handles potentially cached
31
+ * responses.
32
+ *
33
+ * - `default`: Use the native platforms default strategy. `useProtocolCachePolicy` on iOS.
34
+ *
35
+ * - `reload`: The data for the URL will be loaded from the originating source.
36
+ * No existing cache data should be used to satisfy a URL load request.
37
+ *
38
+ * - `force-cache`: The existing cached data will be used to satisfy the request,
39
+ * regardless of its age or expiration date. If there is no existing data in the cache
40
+ * corresponding the request, the data is loaded from the originating source.
41
+ *
42
+ * - `only-if-cached`: The existing cache data will be used to satisfy a request, regardless of
43
+ * its age or expiration date. If there is no existing data in the cache corresponding
44
+ * to a URL load request, no attempt is made to load the data from the originating source,
45
+ * and the load is considered to have failed.
46
+ *
47
+ * @platform ios
48
+ */
49
+ cache?: 'default' | 'reload' | 'force-cache' | 'only-if-cached'
50
+ /**
51
+ * `headers` is an object representing the HTTP headers to send along with the
52
+ * request for a remote image.
53
+ */
54
+ headers?: {
55
+ [K in string]: string
56
+ }
57
+ /**
58
+ * `method` is the HTTP Method to use. Defaults to GET if not specified.
59
+ */
60
+ method?: string
61
+ /**
62
+ * `scale` is used to indicate the scale factor of the image. Defaults to 1.0 if
63
+ * unspecified, meaning that one image pixel equates to one display point / DIP.
64
+ */
65
+ scale?: number
66
+ /**
67
+ * `uri` is a string representing the resource identifier for the image, which
68
+ * could be an http address, a local file path, or the name of a static image
69
+ * resource (which should be wrapped in the `require('./path/to/image.png')`
70
+ * function).
71
+ */
72
+ uri: string
73
+ /**
74
+ * `width` and `height` can be specified if known at build time, in which case
75
+ * these will be used to set the default `<Image/>` component dimensions.
76
+ */
77
+ height?: number
78
+ width?: number
79
+ }
80
+
81
+ export type ResizeMode = 'center' | 'contain' | 'cover' | 'none' | 'repeat' | 'stretch'
82
+
83
+ export type Source = number | string | SourceObject | Array<SourceObject>
84
+
85
+ export type ImageStyle = {
86
+ backgroundColor?: ColorValue
87
+ boxShadow?: string
88
+ filter?: string
89
+ opacity?: number
90
+ resizeMode?: ResizeMode
91
+ tintColor?: ColorValue
92
+ } & AnimationStyles &
93
+ BorderStyles &
94
+ InteractionStyles &
95
+ LayoutStyles &
96
+ ShadowStyles &
97
+ TransformStyles
98
+
99
+ export type ImageProps = {
100
+ blurRadius?: number
101
+ defaultSource?: Source
102
+ draggable?: boolean
103
+ onError?: (e: any) => void
104
+ onLayout?: (e: any) => void
105
+ onLoad?: (e: any) => void
106
+ onLoadEnd?: (e: any) => void
107
+ onLoadStart?: (e: any) => void
108
+ onProgress?: (e: any) => void
109
+ resizeMode?: ResizeMode
110
+ source?: Source
111
+ style?: GenericStyleProp<ImageStyle>
112
+ } & ViewProps
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Copyright (c) Nicolas Gallagher.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { render } from '@testing-library/react'
9
+ import React from 'react'
10
+
11
+ import Text from '../../Text'
12
+ import ImageBackground from '..'
13
+
14
+ function findImage(container) {
15
+ return container.firstChild.firstChild
16
+ }
17
+
18
+ describe('components/ImageBackground', () => {
19
+ describe('prop "children"', () => {
20
+ test('render child content', () => {
21
+ const { getByText } = render(
22
+ <ImageBackground>
23
+ <Text>Hello World!</Text>
24
+ </ImageBackground>
25
+ )
26
+ expect(getByText('Hello World!')).toBeDefined()
27
+ })
28
+ })
29
+
30
+ describe('prop "imageStyle"', () => {
31
+ test('sets the style of the underlying Image', () => {
32
+ const imageStyle = { width: 40, height: 60 }
33
+ const { container } = render(<ImageBackground imageStyle={imageStyle} />)
34
+ expect(
35
+ findImage(container).getAttribute('style').includes('width: 40px; height: 60px;')
36
+ ).toBe(true)
37
+ })
38
+ })
39
+
40
+ describe('prop "style"', () => {
41
+ test('sets the style of the container View', () => {
42
+ const style = { margin: 40 }
43
+ const { container } = render(<ImageBackground style={style} />)
44
+ expect(container.firstChild.getAttribute('style')).toEqual(
45
+ 'margin: 40px 40px 40px 40px;'
46
+ )
47
+ })
48
+ })
49
+ })
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow
8
+ */
9
+
10
+ import * as React from 'react'
11
+ import { forwardRef } from 'react'
12
+ import { StyleSheet } from '@hanzogui/react-native-web-internals'
13
+
14
+ import type { ImageProps } from '../Image/index'
15
+ import { Image } from '../Image/index'
16
+ import type { ViewProps } from '../View/index'
17
+ import { View } from '../View/index'
18
+
19
+ type ImageBackgroundProps = ImageProps & {
20
+ imageRef?: any
21
+ imageStyle?: ImageProps['style']
22
+ style?: ViewProps['style']
23
+ }
24
+
25
+ const emptyObject = {}
26
+
27
+ /**
28
+ * Very simple drop-in replacement for <Image> which supports nesting views.
29
+ */
30
+ const ImageBackground = forwardRef<React.ElementRef<typeof View>, ImageBackgroundProps>(
31
+ (props, forwardedRef) => {
32
+ const { children, style = emptyObject, imageStyle, imageRef, ...rest } = props
33
+ const { height, width } = StyleSheet.flatten(style)
34
+
35
+ return (
36
+ <View ref={forwardedRef} style={style}>
37
+ <Image
38
+ {...rest}
39
+ ref={imageRef}
40
+ style={[
41
+ {
42
+ // Temporary Workaround:
43
+ // Current (imperfect yet) implementation of <Image> overwrites width and height styles
44
+ // (which is not quite correct), and these styles conflict with explicitly set styles
45
+ // of <ImageBackground> and with our internal layout model here.
46
+ // So, we have to proxy/reapply these styles explicitly for actual <Image> component.
47
+ // This workaround should be removed after implementing proper support of
48
+ // intrinsic content size of the <Image>.
49
+ width,
50
+ height,
51
+ zIndex: -1,
52
+ },
53
+ StyleSheet.absoluteFill,
54
+ imageStyle,
55
+ ]}
56
+ />
57
+ {children}
58
+ </View>
59
+ )
60
+ }
61
+ )
62
+
63
+ ImageBackground.displayName = 'ImageBackground'
64
+
65
+ export { ImageBackground }
66
+ export default ImageBackground