react-native-webview-bootpay 11.26.19 → 13.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 (342) hide show
  1. package/README.md +9 -31
  2. package/android/build.gradle +70 -112
  3. package/android/gradle.properties +5 -6
  4. package/android/src/main/java/kr/co/bootpay/webview/BPCBasicAuthCredential.java +11 -0
  5. package/android/src/main/java/kr/co/bootpay/webview/BPCWebChromeClient.java +354 -434
  6. package/android/src/main/java/kr/co/bootpay/webview/BPCWebView.java +350 -259
  7. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewClient.java +253 -399
  8. package/android/src/main/java/kr/co/bootpay/webview/{WebViewConfig.java → BPCWebViewConfig.java} +3 -4
  9. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewFileProvider.java +1 -1
  10. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewManager.java +290 -877
  11. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewManagerImpl.kt +664 -0
  12. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewModule.java +29 -520
  13. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewModuleImpl.java +554 -0
  14. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewPackage.java +56 -0
  15. package/android/src/main/java/kr/co/bootpay/webview/BootpayUrlHelper.java +122 -0
  16. package/android/src/main/java/kr/co/bootpay/webview/events/TopCustomMenuSelectionEvent.kt +24 -0
  17. package/android/src/main/java/kr/co/bootpay/webview/events/TopNewWindowEvent.kt +25 -0
  18. package/android/src/newarch/com/reactnativecommunity/webview/BPCWebViewManager.java +544 -0
  19. package/android/src/newarch/com/reactnativecommunity/webview/BPCWebViewModule.java +57 -0
  20. package/apple/BPCWebView.h +22 -126
  21. package/apple/BPCWebView.mm +528 -0
  22. package/apple/BPCWebViewDecisionManager.h +20 -0
  23. package/apple/BPCWebViewDecisionManager.m +47 -0
  24. package/apple/BPCWebViewImpl.h +150 -0
  25. package/apple/{BPCWebView.m → BPCWebViewImpl.m} +381 -214
  26. package/apple/BPCWebViewManager.h +4 -8
  27. package/apple/{BPCWebViewManager.m → BPCWebViewManager.mm} +93 -149
  28. package/{android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream → ios/.DS_Store} +0 -0
  29. package/ios/{BPCWebView.xcodeproj → RNCWebView.xcodeproj}/project.pbxproj +18 -18
  30. package/ios/main.jsbundle +457 -0
  31. package/lib/BPCWebViewNativeComponent.d.ts +242 -0
  32. package/lib/BPCWebViewNativeComponent.d.ts.map +1 -0
  33. package/lib/BPCWebViewNativeComponent.js +6 -0
  34. package/lib/NativeBPCWebView.d.ts +10 -0
  35. package/lib/NativeBPCWebView.d.ts.map +1 -0
  36. package/lib/NativeBPCWebView.js +2 -0
  37. package/lib/NativeRNCWebView.d.ts +10 -0
  38. package/lib/NativeRNCWebView.d.ts.map +1 -0
  39. package/lib/NativeRNCWebView.js +2 -0
  40. package/lib/RNCWebViewNativeComponent.d.ts +242 -0
  41. package/lib/RNCWebViewNativeComponent.d.ts.map +1 -0
  42. package/lib/RNCWebViewNativeComponent.js +6 -0
  43. package/lib/WebView.android.d.ts.map +1 -1
  44. package/lib/WebView.android.js +53 -29
  45. package/lib/WebView.ios.d.ts.map +1 -1
  46. package/lib/WebView.ios.js +49 -28
  47. package/lib/WebView.macos.d.ts.map +1 -1
  48. package/lib/WebView.macos.js +10 -14
  49. package/lib/WebView.windows.d.ts.map +1 -1
  50. package/lib/WebView.windows.js +4 -6
  51. package/lib/WebViewNativeComponent.macos.d.ts +2 -2
  52. package/lib/WebViewNativeComponent.macos.js +2 -2
  53. package/lib/WebViewShared.d.ts +4 -2
  54. package/lib/WebViewShared.d.ts.map +1 -1
  55. package/lib/WebViewShared.js +8 -2
  56. package/lib/WebViewTypes.d.ts +62 -95
  57. package/lib/WebViewTypes.d.ts.map +1 -1
  58. package/lib/WebViewTypes.js +0 -16
  59. package/macos/RNCWebView.xcodeproj/project.pbxproj +44 -44
  60. package/package.json +38 -20
  61. package/react-native-webview-bootpay.podspec +22 -3
  62. package/react-native.config.js +1 -2
  63. package/src/BPCWebViewNativeComponent.ts +281 -0
  64. package/src/NativeBPCWebView.ts +14 -0
  65. package/src/WebView.android.tsx +229 -0
  66. package/src/WebView.ios.tsx +232 -0
  67. package/src/WebView.macos.tsx +177 -0
  68. package/src/WebView.styles.ts +44 -0
  69. package/src/WebView.tsx +18 -0
  70. package/src/WebView.windows.tsx +156 -0
  71. package/src/WebViewNativeComponent.macos.ts +8 -0
  72. package/src/WebViewNativeComponent.windows.ts +10 -0
  73. package/src/WebViewShared.tsx +235 -0
  74. package/src/WebViewTypes.ts +1287 -0
  75. package/src/__tests__/WebViewShared-test.js +208 -0
  76. package/src/__tests__/__snapshots__/WebViewShared-test.js.snap +8 -0
  77. package/src/index.ts +4 -0
  78. package/windows/.gitignore +353 -0
  79. package/windows/ReactNativeWebView/ReactNativeWebView.vcxproj +1 -1
  80. package/windows/ReactNativeWebView/ReactWebView.idl +1 -0
  81. package/windows/ReactNativeWebView/ReactWebView2.cpp +142 -19
  82. package/windows/ReactNativeWebView/ReactWebView2.h +3 -0
  83. package/windows/ReactNativeWebView/ReactWebView2Manager.cpp +29 -5
  84. package/windows/ReactNativeWebView/pch.h +1 -0
  85. package/android/.editorconfig +0 -6
  86. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/results.bin +0 -1
  87. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebChromeClient$1.dex +0 -0
  88. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebChromeClient.dex +0 -0
  89. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebView$1.dex +0 -0
  90. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebView$BPCWebViewBridge.dex +0 -0
  91. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebView$ProgressChangedFilter.dex +0 -0
  92. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebView.dex +0 -0
  93. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewClient.dex +0 -0
  94. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewFileProvider.dex +0 -0
  95. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager$1.dex +0 -0
  96. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager$2.dex +0 -0
  97. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager$3.dex +0 -0
  98. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager$4.dex +0 -0
  99. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager.dex +0 -0
  100. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$1.dex +0 -0
  101. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$2.dex +0 -0
  102. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$MimeType.dex +0 -0
  103. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock$ShouldOverrideCallbackState.dex +0 -0
  104. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock.dex +0 -0
  105. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule.dex +0 -0
  106. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BPCWebViewPackage.dex +0 -0
  107. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BasicAuthCredential.dex +0 -0
  108. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/BuildConfig.dex +0 -0
  109. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/URLUtil.dex +0 -0
  110. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/WebViewConfig.dex +0 -0
  111. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent$Companion.dex +0 -0
  112. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent.dex +0 -0
  113. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent$Companion.dex +0 -0
  114. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent.dex +0 -0
  115. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent$Companion.dex +0 -0
  116. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent.dex +0 -0
  117. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent$Companion.dex +0 -0
  118. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent.dex +0 -0
  119. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent$Companion.dex +0 -0
  120. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent.dex +0 -0
  121. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopMessageEvent$Companion.dex +0 -0
  122. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopMessageEvent.dex +0 -0
  123. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent$Companion.dex +0 -0
  124. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent.dex +0 -0
  125. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent$Companion.dex +0 -0
  126. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent.dex +0 -0
  127. package/android/build/.transforms/547b28b34bd585663252523c1a7a53e6/transformed/desugar_graph.bin +0 -0
  128. package/android/build/.transforms/88c49d67076e4458a9ddee82f875eb6a/results.bin +0 -1
  129. package/android/build/.transforms/88c49d67076e4458a9ddee82f875eb6a/transformed/classes/classes.dex +0 -0
  130. package/android/build/.transforms/c0e86b44db04fcaf424a5b7ce79324f4/results.bin +0 -1
  131. package/android/build/generated/source/buildConfig/debug/kr/co/bootpay/webview/BuildConfig.java +0 -10
  132. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -106
  133. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +0 -18
  134. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +0 -4
  135. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  136. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  137. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  138. package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -1861
  139. package/android/build/intermediates/compiled_local_resources/debug/out/xml_file_provider_paths.xml.flat +0 -0
  140. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -2
  141. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  142. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  143. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  144. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  145. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebChromeClient$1.class +0 -0
  146. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebChromeClient.class +0 -0
  147. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebView$1.class +0 -0
  148. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebView$BPCWebViewBridge.class +0 -0
  149. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebView$ProgressChangedFilter.class +0 -0
  150. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebView.class +0 -0
  151. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewClient.class +0 -0
  152. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewFileProvider.class +0 -0
  153. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager$1.class +0 -0
  154. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager$2.class +0 -0
  155. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager$3.class +0 -0
  156. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager$4.class +0 -0
  157. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager.class +0 -0
  158. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$1.class +0 -0
  159. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$2.class +0 -0
  160. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$MimeType.class +0 -0
  161. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock$ShouldOverrideCallbackState.class +0 -0
  162. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock.class +0 -0
  163. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule.class +0 -0
  164. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BasicAuthCredential.class +0 -0
  165. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BuildConfig.class +0 -0
  166. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/URLUtil.class +0 -0
  167. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/WebViewConfig.class +0 -0
  168. package/android/build/intermediates/library_java_res/debug/res.jar +0 -0
  169. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +0 -3
  170. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +0 -210
  171. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +0 -106
  172. package/android/build/intermediates/navigation_json/debug/navigation.json +0 -1
  173. package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +0 -18
  174. package/android/build/intermediates/packaged_res/debug/xml/file_provider_paths.xml +0 -6
  175. package/android/build/intermediates/runtime_library_classes_dir/debug/META-INF/react-native-webview-bootpay_debug.kotlin_module +0 -0
  176. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebChromeClient$1.class +0 -0
  177. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebChromeClient.class +0 -0
  178. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebView$1.class +0 -0
  179. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebView$BPCWebViewBridge.class +0 -0
  180. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebView$ProgressChangedFilter.class +0 -0
  181. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebView.class +0 -0
  182. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewClient.class +0 -0
  183. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewFileProvider.class +0 -0
  184. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager$1.class +0 -0
  185. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager$2.class +0 -0
  186. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager$3.class +0 -0
  187. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager$4.class +0 -0
  188. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager.class +0 -0
  189. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$1.class +0 -0
  190. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$2.class +0 -0
  191. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$MimeType.class +0 -0
  192. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock$ShouldOverrideCallbackState.class +0 -0
  193. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock.class +0 -0
  194. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule.class +0 -0
  195. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewPackage.class +0 -0
  196. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BasicAuthCredential.class +0 -0
  197. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BuildConfig.class +0 -0
  198. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/URLUtil.class +0 -0
  199. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/WebViewConfig.class +0 -0
  200. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent$Companion.class +0 -0
  201. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent.class +0 -0
  202. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent$Companion.class +0 -0
  203. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent.class +0 -0
  204. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent$Companion.class +0 -0
  205. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent.class +0 -0
  206. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent$Companion.class +0 -0
  207. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent.class +0 -0
  208. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent$Companion.class +0 -0
  209. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent.class +0 -0
  210. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopMessageEvent$Companion.class +0 -0
  211. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopMessageEvent.class +0 -0
  212. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent$Companion.class +0 -0
  213. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent.class +0 -0
  214. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent$Companion.class +0 -0
  215. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent.class +0 -0
  216. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  217. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +0 -1381
  218. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  219. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  220. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  221. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  222. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  223. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  224. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  225. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  226. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  227. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  228. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  229. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  230. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  231. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  232. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  233. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  234. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  235. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  236. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  237. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  238. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  239. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  240. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  241. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  242. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  243. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  244. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  245. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  246. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  247. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  248. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  249. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  250. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  251. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  252. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  253. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab +0 -0
  254. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.keystream +0 -0
  255. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.keystream.len +0 -0
  256. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.len +0 -0
  257. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.values.at +0 -0
  258. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab_i +0 -0
  259. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab_i.len +0 -0
  260. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  261. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  262. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  263. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  264. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  265. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  266. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  267. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  268. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  269. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  270. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  271. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  272. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  273. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  274. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  275. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  276. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  277. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  278. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  279. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  280. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  281. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  282. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  283. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  284. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  285. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  286. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  287. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  288. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  289. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  290. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  291. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  292. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  293. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  294. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  295. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  296. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  297. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  298. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  299. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  300. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  301. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  302. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  303. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  304. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  305. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  306. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  307. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  308. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  309. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  310. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  311. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -229
  312. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  313. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-webview-bootpay_debug.kotlin_module +0 -0
  314. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/BPCWebViewPackage.class +0 -0
  315. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent$Companion.class +0 -0
  316. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent.class +0 -0
  317. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent$Companion.class +0 -0
  318. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent.class +0 -0
  319. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent$Companion.class +0 -0
  320. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent.class +0 -0
  321. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent$Companion.class +0 -0
  322. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent.class +0 -0
  323. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent$Companion.class +0 -0
  324. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent.class +0 -0
  325. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopMessageEvent$Companion.class +0 -0
  326. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopMessageEvent.class +0 -0
  327. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent$Companion.class +0 -0
  328. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent.class +0 -0
  329. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent$Companion.class +0 -0
  330. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent.class +0 -0
  331. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewPackage.kt +0 -15
  332. package/android/src/main/java/kr/co/bootpay/webview/BasicAuthCredential.java +0 -11
  333. package/ios/BPCWebView.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  334. package/ios/BPCWebView.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  335. package/ios/BPCWebView.xcodeproj/project.xcworkspace/xcuserdata/ehowlsla.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  336. package/ios/BPCWebView.xcodeproj/xcuserdata/ehowlsla.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  337. package/lib/WebViewNativeComponent.android.d.ts +0 -4
  338. package/lib/WebViewNativeComponent.android.d.ts.map +0 -1
  339. package/lib/WebViewNativeComponent.android.js +0 -3
  340. package/lib/WebViewNativeComponent.ios.d.ts +0 -4
  341. package/lib/WebViewNativeComponent.ios.d.ts.map +0 -1
  342. package/lib/WebViewNativeComponent.ios.js +0 -3
package/package.json CHANGED
@@ -1,20 +1,21 @@
1
1
  {
2
2
  "name": "react-native-webview-bootpay",
3
- "description": "React Native WebView 를 포크떠서 만든 Bootpay WebViewfor iOS, Android, macOS, and Windows",
3
+ "description": "React Native WebView 를 포크떠서 만든 Bootpay WebView for iOS, Android, macOS, and Windows",
4
4
  "main": "index.js",
5
- "main-internal": "index.js",
5
+ "main-internal": "src/index.ts",
6
6
  "typings": "index.d.ts",
7
- "author": "bootpay <bootpay.co.kr@gmail.com>",
7
+ "author": "Jamon Holmgren <jamon@infinite.red>",
8
8
  "contributors": [
9
- "bootpay <bootpay.co.kr@gmail.com>",
10
9
  "Thibault Malbranche <malbranche.thibault@gmail.com>"
11
10
  ],
12
11
  "license": "MIT",
13
- "version": "11.26.19",
12
+ "version": "13.6.0",
14
13
  "homepage": "https://github.com/bootpay/react-native-webview-bootpay",
15
14
  "scripts": {
16
15
  "android": "react-native run-android",
17
- "ios": "react-native run-ios --project-path example/ios",
16
+ "ios": "react-native run-ios",
17
+ "build:ios": "react-native bundle --entry-file='./index.js' --bundle-output='./example/ios/main.jsbundle' --dev=false --platform='ios'",
18
+
18
19
  "macos": "react-native run-macos --scheme WebviewExample --project-path example/macos",
19
20
  "start": "cd example && react-native start",
20
21
  "windows": "install-windows-test-app --project-directory example/windows && react-native run-windows --root example --arch x64",
@@ -24,8 +25,10 @@
24
25
  "build": "yarn tsc",
25
26
  "prepare": "yarn build",
26
27
  "appium": "appium",
27
- "test:windows": "yarn jest --setupFiles=./jest-setups/jest.setup.js"
28
+ "test:windows": "yarn jest --setupFiles=./jest-setups/jest.setup.js",
29
+ "add:macos": "yarn add react-native-macos@0.71.33"
28
30
  },
31
+
29
32
  "rn-docs": {
30
33
  "title": "Webview",
31
34
  "type": "Component"
@@ -43,9 +46,8 @@
43
46
  "@babel/runtime": "^7.0.0",
44
47
  "@semantic-release/git": "7.0.16",
45
48
  "@types/invariant": "^2.2.30",
46
- "@types/jest": "^26.0.0",
47
- "@types/react": "^17.0.0",
48
- "@types/react-native": "^0.67.3",
49
+ "@types/jest": "^29.4.0",
50
+ "@types/react": "18.0.27",
49
51
  "@types/selenium-webdriver": "4.0.9",
50
52
  "@typescript-eslint/eslint-plugin": "2.1.0",
51
53
  "@typescript-eslint/parser": "2.1.0",
@@ -58,13 +60,13 @@
58
60
  "eslint-plugin-react": "7.14.3",
59
61
  "eslint-plugin-react-hooks": "^4.5.0",
60
62
  "eslint-plugin-react-native": "3.7.0",
61
- "jest": "^26.6.3",
62
- "metro-react-native-babel-preset": "^0.67.0",
63
- "react": "17.0.2",
64
- "react-native": "0.68.5",
65
- "react-native-macos": "0.68.62",
66
- "react-native-test-app": "2.3.2",
67
- "react-native-windows": "0.68.4",
63
+ "jest": "^29.4.1",
64
+ "metro-react-native-babel-preset": "0.73.7",
65
+ "react": "18.2.0",
66
+ "react-native": "0.71.12",
67
+ "react-native-macos": "0.71.33",
68
+ "react-native-test-app": "2.5.15",
69
+ "react-native-windows": "0.71.30",
68
70
  "selenium-appium": "1.0.2",
69
71
  "selenium-webdriver": "4.0.0-alpha.7",
70
72
  "semantic-release": "15.13.24",
@@ -73,18 +75,34 @@
73
75
  },
74
76
  "repository": {
75
77
  "type": "git",
76
- "url": "https://github.com/bootpay/react-native-webview-bootpay.git"
78
+ "url": "https://github.com/react-native-webview-bootpay/react-native-webview-bootpay.git"
77
79
  },
78
80
  "files": [
79
- "android",
81
+ "android/src",
82
+ "android/build.gradle",
83
+ "android/gradle.properties",
80
84
  "apple",
81
85
  "ios",
82
86
  "macos",
83
87
  "windows",
84
88
  "lib",
89
+ "src",
85
90
  "index.js",
86
91
  "index.d.ts",
87
92
  "react-native-webview-bootpay.podspec",
88
93
  "react-native.config.js"
89
- ]
94
+ ],
95
+ "resolutions": {
96
+ "@react-native-community/cli": "10.2.4",
97
+ "@react-native-community/cli-platform-android": "10.2.0",
98
+ "@react-native-community/cli-platform-ios": "10.2.4"
99
+ },
100
+ "codegenConfig": {
101
+ "name": "BPCWebViewSpec",
102
+ "type": "all",
103
+ "jsSrcsDir": "./src",
104
+ "android": {
105
+ "javaPackageName": "kr.co.bootpay.webview"
106
+ }
107
+ }
90
108
  }
@@ -2,6 +2,8 @@ require 'json'
2
2
 
3
3
  package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
4
 
5
+ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
6
+
5
7
  Pod::Spec.new do |s|
6
8
  s.name = package['name']
7
9
  s.version = package['version']
@@ -12,8 +14,25 @@ Pod::Spec.new do |s|
12
14
  s.homepage = package['homepage']
13
15
  s.platforms = { :ios => "9.0", :osx => "10.13" }
14
16
 
15
- s.source = { :git => "https://github.com/bootpay/react-native-webview-bootpay.git", :tag => "#{s.version}" }
16
- s.source_files = "apple/**/*.{h,m}"
17
+ s.source = { :git => "https://github.com/react-native-webview-bootpay/react-native-webview-bootpay.git", :tag => "v#{s.version}" }
18
+
19
+ s.source_files = "apple/**/*.{h,m,mm,swift}"
20
+
21
+ s.dependency "React-Core"
22
+
23
+ if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
24
+ s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
25
+ s.pod_target_xcconfig = {
26
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
27
+ "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
28
+ "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
29
+ }
17
30
 
18
- s.dependency 'React-Core'
31
+ s.dependency "React-RCTFabric"
32
+ s.dependency "React-Codegen"
33
+ s.dependency "RCT-Folly"
34
+ s.dependency "RCTRequired"
35
+ s.dependency "RCTTypeSafety"
36
+ s.dependency "ReactCommon/turbomodule/core"
37
+ end
19
38
  end
@@ -4,7 +4,6 @@ const project = (() => {
4
4
  try {
5
5
  const {
6
6
  androidManifestPath,
7
- iosProjectPath,
8
7
  windowsProjectPath,
9
8
  } = require('react-native-test-app');
10
9
  return {
@@ -15,7 +14,7 @@ const project = (() => {
15
14
  ),
16
15
  },
17
16
  ios: {
18
- project: iosProjectPath('example/ios'),
17
+ sourceDir: 'example/ios',
19
18
  },
20
19
  windows: fs.existsSync('example/windows/WebviewExample.sln') && {
21
20
  sourceDir: path.join('example', 'windows'),
@@ -0,0 +1,281 @@
1
+ import type { HostComponent, ViewProps } from 'react-native';
2
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
+ import {DirectEventHandler,Double, Int32, WithDefault} from 'react-native/Libraries/Types/CodegenTypes';
4
+ import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
5
+
6
+ export type WebViewNativeEvent = Readonly<{
7
+ url: string;
8
+ loading: boolean;
9
+ title: string;
10
+ canGoBack: boolean;
11
+ canGoForward: boolean;
12
+ lockIdentifier: Double;
13
+ }>
14
+ export type WebViewCustomMenuSelectionEvent = Readonly<{
15
+ label: string;
16
+ key: string;
17
+ selectedText: string;
18
+ }>
19
+ export type WebViewMessageEvent = Readonly<{
20
+ url: string;
21
+ loading: boolean;
22
+ title: string;
23
+ canGoBack: boolean;
24
+ canGoForward: boolean;
25
+ lockIdentifier: Double;
26
+ data: string;
27
+ }>
28
+ export type WebViewOpenWindowEvent = Readonly<{
29
+ targetUrl: string;
30
+ }>
31
+ export type WebViewHttpErrorEvent = Readonly<{
32
+ url: string;
33
+ loading: boolean;
34
+ title: string;
35
+ canGoBack: boolean;
36
+ canGoForward: boolean;
37
+ lockIdentifier: Double;
38
+ description: string;
39
+ statusCode: Int32;
40
+ }>
41
+
42
+ export type WebViewErrorEvent = Readonly<{
43
+ url: string;
44
+ loading: boolean;
45
+ title: string;
46
+ canGoBack: boolean;
47
+ canGoForward: boolean;
48
+ lockIdentifier: Double;
49
+ domain?: string;
50
+ code: Int32;
51
+ description: string;
52
+ }>
53
+
54
+ export type WebViewNativeProgressEvent = Readonly< {
55
+ url: string;
56
+ loading: boolean;
57
+ title: string;
58
+ canGoBack: boolean;
59
+ canGoForward: boolean;
60
+ lockIdentifier: Double;
61
+ progress: Double;
62
+ }>
63
+
64
+ export type WebViewNavigationEvent = Readonly< {
65
+ url: string;
66
+ loading: boolean;
67
+ title: string;
68
+ canGoBack: boolean;
69
+ canGoForward: boolean;
70
+ lockIdentifier: Double;
71
+ navigationType:
72
+ | 'click'
73
+ | 'formsubmit'
74
+ | 'backforward'
75
+ | 'reload'
76
+ | 'formresubmit'
77
+ | 'other';
78
+ mainDocumentURL?: string;
79
+ }>
80
+
81
+ export type ShouldStartLoadRequestEvent = Readonly<{
82
+ url: string;
83
+ loading: boolean;
84
+ title: string;
85
+ canGoBack: boolean;
86
+ canGoForward: boolean;
87
+ lockIdentifier: Double;
88
+ navigationType:
89
+ | 'click'
90
+ | 'formsubmit'
91
+ | 'backforward'
92
+ | 'reload'
93
+ | 'formresubmit'
94
+ | 'other';
95
+ mainDocumentURL?: string;
96
+ isTopFrame: boolean;
97
+ }>
98
+
99
+ type ScrollEvent = Readonly<{
100
+ contentInset: {
101
+ bottom: Double,
102
+ left: Double,
103
+ right: Double,
104
+ top: Double,
105
+ },
106
+ contentOffset: {
107
+ y: Double,
108
+ x: Double,
109
+ },
110
+ contentSize: {
111
+ height: Double,
112
+ width: Double,
113
+ },
114
+ layoutMeasurement: {
115
+ height: Double,
116
+ width: Double,
117
+ },
118
+ targetContentOffset?: {
119
+ y: Double,
120
+ x: Double,
121
+ },
122
+ velocity?: {
123
+ y: Double,
124
+ x: Double,
125
+ },
126
+ zoomScale?: Double,
127
+ responderIgnoreScroll?: boolean,
128
+ }>
129
+
130
+ type WebViewRenderProcessGoneEvent = Readonly<{
131
+ didCrash: boolean;
132
+ }>
133
+
134
+ type WebViewDownloadEvent = Readonly<{
135
+ downloadUrl: string;
136
+ }>
137
+
138
+ // type MenuItem = Readonly<{label: string, key: string}>;
139
+
140
+ export interface NativeProps extends ViewProps {
141
+ // Android only
142
+ allowFileAccess?: boolean;
143
+ allowsProtectedMedia?: boolean;
144
+ allowsFullscreenVideo?: boolean;
145
+ androidLayerType?: WithDefault<'none' | 'software' | 'hardware', 'none'>;
146
+ cacheMode?: WithDefault<'LOAD_DEFAULT' | 'LOAD_CACHE_ELSE_NETWORK' | 'LOAD_NO_CACHE' | 'LOAD_CACHE_ONLY', 'LOAD_DEFAULT'>;
147
+ domStorageEnabled?: boolean;
148
+ downloadingMessage?: string;
149
+ forceDarkOn?: boolean;
150
+ geolocationEnabled?: boolean;
151
+ lackPermissionToDownloadMessage?: string;
152
+ messagingModuleName: string;
153
+ minimumFontSize?: Int32;
154
+ mixedContentMode?: WithDefault<'never' | 'always' | 'compatibility', 'never'>;
155
+ nestedScrollEnabled?: boolean;
156
+ onContentSizeChange?: DirectEventHandler<WebViewNativeEvent>;
157
+ onRenderProcessGone?: DirectEventHandler<WebViewRenderProcessGoneEvent>;
158
+ overScrollMode?: string;
159
+ saveFormDataDisabled?: boolean;
160
+ scalesPageToFit?: boolean;
161
+ setBuiltInZoomControls?: boolean;
162
+ setDisplayZoomControls?: boolean;
163
+ setSupportMultipleWindows?: boolean;
164
+ textZoom?: Int32;
165
+ thirdPartyCookiesEnabled?: boolean;
166
+ // Workaround to watch if listener if defined
167
+ hasOnScroll?: boolean;
168
+ injectedJavaScriptObject?: string;
169
+ // !Android only
170
+
171
+ // iOS only
172
+ allowingReadAccessToURL?: string;
173
+ allowsBackForwardNavigationGestures?: boolean;
174
+ allowsInlineMediaPlayback?: boolean;
175
+ allowsAirPlayForMediaPlayback?: boolean;
176
+ allowsLinkPreview?: boolean;
177
+ automaticallyAdjustContentInsets?: boolean;
178
+ autoManageStatusBarEnabled?: boolean;
179
+ bounces?: boolean;
180
+ contentInset?: Readonly<{
181
+ top?: Double;
182
+ left?: Double;
183
+ bottom?: Double;
184
+ right?: Double;
185
+ }>;
186
+ contentInsetAdjustmentBehavior?: WithDefault<'never' | 'automatic' | 'scrollableAxes' | 'always', 'never'>;
187
+ contentMode?: WithDefault<'recommended' | 'mobile' | 'desktop', 'recommended'>;
188
+ dataDetectorTypes?: WithDefault<
189
+ // eslint-disable-next-line @typescript-eslint/array-type
190
+ ReadonlyArray<'address' | 'link' | 'calendarEvent' | 'trackingNumber' | 'flightNumber' | 'lookupSuggestion' | 'phoneNumber' | 'all' | 'none'>,
191
+ 'phoneNumber'
192
+ >;
193
+ decelerationRate?: Double;
194
+ directionalLockEnabled?: boolean;
195
+ enableApplePay?: boolean;
196
+ hideKeyboardAccessoryView?: boolean;
197
+ keyboardDisplayRequiresUserAction?: boolean;
198
+ limitsNavigationsToAppBoundDomains?: boolean;
199
+ mediaCapturePermissionGrantType?: WithDefault<'prompt' | 'grant' | 'deny' | 'grantIfSameHostElsePrompt' | 'grantIfSameHostElseDeny', 'prompt'>;
200
+ pagingEnabled?: boolean;
201
+ pullToRefreshEnabled?: boolean;
202
+ scrollEnabled?: boolean;
203
+ sharedCookiesEnabled?: boolean;
204
+ textInteractionEnabled?: boolean;
205
+ useSharedProcessPool?: boolean;
206
+ onContentProcessDidTerminate?: DirectEventHandler<WebViewNativeEvent>;
207
+ onCustomMenuSelection?: DirectEventHandler<WebViewCustomMenuSelectionEvent>;
208
+ onFileDownload?: DirectEventHandler<WebViewDownloadEvent>;
209
+ // eslint-disable-next-line @typescript-eslint/array-type
210
+ menuItems?: ReadonlyArray<Readonly<{label: string, key: string}>>;
211
+ suppressMenuItems?: Readonly<string>[];
212
+ // Workaround to watch if listener if defined
213
+ hasOnFileDownload?: boolean;
214
+ fraudulentWebsiteWarningEnabled?: boolean;
215
+ // !iOS only
216
+
217
+ allowFileAccessFromFileURLs?: boolean;
218
+ allowUniversalAccessFromFileURLs?: boolean;
219
+ applicationNameForUserAgent?: string;
220
+ basicAuthCredential?: Readonly<{
221
+ username: string;
222
+ password: string;
223
+ }>;
224
+ cacheEnabled?: boolean;
225
+ incognito?: boolean;
226
+ injectedJavaScript?: string;
227
+ injectedJavaScriptBeforeContentLoaded?: string;
228
+ injectedJavaScriptForMainFrameOnly?: boolean;
229
+ injectedJavaScriptBeforeContentLoadedForMainFrameOnly?: boolean;
230
+ javaScriptCanOpenWindowsAutomatically?: boolean;
231
+ javaScriptEnabled?: boolean;
232
+ webviewDebuggingEnabled?: boolean;
233
+ mediaPlaybackRequiresUserAction?: boolean;
234
+ messagingEnabled: boolean;
235
+ onLoadingError: DirectEventHandler<WebViewErrorEvent>;
236
+ onLoadingFinish: DirectEventHandler<WebViewNavigationEvent>;
237
+ onLoadingProgress: DirectEventHandler<WebViewNativeProgressEvent>;
238
+ onLoadingStart: DirectEventHandler<WebViewNavigationEvent>;
239
+ onHttpError: DirectEventHandler<WebViewHttpErrorEvent>;
240
+ onMessage: DirectEventHandler<WebViewMessageEvent>;
241
+ onOpenWindow?: DirectEventHandler<WebViewOpenWindowEvent>;
242
+ hasOnOpenWindowEvent?: boolean;
243
+ onScroll?: DirectEventHandler<ScrollEvent>;
244
+ onShouldStartLoadWithRequest: DirectEventHandler<ShouldStartLoadRequestEvent>;
245
+ showsHorizontalScrollIndicator?: boolean;
246
+ showsVerticalScrollIndicator?: boolean;
247
+ newSource: Readonly<{
248
+ uri?: string
249
+ method?: string;
250
+ body?: string;
251
+ // eslint-disable-next-line @typescript-eslint/array-type
252
+ headers?: ReadonlyArray<Readonly<{name: string, value: string}>>;
253
+ html?: string;
254
+ baseUrl?: string;
255
+ }>;
256
+ userAgent?: string;
257
+ }
258
+
259
+ export interface NativeCommands {
260
+ goBack: (viewRef: React.ElementRef<HostComponent<NativeProps>> ) => void;
261
+ goForward: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;
262
+ reload: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;
263
+ stopLoading: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;
264
+ injectJavaScript: (viewRef: React.ElementRef<HostComponent<NativeProps>>, javascript: string) => void;
265
+ requestFocus: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;
266
+ postMessage: (viewRef: React.ElementRef<HostComponent<NativeProps>>, data: string) => void;
267
+ // Android Only
268
+ loadUrl: (viewRef: React.ElementRef<HostComponent<NativeProps>>, url: string) => void;
269
+ clearFormData: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;
270
+ clearCache: (viewRef: React.ElementRef<HostComponent<NativeProps>>, includeDiskFiles: boolean) => void;
271
+ clearHistory: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;
272
+ // !Android Only
273
+ }
274
+
275
+ export const Commands = codegenNativeCommands<NativeCommands>({
276
+ supportedCommands: ['goBack', 'goForward', 'reload', 'stopLoading', 'injectJavaScript', 'requestFocus', 'postMessage', 'loadUrl', 'clearFormData', 'clearCache', 'clearHistory'],
277
+ });
278
+
279
+ export default codegenNativeComponent<NativeProps>(
280
+ 'BPCWebView'
281
+ ) as HostComponent<NativeProps>;
@@ -0,0 +1,14 @@
1
+ /* eslint-disable import/no-duplicates */
2
+ import type { TurboModule } from 'react-native';
3
+ import { TurboModuleRegistry } from 'react-native';
4
+ import {Int32} from 'react-native/Libraries/Types/CodegenTypes';
5
+
6
+ export interface Spec extends TurboModule {
7
+ readonly getConstants: () => {};
8
+
9
+ // your module methods go here, for example:
10
+ isFileUploadSupported(): Promise<boolean>;
11
+ shouldStartLoadWithLockIdentifier(shouldStart: boolean, lockIdentifier: Int32): void;
12
+ }
13
+
14
+ export default TurboModuleRegistry.getEnforcing<Spec>('BPCWebView');
@@ -0,0 +1,229 @@
1
+ import React, { forwardRef, ReactElement, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
2
+
3
+ import {
4
+ Image,
5
+ View,
6
+ ImageSourcePropType,
7
+ HostComponent,
8
+ } from 'react-native';
9
+
10
+ import BatchedBridge from 'react-native/Libraries/BatchedBridge/BatchedBridge';
11
+
12
+ import invariant from 'invariant';
13
+
14
+ import BPCWebView, {Commands, NativeProps} from "./BPCWebViewNativeComponent";
15
+ import BPCWebViewModule from "./NativeBPCWebView";
16
+ import {
17
+ defaultOriginWhitelist,
18
+ defaultRenderError,
19
+ defaultRenderLoading,
20
+ useWebViewLogic,
21
+ } from './WebViewShared';
22
+ import {
23
+ AndroidWebViewProps, WebViewSourceUri,
24
+ } from './WebViewTypes';
25
+
26
+ import styles from './WebView.styles';
27
+
28
+ const { resolveAssetSource } = Image;
29
+
30
+ /**
31
+ * A simple counter to uniquely identify WebView instances. Do not use this for anything else.
32
+ */
33
+ let uniqueRef = 0;
34
+
35
+ const WebViewComponent = forwardRef<{}, AndroidWebViewProps>(({
36
+ overScrollMode = 'always',
37
+ javaScriptEnabled = true,
38
+ thirdPartyCookiesEnabled = true,
39
+ scalesPageToFit = true,
40
+ allowsFullscreenVideo = false,
41
+ allowFileAccess = false,
42
+ saveFormDataDisabled = false,
43
+ cacheEnabled = true,
44
+ androidLayerType = "none",
45
+ originWhitelist = defaultOriginWhitelist,
46
+ setSupportMultipleWindows = true,
47
+ setBuiltInZoomControls = true,
48
+ setDisplayZoomControls = false,
49
+ nestedScrollEnabled = false,
50
+ startInLoadingState,
51
+ onNavigationStateChange,
52
+ onLoadStart,
53
+ onError,
54
+ onLoad,
55
+ onLoadEnd,
56
+ onLoadProgress,
57
+ onHttpError: onHttpErrorProp,
58
+ onRenderProcessGone: onRenderProcessGoneProp,
59
+ onMessage: onMessageProp,
60
+ onOpenWindow: onOpenWindowProp,
61
+ renderLoading,
62
+ renderError,
63
+ style,
64
+ containerStyle,
65
+ source,
66
+ nativeConfig,
67
+ onShouldStartLoadWithRequest: onShouldStartLoadWithRequestProp,
68
+ injectedJavaScriptObject,
69
+ ...otherProps
70
+ }, ref) => {
71
+ const messagingModuleName = useRef<string>(`WebViewMessageHandler${uniqueRef += 1}`).current;
72
+ const webViewRef = useRef<React.ComponentRef<HostComponent<NativeProps>> | null>(null);
73
+
74
+ const onShouldStartLoadWithRequestCallback = useCallback((shouldStart: boolean,
75
+ url: string,
76
+ lockIdentifier?: number) => {
77
+ if (lockIdentifier) {
78
+ BPCWebViewModule.shouldStartLoadWithLockIdentifier(shouldStart, lockIdentifier);
79
+ } else if (shouldStart && webViewRef.current) {
80
+ Commands.loadUrl(webViewRef.current, url);
81
+ }
82
+ }, []);
83
+
84
+ const { onLoadingStart, onShouldStartLoadWithRequest, onMessage, viewState, setViewState, lastErrorEvent, onHttpError, onLoadingError, onLoadingFinish, onLoadingProgress, onOpenWindow, onRenderProcessGone } = useWebViewLogic({
85
+ onNavigationStateChange,
86
+ onLoad,
87
+ onError,
88
+ onHttpErrorProp,
89
+ onLoadEnd,
90
+ onLoadProgress,
91
+ onLoadStart,
92
+ onRenderProcessGoneProp,
93
+ onMessageProp,
94
+ onOpenWindowProp,
95
+ startInLoadingState,
96
+ originWhitelist,
97
+ onShouldStartLoadWithRequestProp,
98
+ onShouldStartLoadWithRequestCallback,
99
+ })
100
+
101
+ useImperativeHandle(ref, () => ({
102
+ goForward: () => webViewRef.current && Commands.goForward(webViewRef.current),
103
+ goBack: () => webViewRef.current && Commands.goBack(webViewRef.current),
104
+ reload: () => {
105
+ setViewState(
106
+ 'LOADING',
107
+ );
108
+ if (webViewRef.current) {
109
+ Commands.reload(webViewRef.current)
110
+ }
111
+ },
112
+ stopLoading: () => webViewRef.current && Commands.stopLoading(webViewRef.current),
113
+ postMessage: (data: string) => webViewRef.current && Commands.postMessage(webViewRef.current, data),
114
+ injectJavaScript: (data: string) => webViewRef.current && Commands.injectJavaScript(webViewRef.current, data),
115
+ requestFocus: () => webViewRef.current && Commands.requestFocus(webViewRef.current),
116
+ clearFormData: () => webViewRef.current && Commands.clearFormData(webViewRef.current),
117
+ clearCache: (includeDiskFiles: boolean) => webViewRef.current && Commands.clearCache(webViewRef.current, includeDiskFiles),
118
+ clearHistory: () => webViewRef.current && Commands.clearHistory(webViewRef.current),
119
+ }), [setViewState, webViewRef]);
120
+
121
+ const directEventCallbacks = useMemo(() => ({
122
+ onShouldStartLoadWithRequest,
123
+ onMessage,
124
+ }), [onMessage, onShouldStartLoadWithRequest]);
125
+
126
+ useEffect(() => {
127
+ BatchedBridge.registerCallableModule(messagingModuleName, directEventCallbacks);
128
+ }, [messagingModuleName, directEventCallbacks])
129
+
130
+ let otherView: ReactElement | undefined;
131
+ if (viewState === 'LOADING') {
132
+ otherView = (renderLoading || defaultRenderLoading)();
133
+ } else if (viewState === 'ERROR') {
134
+ invariant(lastErrorEvent != null, 'lastErrorEvent expected to be non-null');
135
+ if (lastErrorEvent) {
136
+ otherView = (renderError || defaultRenderError)(
137
+ lastErrorEvent.domain,
138
+ lastErrorEvent.code,
139
+ lastErrorEvent.description,
140
+ );
141
+ }
142
+ } else if (viewState !== 'IDLE') {
143
+ console.error(`BPCWebView invalid state encountered: ${viewState}`);
144
+ }
145
+
146
+ const webViewStyles = [styles.container, styles.webView, style];
147
+ const webViewContainerStyle = [styles.container, containerStyle];
148
+
149
+ if (typeof source !== "number" && source && 'method' in source) {
150
+ if (source.method === 'POST' && source.headers) {
151
+ console.warn(
152
+ 'WebView: `source.headers` is not supported when using POST.',
153
+ );
154
+ } else if (source.method === 'GET' && source.body) {
155
+ console.warn('WebView: `source.body` is not supported when using GET.');
156
+ }
157
+ }
158
+
159
+ const NativeWebView
160
+ = (nativeConfig?.component as (typeof BPCWebView | undefined)) || BPCWebView;
161
+
162
+ const sourceResolved = resolveAssetSource(source as ImageSourcePropType)
163
+ const newSource = typeof sourceResolved === "object" ? Object.entries(sourceResolved as WebViewSourceUri).reduce((prev, [currKey, currValue]) => {
164
+ return {
165
+ ...prev,
166
+ [currKey]: currKey === "headers" && currValue && typeof currValue === "object" ? Object.entries(currValue).map(
167
+ ([key, value]) => {
168
+ return {
169
+ name: key,
170
+ value
171
+ }
172
+ }) : currValue
173
+ }
174
+ }, {}) : sourceResolved
175
+
176
+ const webView = <NativeWebView
177
+ key="webViewKey"
178
+ {...otherProps}
179
+ messagingEnabled={typeof onMessageProp === 'function'}
180
+ messagingModuleName={messagingModuleName}
181
+
182
+ hasOnScroll={!!otherProps.onScroll}
183
+ onLoadingError={onLoadingError}
184
+ onLoadingFinish={onLoadingFinish}
185
+ onLoadingProgress={onLoadingProgress}
186
+ onLoadingStart={onLoadingStart}
187
+ onHttpError={onHttpError}
188
+ onRenderProcessGone={onRenderProcessGone}
189
+ onMessage={onMessage}
190
+ onOpenWindow={onOpenWindow}
191
+ hasOnOpenWindowEvent={onOpenWindowProp !== undefined}
192
+ onShouldStartLoadWithRequest={onShouldStartLoadWithRequest}
193
+ ref={webViewRef}
194
+ // TODO: find a better way to type this.
195
+ // @ts-expect-error source is old arch
196
+ source={sourceResolved}
197
+ newSource={newSource}
198
+ style={webViewStyles}
199
+ overScrollMode={overScrollMode}
200
+ javaScriptEnabled={javaScriptEnabled}
201
+ thirdPartyCookiesEnabled={thirdPartyCookiesEnabled}
202
+ scalesPageToFit={scalesPageToFit}
203
+ allowsFullscreenVideo={allowsFullscreenVideo}
204
+ allowFileAccess={allowFileAccess}
205
+ saveFormDataDisabled={saveFormDataDisabled}
206
+ cacheEnabled={cacheEnabled}
207
+ androidLayerType={androidLayerType}
208
+ setSupportMultipleWindows={setSupportMultipleWindows}
209
+ setBuiltInZoomControls={setBuiltInZoomControls}
210
+ setDisplayZoomControls={setDisplayZoomControls}
211
+ nestedScrollEnabled={nestedScrollEnabled}
212
+ injectedJavaScriptObject={JSON.stringify(injectedJavaScriptObject)}
213
+ {...nativeConfig?.props}
214
+ />
215
+
216
+ return (
217
+ <View style={webViewContainerStyle}>
218
+ {webView}
219
+ {otherView}
220
+ </View>
221
+ );
222
+ });
223
+
224
+ // native implementation should return "true" only for Android 5+
225
+ const { isFileUploadSupported } = BPCWebViewModule;
226
+
227
+ const WebView = Object.assign(WebViewComponent, { isFileUploadSupported });
228
+
229
+ export default WebView;