react-native-inapp-inspector 1.1.18 → 1.1.19

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 (291) hide show
  1. package/dist/commonjs/constants/version.d.ts +1 -1
  2. package/dist/commonjs/constants/version.js +1 -1
  3. package/dist/esm/constants/version.d.ts +1 -1
  4. package/dist/esm/constants/version.js +1 -1
  5. package/package.json +2 -4
  6. package/assets/banner_dark.svg +0 -186
  7. package/assets/banner_light.svg +0 -186
  8. package/assets/icon_circle.svg +0 -148
  9. package/assets/icon_square.svg +0 -148
  10. package/assets/social_preview.png +0 -0
  11. package/assets/walkthrough.gif +0 -0
  12. package/dist/commonjs/assets/svgAssets.d.ts +0 -3
  13. package/dist/commonjs/assets/svgAssets.js +0 -17
  14. package/dist/commonjs/components/AnalyticsTabView.d.ts +0 -15
  15. package/dist/commonjs/components/AnalyticsTabView.js +0 -157
  16. package/dist/commonjs/components/ApiDetailView.d.ts +0 -22
  17. package/dist/commonjs/components/ApiDetailView.js +0 -304
  18. package/dist/commonjs/components/ApisTabView.d.ts +0 -33
  19. package/dist/commonjs/components/ApisTabView.js +0 -235
  20. package/dist/commonjs/components/ConsoleLogDetailView.d.ts +0 -9
  21. package/dist/commonjs/components/ConsoleLogDetailView.js +0 -278
  22. package/dist/commonjs/components/ConsoleLogsTabView.d.ts +0 -24
  23. package/dist/commonjs/components/ConsoleLogsTabView.js +0 -354
  24. package/dist/commonjs/components/FloatingBubble.d.ts +0 -14
  25. package/dist/commonjs/components/FloatingBubble.js +0 -75
  26. package/dist/commonjs/components/Inspector/InsightsDashboard.d.ts +0 -3
  27. package/dist/commonjs/components/Inspector/InsightsDashboard.js +0 -619
  28. package/dist/commonjs/components/Inspector/WebViewTab.d.ts +0 -3
  29. package/dist/commonjs/components/Inspector/WebViewTab.js +0 -757
  30. package/dist/commonjs/components/InspectorHeader.d.ts +0 -19
  31. package/dist/commonjs/components/InspectorHeader.js +0 -329
  32. package/dist/commonjs/components/InspectorTabBar.d.ts +0 -16
  33. package/dist/commonjs/components/InspectorTabBar.js +0 -90
  34. package/dist/commonjs/components/NavigationTracker.d.ts +0 -7
  35. package/dist/commonjs/components/NavigationTracker.js +0 -76
  36. package/dist/commonjs/components/ReduxTabView.d.ts +0 -9
  37. package/dist/commonjs/components/ReduxTabView.js +0 -56
  38. package/dist/commonjs/components/ReduxTreeView.d.ts +0 -16
  39. package/dist/commonjs/components/ReduxTreeView.js +0 -1257
  40. package/dist/commonjs/components/SettingsView.d.ts +0 -13
  41. package/dist/commonjs/components/SettingsView.js +0 -328
  42. package/dist/commonjs/customHooks/webViewLogger.d.ts +0 -24
  43. package/dist/commonjs/customHooks/webViewLogger.js +0 -452
  44. package/dist/commonjs/enums/index.d.ts +0 -39
  45. package/dist/commonjs/enums/index.js +0 -50
  46. package/dist/commonjs/i18n/en.json +0 -144
  47. package/dist/esm/assets/svgAssets.d.ts +0 -3
  48. package/dist/esm/assets/svgAssets.js +0 -14
  49. package/dist/esm/components/AnalyticsTabView.d.ts +0 -15
  50. package/dist/esm/components/AnalyticsTabView.js +0 -151
  51. package/dist/esm/components/ApiDetailView.d.ts +0 -22
  52. package/dist/esm/components/ApiDetailView.js +0 -264
  53. package/dist/esm/components/ApisTabView.d.ts +0 -33
  54. package/dist/esm/components/ApisTabView.js +0 -196
  55. package/dist/esm/components/ConsoleLogDetailView.d.ts +0 -9
  56. package/dist/esm/components/ConsoleLogDetailView.js +0 -271
  57. package/dist/esm/components/ConsoleLogsTabView.d.ts +0 -24
  58. package/dist/esm/components/ConsoleLogsTabView.js +0 -348
  59. package/dist/esm/components/FloatingBubble.d.ts +0 -14
  60. package/dist/esm/components/FloatingBubble.js +0 -68
  61. package/dist/esm/components/Inspector/InsightsDashboard.d.ts +0 -3
  62. package/dist/esm/components/Inspector/InsightsDashboard.js +0 -614
  63. package/dist/esm/components/Inspector/WebViewTab.d.ts +0 -3
  64. package/dist/esm/components/Inspector/WebViewTab.js +0 -752
  65. package/dist/esm/components/InspectorHeader.d.ts +0 -19
  66. package/dist/esm/components/InspectorHeader.js +0 -323
  67. package/dist/esm/components/InspectorTabBar.d.ts +0 -16
  68. package/dist/esm/components/InspectorTabBar.js +0 -84
  69. package/dist/esm/components/NavigationTracker.d.ts +0 -7
  70. package/dist/esm/components/NavigationTracker.js +0 -39
  71. package/dist/esm/components/ReduxTabView.d.ts +0 -9
  72. package/dist/esm/components/ReduxTabView.js +0 -50
  73. package/dist/esm/components/ReduxTreeView.d.ts +0 -16
  74. package/dist/esm/components/ReduxTreeView.js +0 -1218
  75. package/dist/esm/components/SettingsView.d.ts +0 -13
  76. package/dist/esm/components/SettingsView.js +0 -321
  77. package/dist/esm/customHooks/webViewLogger.d.ts +0 -24
  78. package/dist/esm/customHooks/webViewLogger.js +0 -405
  79. package/dist/esm/enums/index.d.ts +0 -39
  80. package/dist/esm/enums/index.js +0 -47
  81. package/dist/esm/i18n/en.json +0 -144
  82. package/example/.bundle/config +0 -2
  83. package/example/.eslintrc.js +0 -4
  84. package/example/.prettierrc.js +0 -5
  85. package/example/.watchmanconfig +0 -1
  86. package/example/App.tsx +0 -879
  87. package/example/Gemfile +0 -17
  88. package/example/README.md +0 -53
  89. package/example/__tests__/App.test.tsx +0 -13
  90. package/example/android/app/build.gradle +0 -147
  91. package/example/android/app/debug.keystore +0 -0
  92. package/example/android/app/proguard-rules.pro +0 -10
  93. package/example/android/app/src/main/AndroidManifest.xml +0 -27
  94. package/example/android/app/src/main/java/com/example/MainActivity.kt +0 -22
  95. package/example/android/app/src/main/java/com/example/MainApplication.kt +0 -52
  96. package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -37
  97. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  98. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  99. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  100. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  101. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  102. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  103. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  104. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  105. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  106. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  107. package/example/android/app/src/main/res/values/strings.xml +0 -3
  108. package/example/android/app/src/main/res/values/styles.xml +0 -9
  109. package/example/android/build.gradle +0 -48
  110. package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  111. package/example/android/gradle/wrapper/gradle-wrapper.properties +0 -7
  112. package/example/android/gradle.properties +0 -45
  113. package/example/android/gradlew +0 -248
  114. package/example/android/gradlew.bat +0 -98
  115. package/example/android/settings.gradle +0 -25
  116. package/example/app.json +0 -4
  117. package/example/assets/app_icon.png +0 -0
  118. package/example/babel.config.js +0 -3
  119. package/example/guidance/Video-WalkThrough.mp4 +0 -0
  120. package/example/index.js +0 -9
  121. package/example/ios/.xcode.env +0 -11
  122. package/example/ios/Podfile +0 -34
  123. package/example/ios/Podfile.lock +0 -2303
  124. package/example/ios/example/AppDelegate.swift +0 -48
  125. package/example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json +0 -62
  126. package/example/ios/example/Images.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
  127. package/example/ios/example/Images.xcassets/Contents.json +0 -6
  128. package/example/ios/example/Info.plist +0 -60
  129. package/example/ios/example/LaunchScreen.storyboard +0 -47
  130. package/example/ios/example/PrivacyInfo.xcprivacy +0 -37
  131. package/example/ios/example.xcodeproj/project.pbxproj +0 -498
  132. package/example/ios/example.xcodeproj/xcshareddata/xcschemes/example.xcscheme +0 -88
  133. package/example/ios/example.xcworkspace/contents.xcworkspacedata +0 -10
  134. package/example/jest.config.js +0 -3
  135. package/example/metro.config.js +0 -45
  136. package/example/package-lock.json +0 -13508
  137. package/example/package.json +0 -54
  138. package/example/polyfill.js +0 -13
  139. package/example/tsconfig.json +0 -8
  140. package/fonts/Inter/Inter.ttc +0 -0
  141. package/fonts/Inter/InterVariable-Italic.ttf +0 -0
  142. package/fonts/Inter/InterVariable.ttf +0 -0
  143. package/fonts/Inter/LICENSE.txt +0 -92
  144. package/fonts/Inter/extras/otf/Inter-Black.otf +0 -0
  145. package/fonts/Inter/extras/otf/Inter-BlackItalic.otf +0 -0
  146. package/fonts/Inter/extras/otf/Inter-Bold.otf +0 -0
  147. package/fonts/Inter/extras/otf/Inter-BoldItalic.otf +0 -0
  148. package/fonts/Inter/extras/otf/Inter-ExtraBold.otf +0 -0
  149. package/fonts/Inter/extras/otf/Inter-ExtraBoldItalic.otf +0 -0
  150. package/fonts/Inter/extras/otf/Inter-ExtraLight.otf +0 -0
  151. package/fonts/Inter/extras/otf/Inter-ExtraLightItalic.otf +0 -0
  152. package/fonts/Inter/extras/otf/Inter-Italic.otf +0 -0
  153. package/fonts/Inter/extras/otf/Inter-Light.otf +0 -0
  154. package/fonts/Inter/extras/otf/Inter-LightItalic.otf +0 -0
  155. package/fonts/Inter/extras/otf/Inter-Medium.otf +0 -0
  156. package/fonts/Inter/extras/otf/Inter-MediumItalic.otf +0 -0
  157. package/fonts/Inter/extras/otf/Inter-Regular.otf +0 -0
  158. package/fonts/Inter/extras/otf/Inter-SemiBold.otf +0 -0
  159. package/fonts/Inter/extras/otf/Inter-SemiBoldItalic.otf +0 -0
  160. package/fonts/Inter/extras/otf/Inter-Thin.otf +0 -0
  161. package/fonts/Inter/extras/otf/Inter-ThinItalic.otf +0 -0
  162. package/fonts/Inter/extras/otf/InterDisplay-Black.otf +0 -0
  163. package/fonts/Inter/extras/otf/InterDisplay-BlackItalic.otf +0 -0
  164. package/fonts/Inter/extras/otf/InterDisplay-Bold.otf +0 -0
  165. package/fonts/Inter/extras/otf/InterDisplay-BoldItalic.otf +0 -0
  166. package/fonts/Inter/extras/otf/InterDisplay-ExtraBold.otf +0 -0
  167. package/fonts/Inter/extras/otf/InterDisplay-ExtraBoldItalic.otf +0 -0
  168. package/fonts/Inter/extras/otf/InterDisplay-ExtraLight.otf +0 -0
  169. package/fonts/Inter/extras/otf/InterDisplay-ExtraLightItalic.otf +0 -0
  170. package/fonts/Inter/extras/otf/InterDisplay-Italic.otf +0 -0
  171. package/fonts/Inter/extras/otf/InterDisplay-Light.otf +0 -0
  172. package/fonts/Inter/extras/otf/InterDisplay-LightItalic.otf +0 -0
  173. package/fonts/Inter/extras/otf/InterDisplay-Medium.otf +0 -0
  174. package/fonts/Inter/extras/otf/InterDisplay-MediumItalic.otf +0 -0
  175. package/fonts/Inter/extras/otf/InterDisplay-Regular.otf +0 -0
  176. package/fonts/Inter/extras/otf/InterDisplay-SemiBold.otf +0 -0
  177. package/fonts/Inter/extras/otf/InterDisplay-SemiBoldItalic.otf +0 -0
  178. package/fonts/Inter/extras/otf/InterDisplay-Thin.otf +0 -0
  179. package/fonts/Inter/extras/otf/InterDisplay-ThinItalic.otf +0 -0
  180. package/fonts/Inter/extras/ttf/Inter-Black.ttf +0 -0
  181. package/fonts/Inter/extras/ttf/Inter-BlackItalic.ttf +0 -0
  182. package/fonts/Inter/extras/ttf/Inter-Bold.ttf +0 -0
  183. package/fonts/Inter/extras/ttf/Inter-BoldItalic.ttf +0 -0
  184. package/fonts/Inter/extras/ttf/Inter-ExtraBold.ttf +0 -0
  185. package/fonts/Inter/extras/ttf/Inter-ExtraBoldItalic.ttf +0 -0
  186. package/fonts/Inter/extras/ttf/Inter-ExtraLight.ttf +0 -0
  187. package/fonts/Inter/extras/ttf/Inter-ExtraLightItalic.ttf +0 -0
  188. package/fonts/Inter/extras/ttf/Inter-Italic.ttf +0 -0
  189. package/fonts/Inter/extras/ttf/Inter-Light.ttf +0 -0
  190. package/fonts/Inter/extras/ttf/Inter-LightItalic.ttf +0 -0
  191. package/fonts/Inter/extras/ttf/Inter-Medium.ttf +0 -0
  192. package/fonts/Inter/extras/ttf/Inter-MediumItalic.ttf +0 -0
  193. package/fonts/Inter/extras/ttf/Inter-Regular.ttf +0 -0
  194. package/fonts/Inter/extras/ttf/Inter-SemiBold.ttf +0 -0
  195. package/fonts/Inter/extras/ttf/Inter-SemiBoldItalic.ttf +0 -0
  196. package/fonts/Inter/extras/ttf/Inter-Thin.ttf +0 -0
  197. package/fonts/Inter/extras/ttf/Inter-ThinItalic.ttf +0 -0
  198. package/fonts/Inter/extras/ttf/InterDisplay-Black.ttf +0 -0
  199. package/fonts/Inter/extras/ttf/InterDisplay-BlackItalic.ttf +0 -0
  200. package/fonts/Inter/extras/ttf/InterDisplay-Bold.ttf +0 -0
  201. package/fonts/Inter/extras/ttf/InterDisplay-BoldItalic.ttf +0 -0
  202. package/fonts/Inter/extras/ttf/InterDisplay-ExtraBold.ttf +0 -0
  203. package/fonts/Inter/extras/ttf/InterDisplay-ExtraBoldItalic.ttf +0 -0
  204. package/fonts/Inter/extras/ttf/InterDisplay-ExtraLight.ttf +0 -0
  205. package/fonts/Inter/extras/ttf/InterDisplay-ExtraLightItalic.ttf +0 -0
  206. package/fonts/Inter/extras/ttf/InterDisplay-Italic.ttf +0 -0
  207. package/fonts/Inter/extras/ttf/InterDisplay-Light.ttf +0 -0
  208. package/fonts/Inter/extras/ttf/InterDisplay-LightItalic.ttf +0 -0
  209. package/fonts/Inter/extras/ttf/InterDisplay-Medium.ttf +0 -0
  210. package/fonts/Inter/extras/ttf/InterDisplay-MediumItalic.ttf +0 -0
  211. package/fonts/Inter/extras/ttf/InterDisplay-Regular.ttf +0 -0
  212. package/fonts/Inter/extras/ttf/InterDisplay-SemiBold.ttf +0 -0
  213. package/fonts/Inter/extras/ttf/InterDisplay-SemiBoldItalic.ttf +0 -0
  214. package/fonts/Inter/extras/ttf/InterDisplay-Thin.ttf +0 -0
  215. package/fonts/Inter/extras/ttf/InterDisplay-ThinItalic.ttf +0 -0
  216. package/fonts/Inter/extras/woff-hinted/Inter-Black.woff2 +0 -0
  217. package/fonts/Inter/extras/woff-hinted/Inter-BlackItalic.woff2 +0 -0
  218. package/fonts/Inter/extras/woff-hinted/Inter-Bold.woff2 +0 -0
  219. package/fonts/Inter/extras/woff-hinted/Inter-BoldItalic.woff2 +0 -0
  220. package/fonts/Inter/extras/woff-hinted/Inter-ExtraBold.woff2 +0 -0
  221. package/fonts/Inter/extras/woff-hinted/Inter-ExtraBoldItalic.woff2 +0 -0
  222. package/fonts/Inter/extras/woff-hinted/Inter-ExtraLight.woff2 +0 -0
  223. package/fonts/Inter/extras/woff-hinted/Inter-ExtraLightItalic.woff2 +0 -0
  224. package/fonts/Inter/extras/woff-hinted/Inter-Italic.woff2 +0 -0
  225. package/fonts/Inter/extras/woff-hinted/Inter-Light.woff2 +0 -0
  226. package/fonts/Inter/extras/woff-hinted/Inter-LightItalic.woff2 +0 -0
  227. package/fonts/Inter/extras/woff-hinted/Inter-Medium.woff2 +0 -0
  228. package/fonts/Inter/extras/woff-hinted/Inter-MediumItalic.woff2 +0 -0
  229. package/fonts/Inter/extras/woff-hinted/Inter-Regular.woff2 +0 -0
  230. package/fonts/Inter/extras/woff-hinted/Inter-SemiBold.woff2 +0 -0
  231. package/fonts/Inter/extras/woff-hinted/Inter-SemiBoldItalic.woff2 +0 -0
  232. package/fonts/Inter/extras/woff-hinted/Inter-Thin.woff2 +0 -0
  233. package/fonts/Inter/extras/woff-hinted/Inter-ThinItalic.woff2 +0 -0
  234. package/fonts/Inter/extras/woff-hinted/InterDisplay-Black.woff2 +0 -0
  235. package/fonts/Inter/extras/woff-hinted/InterDisplay-BlackItalic.woff2 +0 -0
  236. package/fonts/Inter/extras/woff-hinted/InterDisplay-Bold.woff2 +0 -0
  237. package/fonts/Inter/extras/woff-hinted/InterDisplay-BoldItalic.woff2 +0 -0
  238. package/fonts/Inter/extras/woff-hinted/InterDisplay-ExtraBold.woff2 +0 -0
  239. package/fonts/Inter/extras/woff-hinted/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  240. package/fonts/Inter/extras/woff-hinted/InterDisplay-ExtraLight.woff2 +0 -0
  241. package/fonts/Inter/extras/woff-hinted/InterDisplay-ExtraLightItalic.woff2 +0 -0
  242. package/fonts/Inter/extras/woff-hinted/InterDisplay-Italic.woff2 +0 -0
  243. package/fonts/Inter/extras/woff-hinted/InterDisplay-Light.woff2 +0 -0
  244. package/fonts/Inter/extras/woff-hinted/InterDisplay-LightItalic.woff2 +0 -0
  245. package/fonts/Inter/extras/woff-hinted/InterDisplay-Medium.woff2 +0 -0
  246. package/fonts/Inter/extras/woff-hinted/InterDisplay-MediumItalic.woff2 +0 -0
  247. package/fonts/Inter/extras/woff-hinted/InterDisplay-Regular.woff2 +0 -0
  248. package/fonts/Inter/extras/woff-hinted/InterDisplay-SemiBold.woff2 +0 -0
  249. package/fonts/Inter/extras/woff-hinted/InterDisplay-SemiBoldItalic.woff2 +0 -0
  250. package/fonts/Inter/extras/woff-hinted/InterDisplay-Thin.woff2 +0 -0
  251. package/fonts/Inter/extras/woff-hinted/InterDisplay-ThinItalic.woff2 +0 -0
  252. package/fonts/Inter/help.txt +0 -165
  253. package/fonts/Inter/web/Inter-Black.woff2 +0 -0
  254. package/fonts/Inter/web/Inter-BlackItalic.woff2 +0 -0
  255. package/fonts/Inter/web/Inter-Bold.woff2 +0 -0
  256. package/fonts/Inter/web/Inter-BoldItalic.woff2 +0 -0
  257. package/fonts/Inter/web/Inter-ExtraBold.woff2 +0 -0
  258. package/fonts/Inter/web/Inter-ExtraBoldItalic.woff2 +0 -0
  259. package/fonts/Inter/web/Inter-ExtraLight.woff2 +0 -0
  260. package/fonts/Inter/web/Inter-ExtraLightItalic.woff2 +0 -0
  261. package/fonts/Inter/web/Inter-Italic.woff2 +0 -0
  262. package/fonts/Inter/web/Inter-Light.woff2 +0 -0
  263. package/fonts/Inter/web/Inter-LightItalic.woff2 +0 -0
  264. package/fonts/Inter/web/Inter-Medium.woff2 +0 -0
  265. package/fonts/Inter/web/Inter-MediumItalic.woff2 +0 -0
  266. package/fonts/Inter/web/Inter-Regular.woff2 +0 -0
  267. package/fonts/Inter/web/Inter-SemiBold.woff2 +0 -0
  268. package/fonts/Inter/web/Inter-SemiBoldItalic.woff2 +0 -0
  269. package/fonts/Inter/web/Inter-Thin.woff2 +0 -0
  270. package/fonts/Inter/web/Inter-ThinItalic.woff2 +0 -0
  271. package/fonts/Inter/web/InterDisplay-Black.woff2 +0 -0
  272. package/fonts/Inter/web/InterDisplay-BlackItalic.woff2 +0 -0
  273. package/fonts/Inter/web/InterDisplay-Bold.woff2 +0 -0
  274. package/fonts/Inter/web/InterDisplay-BoldItalic.woff2 +0 -0
  275. package/fonts/Inter/web/InterDisplay-ExtraBold.woff2 +0 -0
  276. package/fonts/Inter/web/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  277. package/fonts/Inter/web/InterDisplay-ExtraLight.woff2 +0 -0
  278. package/fonts/Inter/web/InterDisplay-ExtraLightItalic.woff2 +0 -0
  279. package/fonts/Inter/web/InterDisplay-Italic.woff2 +0 -0
  280. package/fonts/Inter/web/InterDisplay-Light.woff2 +0 -0
  281. package/fonts/Inter/web/InterDisplay-LightItalic.woff2 +0 -0
  282. package/fonts/Inter/web/InterDisplay-Medium.woff2 +0 -0
  283. package/fonts/Inter/web/InterDisplay-MediumItalic.woff2 +0 -0
  284. package/fonts/Inter/web/InterDisplay-Regular.woff2 +0 -0
  285. package/fonts/Inter/web/InterDisplay-SemiBold.woff2 +0 -0
  286. package/fonts/Inter/web/InterDisplay-SemiBoldItalic.woff2 +0 -0
  287. package/fonts/Inter/web/InterDisplay-Thin.woff2 +0 -0
  288. package/fonts/Inter/web/InterDisplay-ThinItalic.woff2 +0 -0
  289. package/fonts/Inter/web/InterVariable-Italic.woff2 +0 -0
  290. package/fonts/Inter/web/InterVariable.woff2 +0 -0
  291. package/fonts/Inter/web/inter.css +0 -148
@@ -1,14 +0,0 @@
1
- export const PRETTY_SVG = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M5 3C3.9 3 3 3.9 3 5v1.5c0 .8-.7 1.5-1.5 1.5S0 7.3 0 6.5V5c0-2.8 2.2-5 5-5 .6 0 1 .4 1 1s-.4 1-1 1zm6 0c-1.1 0-2 .9-2 2v1.5c0 .8-.7 1.5-1.5 1.5S6 9.3 6 8.5V5c0-2.8 2.2-5 5-5 .6 0 1 .4 1 1s-.4 1-1 1z" fill="currentColor" opacity="0.9"/>
3
- <path d="M3 11v1.5c0 .8.7 1.5 1.5 1.5S6 13.3 6 12.5V11H3zm7 0v1.5c0 .8.7 1.5 1.5 1.5S13 13.3 13 12.5V11H10z" fill="currentColor" opacity="0.6"/>
4
- </svg>`;
5
- export const RAW_SVG = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
6
- <rect x="1" y="2" width="10" height="1.5" rx="0.75" fill="currentColor" opacity="0.9"/>
7
- <rect x="1" y="5.5" width="14" height="1.5" rx="0.75" fill="currentColor" opacity="0.6"/>
8
- <rect x="1" y="9" width="8" height="1.5" rx="0.75" fill="currentColor" opacity="0.45"/>
9
- <rect x="1" y="12.5" width="12" height="1.5" rx="0.75" fill="currentColor" opacity="0.3"/>
10
- </svg>`;
11
- export const TABLE_SVG = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
12
- <rect x="1" y="1" width="14" height="14" rx="2" stroke="currentColor" stroke-width="1.2" opacity="0.7"/>
13
- <path d="M1 5.5h14M1 10h14M5.5 1v14M10.5 1v14" stroke="currentColor" stroke-width="0.8" opacity="0.5"/>
14
- </svg>`;
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import { AnalyticsEvent } from '../types';
3
- interface AnalyticsTabViewProps {
4
- analyticsSearch: string;
5
- onSetAnalyticsSearch: (val: string) => void;
6
- onDeleteEvents: () => void;
7
- selectedEvent: AnalyticsEvent | null;
8
- onSelectEvent: (event: AnalyticsEvent | null) => void;
9
- filteredAnalyticsEvents: AnalyticsEvent[];
10
- visibleAnalyticsEvents: AnalyticsEvent[];
11
- currentUserProperties: Record<string, any>;
12
- currentUserId: string | null;
13
- }
14
- export declare const AnalyticsTabView: React.FC<AnalyticsTabViewProps>;
15
- export default AnalyticsTabView;
@@ -1,151 +0,0 @@
1
- import React from 'react';
2
- import { FlatList, Pressable, Text, TextInput, View, } from 'react-native';
3
- import { useTranslation } from 'react-i18next';
4
- import TouchableScale from './TouchableScale';
5
- import AnalyticsEventCard from './AnalyticsEventCard';
6
- import AnalyticsDetail from './AnalyticsDetail';
7
- import EmptyState from './EmptyState';
8
- import AnimatedEntrance from './AnimatedEntrance';
9
- import { SearchIcon, ClearIcon, WipeIcon, UserIcon, } from './NetworkIcons';
10
- import { AppColors } from '../styles/AppColors';
11
- import { AppFonts } from '../styles/AppFonts';
12
- import styles from '../styles';
13
- export const AnalyticsTabView = React.memo(({ analyticsSearch, onSetAnalyticsSearch, onDeleteEvents, selectedEvent, onSelectEvent, filteredAnalyticsEvents, visibleAnalyticsEvents, currentUserProperties, currentUserId, }) => {
14
- const { t } = useTranslation();
15
- const [userPropsExpanded, setUserPropsExpanded] = React.useState(false);
16
- const renderItem = React.useCallback(({ item, index }) => (<AnimatedEntrance index={index} distance={8}>
17
- <AnalyticsEventCard event={item} searchStr={analyticsSearch} onPress={() => onSelectEvent(item)}/>
18
- </AnimatedEntrance>), [analyticsSearch, onSelectEvent]);
19
- const keyExtractor = React.useCallback((item, index) => item.id != null ? item.id.toString() : index.toString(), []);
20
- const renderAnalyticsHeader = () => {
21
- const hasProps = Object.keys(currentUserProperties ?? {}).length > 0;
22
- const total = visibleAnalyticsEvents.length;
23
- const filtered = filteredAnalyticsEvents.length;
24
- return (<View style={{ paddingHorizontal: 16, paddingTop: 8, paddingBottom: 4 }}>
25
- {(hasProps || currentUserId) && (<View style={{
26
- backgroundColor: AppColors.primaryLight,
27
- borderRadius: 10,
28
- borderWidth: 1,
29
- borderColor: AppColors.grayBorderSecondary,
30
- marginBottom: 10,
31
- overflow: 'hidden',
32
- }}>
33
- <Pressable onPress={() => setUserPropsExpanded(v => !v)} style={{
34
- flexDirection: 'row',
35
- alignItems: 'center',
36
- justifyContent: 'space-between',
37
- padding: 10,
38
- backgroundColor: AppColors.grayBackground,
39
- }}>
40
- <View style={{
41
- flexDirection: 'row',
42
- alignItems: 'center',
43
- gap: 6,
44
- }}>
45
- <UserIcon color={AppColors.purple} size={14}/>
46
- <Text style={{
47
- fontFamily: AppFonts.interBold,
48
- fontSize: 12,
49
- color: AppColors.primaryBlack,
50
- }}>
51
- {t('analytics.user_context')}
52
- </Text>
53
- {currentUserId && (<View style={{
54
- backgroundColor: 'rgba(104,75,155,0.1)',
55
- paddingHorizontal: 6,
56
- paddingVertical: 1,
57
- borderRadius: 4,
58
- }}>
59
- <Text style={{
60
- fontFamily: AppFonts.interBold,
61
- fontSize: 9,
62
- color: AppColors.purple,
63
- }}>
64
- {t('analytics.id')}: {currentUserId}
65
- </Text>
66
- </View>)}
67
- </View>
68
- <Text style={{
69
- fontFamily: AppFonts.interMedium,
70
- fontSize: 11,
71
- color: AppColors.purple,
72
- }}>
73
- {userPropsExpanded ? t('analytics.hide_props') : t('analytics.show_props')}
74
- </Text>
75
- </Pressable>
76
-
77
- {userPropsExpanded && hasProps && (<View style={{
78
- padding: 10,
79
- borderTopWidth: 1,
80
- borderTopColor: AppColors.dividerColor,
81
- gap: 4,
82
- }}>
83
- {Object.entries(currentUserProperties ?? {}).map(([k, v]) => (<View key={k} style={{
84
- flexDirection: 'row',
85
- justifyContent: 'space-between',
86
- }}>
87
- <Text style={{
88
- fontFamily: AppFonts.interMedium,
89
- fontSize: 11,
90
- color: AppColors.grayTextWeak,
91
- }}>
92
- {k}
93
- </Text>
94
- <Text style={{
95
- fontFamily: AppFonts.interBold,
96
- fontSize: 11,
97
- color: AppColors.primaryBlack,
98
- }}>
99
- {String(v)}
100
- </Text>
101
- </View>))}
102
- </View>)}
103
- </View>)}
104
-
105
- <Text style={[styles.resultCount, { marginBottom: 4 }]}>
106
- {t('filters.showing_analytics', { filtered, total })}
107
- </Text>
108
- </View>);
109
- };
110
- return (<View style={{ flex: 1 }}>
111
- {selectedEvent != null ? (<AnalyticsDetail event={selectedEvent} onClose={() => onSelectEvent(null)}/>) : (<View style={{ flex: 1 }}>
112
- <View style={{
113
- backgroundColor: AppColors.white,
114
- borderBottomWidth: 1,
115
- borderBottomColor: AppColors.dividerColor,
116
- paddingBottom: 6,
117
- }}>
118
- <View style={[
119
- styles.toolbarRow,
120
- { marginTop: 12, marginBottom: 8 },
121
- ]}>
122
- <View style={styles.searchContainer}>
123
- <SearchIcon color={AppColors.grayTextWeak} size={16}/>
124
- <TextInput placeholder={t('search.analytics_placeholder')} placeholderTextColor={AppColors.grayTextWeak} value={analyticsSearch} onChangeText={onSetAnalyticsSearch} style={styles.searchInput} autoCorrect={false} autoCapitalize="none"/>
125
- {analyticsSearch.length > 0 && (<Pressable onPress={() => onSetAnalyticsSearch('')} hitSlop={10} style={styles.clearBtn}>
126
- <ClearIcon color={AppColors.grayTextWeak} size={14}/>
127
- </Pressable>)}
128
- </View>
129
-
130
- <View style={styles.toolbarRight}>
131
- <TouchableScale style={[
132
- styles.toolbarBtn,
133
- {
134
- borderColor: 'rgba(255,46,87,0.22)',
135
- backgroundColor: 'rgba(255,46,87,0.06)',
136
- },
137
- ]} onPress={onDeleteEvents} hitSlop={6}>
138
- <WipeIcon color={AppColors.errorColor} size={15}/>
139
- </TouchableScale>
140
- </View>
141
- </View>
142
- </View>
143
-
144
- <FlatList data={filteredAnalyticsEvents} keyExtractor={keyExtractor} ListHeaderComponent={renderAnalyticsHeader} renderItem={renderItem} initialNumToRender={15} maxToRenderPerBatch={15} windowSize={7} removeClippedSubviews={true} ListEmptyComponent={<EmptyState isSearch={analyticsSearch.length > 0}/>} contentContainerStyle={[
145
- styles.listContent,
146
- filteredAnalyticsEvents.length === 0 && { flexGrow: 1 },
147
- ]} keyboardShouldPersistTaps="handled"/>
148
- </View>)}
149
- </View>);
150
- });
151
- export default AnalyticsTabView;
@@ -1,22 +0,0 @@
1
- import React from 'react';
2
- import { NetworkLog } from '../types';
3
- import { ApiDetailTab } from '../enums';
4
- interface ApiDetailViewProps {
5
- selected: NetworkLog;
6
- apiDetailActiveTab: ApiDetailTab | 'metadata' | 'headers' | 'request' | 'response';
7
- onSetApiDetailActiveTab: (tab: ApiDetailTab | 'metadata' | 'headers' | 'request' | 'response') => void;
8
- detailSearch: string;
9
- onSetDetailSearch: (val: string) => void;
10
- reqExpanded: boolean;
11
- onToggleReqExpanded: () => void;
12
- resExpanded: boolean;
13
- onToggleResExpanded: () => void;
14
- showReqDiff: boolean;
15
- onToggleShowReqDiff: () => void;
16
- showResDiff: boolean;
17
- onToggleShowResDiff: () => void;
18
- prevRequestData: any;
19
- prevResponseData: any;
20
- }
21
- export declare const ApiDetailView: React.FC<ApiDetailViewProps>;
22
- export default ApiDetailView;
@@ -1,264 +0,0 @@
1
- import React from 'react';
2
- import { Linking, Pressable, ScrollView, Text, TextInput, View, } from 'react-native';
3
- import Svg, { Circle } from 'react-native-svg';
4
- import { useTranslation } from 'react-i18next';
5
- import TouchableScale from './TouchableScale';
6
- import CopyButton from './CopyButton';
7
- import SectionHeader from './SectionHeader';
8
- import JsonViewer from './JsonViewer';
9
- import DiffViewer from './DiffViewer';
10
- import HeadersSection from './HeadersSection';
11
- import { GlobeIcon, ClearIcon, } from './NetworkIcons';
12
- import { METHOD_COLORS } from '../constants';
13
- import { AppColors } from '../styles/AppColors';
14
- import { AppFonts } from '../styles/AppFonts';
15
- import styles from '../styles';
16
- import { getStatusColor, formatDisplayUrl, getFetchCommand, getCurlCommand, getSize, } from '../helpers';
17
- export const ApiDetailView = ({ selected, apiDetailActiveTab, onSetApiDetailActiveTab, detailSearch, onSetDetailSearch, reqExpanded, onToggleReqExpanded, resExpanded, onToggleResExpanded, showReqDiff, onToggleShowReqDiff, showResDiff, onToggleShowResDiff, prevRequestData, prevResponseData, }) => {
18
- const { t } = useTranslation();
19
- const detailDisplayUrl = formatDisplayUrl(selected.url);
20
- let hostStr = '';
21
- let pathStr = detailDisplayUrl;
22
- let queryStr = '';
23
- try {
24
- const qIndex = detailDisplayUrl.indexOf('?');
25
- let cleanUrlForParsing = detailDisplayUrl;
26
- if (qIndex !== -1) {
27
- pathStr = detailDisplayUrl.substring(0, qIndex);
28
- queryStr = detailDisplayUrl.substring(qIndex);
29
- cleanUrlForParsing = pathStr;
30
- }
31
- const schemeIndex = cleanUrlForParsing.indexOf('://');
32
- if (schemeIndex !== -1) {
33
- const withoutScheme = cleanUrlForParsing.substring(schemeIndex + 3);
34
- const firstSlash = withoutScheme.indexOf('/');
35
- if (firstSlash !== -1) {
36
- hostStr = withoutScheme.substring(0, firstSlash);
37
- pathStr = withoutScheme.substring(firstSlash);
38
- }
39
- else {
40
- hostStr = withoutScheme;
41
- pathStr = '/';
42
- }
43
- }
44
- }
45
- catch (e) { }
46
- return (<View style={{ flex: 1 }}>
47
- {/* Non-scrollable details header */}
48
- <View style={{ paddingHorizontal: 6, paddingTop: 4 }}>
49
- <View style={styles.detailInfoBar}>
50
- <View style={styles.detailInfoTop}>
51
- <View style={{ flexDirection: 'row', alignItems: 'center', gap: 8 }}>
52
- <View style={[
53
- styles.methodBadge,
54
- {
55
- backgroundColor: METHOD_COLORS[selected.method] ??
56
- AppColors.grayText,
57
- },
58
- ]}>
59
- <Text style={styles.methodBadgeText}>{selected.method}</Text>
60
- </View>
61
- {selected.status != null && (<View style={[
62
- styles.chip,
63
- {
64
- backgroundColor: `${getStatusColor(selected.status)}15`,
65
- borderColor: `${getStatusColor(selected.status)}30`,
66
- },
67
- ]}>
68
- {selected.status !== 0 && (<Svg width="10" height="10" viewBox="0 0 10 10">
69
- <Circle cx="5" cy="5" r="5" fill={getStatusColor(selected.status)}/>
70
- </Svg>)}
71
- <Text style={[
72
- styles.chipText,
73
- {
74
- color: selected.status === 0
75
- ? AppColors.errorColor
76
- : getStatusColor(selected.status),
77
- },
78
- ]}>
79
- {selected.status === 0
80
- ? 'Failed'
81
- : String(selected.status)}
82
- </Text>
83
- </View>)}
84
-
85
- {selected.duration != null && (<View style={[
86
- styles.chip,
87
- {
88
- backgroundColor: 'rgba(104,75,155,0.08)',
89
- borderColor: 'rgba(104,75,155,0.18)',
90
- },
91
- ]}>
92
- <Text style={[
93
- styles.chipText,
94
- { color: AppColors.purple },
95
- ]}>
96
- {selected.duration}ms
97
- </Text>
98
- </View>)}
99
- </View>
100
- <View style={styles.detailInfoRight}>
101
- <TouchableScale style={styles.iconSquareBtn} onPress={() => Linking.openURL(detailDisplayUrl)} hitSlop={12}>
102
- <GlobeIcon color={AppColors.grayTextWeak} size={14}/>
103
- </TouchableScale>
104
- <CopyButton value={getFetchCommand(selected)} label="fetch()" iconType="fetch"/>
105
- <CopyButton value={getCurlCommand(selected)} label="cURL" iconType="terminal"/>
106
- <CopyButton value={detailDisplayUrl} label="URL"/>
107
- </View>
108
- </View>
109
-
110
- <Pressable style={{
111
- backgroundColor: AppColors.grayBackground,
112
- borderRadius: 10,
113
- borderWidth: 1,
114
- borderColor: AppColors.dividerColor,
115
- padding: 10,
116
- marginTop: 6,
117
- }} onPress={() => Linking.openURL(detailDisplayUrl)}>
118
- <View style={{
119
- flexDirection: 'row',
120
- alignItems: 'center',
121
- justifyContent: 'space-between',
122
- marginBottom: 2,
123
- }}>
124
- <Text style={{
125
- fontFamily: AppFonts.interMedium,
126
- fontSize: 10,
127
- color: AppColors.grayTextWeak,
128
- flex: 1,
129
- }} numberOfLines={1}>
130
- {hostStr || 'API Endpoint'}
131
- </Text>
132
- {queryStr ? (<View style={{
133
- backgroundColor: 'rgba(104,75,155,0.08)',
134
- paddingHorizontal: 5,
135
- paddingVertical: 1,
136
- borderRadius: 4,
137
- }}>
138
- <Text style={{
139
- fontFamily: AppFonts.interBold,
140
- fontSize: 8.5,
141
- color: AppColors.purple,
142
- }}>
143
- Query Params
144
- </Text>
145
- </View>) : null}
146
- </View>
147
- <Text selectable={true} style={{
148
- fontFamily: AppFonts.interBold,
149
- fontSize: 12,
150
- color: AppColors.primaryBlack,
151
- marginTop: 2,
152
- }} numberOfLines={2}>
153
- {pathStr}
154
- </Text>
155
- {queryStr ? (<Text selectable={true} style={{
156
- fontFamily: AppFonts.interRegular,
157
- fontSize: 10,
158
- color: AppColors.grayTextWeak,
159
- marginTop: 4,
160
- }} numberOfLines={1}>
161
- {queryStr}
162
- </Text>) : null}
163
- </Pressable>
164
- </View>
165
-
166
- {/* Tab Selection */}
167
- <ScrollView horizontal showsHorizontalScrollIndicator={false} style={styles.detailTabBar}>
168
- {['response', 'request', 'headers', 'metadata'].map(tab => (<TouchableScale key={tab} style={[
169
- styles.detailTab,
170
- apiDetailActiveTab === tab && styles.detailTabActive,
171
- ]} onPress={() => onSetApiDetailActiveTab(tab)}>
172
- <Text style={[
173
- styles.detailTabText,
174
- apiDetailActiveTab === tab && styles.detailTabTextActive,
175
- ]}>
176
- {t(`details.tab_${tab}`)}
177
- </Text>
178
- </TouchableScale>))}
179
- </ScrollView>
180
- </View>
181
-
182
- {/* Scrollable details content */}
183
- <ScrollView style={{ flex: 1 }} contentContainerStyle={{ padding: 6, gap: 4 }} keyboardShouldPersistTaps="handled" nestedScrollEnabled={true}>
184
- {apiDetailActiveTab === 'metadata' && (<View style={styles.sectionContainer}>
185
- <View style={styles.metadataCard}>
186
- <View style={styles.metadataRow}>
187
- <Text style={styles.metadataLabel}>{t('details.duration')}</Text>
188
- <Text style={styles.metadataValue}>
189
- {selected.duration != null
190
- ? `${selected.duration} ms`
191
- : '—'}
192
- </Text>
193
- </View>
194
- <View style={styles.metadataRow}>
195
- <Text style={styles.metadataLabel}>{t('details.timestamp')}</Text>
196
- <Text style={styles.metadataValue}>
197
- {new Date(selected.startTime).toLocaleString()}
198
- </Text>
199
- </View>
200
- <View style={styles.metadataRow}>
201
- <Text style={styles.metadataLabel}>{t('details.request_size')}</Text>
202
- <Text style={styles.metadataValue}>
203
- {getSize(selected.request)}
204
- </Text>
205
- </View>
206
- <View style={styles.metadataRow}>
207
- <Text style={styles.metadataLabel}>{t('details.response_size')}</Text>
208
- <Text style={styles.metadataValue}>
209
- {getSize(selected.response)}
210
- </Text>
211
- </View>
212
-
213
- {selected.caller && (<View style={[
214
- styles.metadataRow,
215
- { flexDirection: 'column', alignItems: 'flex-start', gap: 4 },
216
- ]}>
217
- <Text style={styles.metadataLabel}>Caller Stack</Text>
218
- <Text style={[styles.metadataValue, { fontSize: 11 }]} selectable>
219
- {selected.caller}
220
- </Text>
221
- </View>)}
222
- </View>
223
- </View>)}
224
-
225
- {apiDetailActiveTab === 'headers' && (<>
226
- <HeadersSection title="Response Headers" headers={selected.responseHeaders} search={detailSearch}/>
227
- <HeadersSection title="Request Headers" headers={selected.requestHeaders} search={detailSearch}/>
228
- </>)}
229
-
230
- {apiDetailActiveTab === 'request' && (<>
231
- <View style={styles.detailSearchRow}>
232
- <View style={styles.detailSearchBox}>
233
- <TextInput placeholder="Search request..." placeholderTextColor={AppColors.grayTextWeak} value={detailSearch} onChangeText={onSetDetailSearch} style={styles.detailSearchInput} autoCorrect={false} autoCapitalize="none"/>
234
- {detailSearch.length > 0 && (<Pressable onPress={() => onSetDetailSearch('')} hitSlop={10} style={{ padding: 8 }}>
235
- <ClearIcon color={AppColors.grayTextWeak} size={14}/>
236
- </Pressable>)}
237
- </View>
238
- </View>
239
-
240
- <View style={styles.sectionContainer}>
241
- <SectionHeader title="Request Payload" value={selected.request} expanded={reqExpanded} onToggleExpand={onToggleReqExpanded} showDiff={prevRequestData != null} isDiffing={showReqDiff} onToggleDiff={onToggleShowReqDiff}/>
242
- {showReqDiff ? (<DiffViewer oldData={prevRequestData} newData={selected.request} forceOpen={reqExpanded}/>) : (<JsonViewer data={selected.request} search={detailSearch} forceOpen={reqExpanded} wrap/>)}
243
- </View>
244
- </>)}
245
-
246
- {apiDetailActiveTab === 'response' && (<>
247
- <View style={styles.detailSearchRow}>
248
- <View style={styles.detailSearchBox}>
249
- <TextInput placeholder="Search response..." placeholderTextColor={AppColors.grayTextWeak} value={detailSearch} onChangeText={onSetDetailSearch} style={styles.detailSearchInput} autoCorrect={false} autoCapitalize="none"/>
250
- {detailSearch.length > 0 && (<Pressable onPress={() => onSetDetailSearch('')} hitSlop={10} style={{ padding: 8 }}>
251
- <ClearIcon color={AppColors.grayTextWeak} size={14}/>
252
- </Pressable>)}
253
- </View>
254
- </View>
255
-
256
- <View style={styles.sectionContainer}>
257
- <SectionHeader title="Response" value={selected.response} expanded={resExpanded} onToggleExpand={onToggleResExpanded} showDiff={prevResponseData != null} isDiffing={showResDiff} onToggleDiff={onToggleShowResDiff}/>
258
- {showResDiff ? (<DiffViewer oldData={prevResponseData} newData={selected.response} forceOpen={resExpanded}/>) : (<JsonViewer data={selected.response} search={detailSearch} forceOpen={resExpanded} wrap/>)}
259
- </View>
260
- </>)}
261
- </ScrollView>
262
- </View>);
263
- };
264
- export default ApiDetailView;
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import { FlatList } from 'react-native';
3
- import { NetworkLog, StatusFilter, Method, SortOrder, GroupedListItem, LocalFilter } from '../types';
4
- interface ApisTabViewProps {
5
- search: string;
6
- onSetSearch: (val: string) => void;
7
- sortOrder: SortOrder;
8
- onToggleSortOrder: () => void;
9
- statusFilters: Set<StatusFilter>;
10
- onToggleStatusFilter: (filter: StatusFilter) => void;
11
- methodFilters: Set<Method>;
12
- onToggleMethodFilter: (method: Method) => void;
13
- availableMethods: Method[];
14
- sectionFilters: Record<string, Set<LocalFilter>>;
15
- onToggleSectionFilter: (section: string, filter: LocalFilter) => void;
16
- groupByDomain: boolean;
17
- onToggleGroupByDomain: () => void;
18
- collapsedDomains: Set<string>;
19
- onToggleCollapseDomain: (domain: string) => void;
20
- onDeleteLogs: () => void;
21
- selectedLogs: Set<number>;
22
- onToggleSelectLog: (id: number) => void;
23
- filteredLogs: NetworkLog[];
24
- groupedListItems: GroupedListItem[];
25
- onSelectLog: (log: NetworkLog) => void;
26
- apisListRef: React.RefObject<FlatList<any> | null>;
27
- logCounts: {
28
- total: number;
29
- filtered: number;
30
- };
31
- }
32
- export declare const ApisTabView: React.FC<ApisTabViewProps>;
33
- export default ApisTabView;