react-native-inapp-inspector 2.3.18 → 2.3.20

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 (358) hide show
  1. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +57 -0
  2. package/dist/commonjs/analytics.js +1 -24
  3. package/dist/commonjs/bundle.js +1 -16
  4. package/dist/commonjs/capture.d.ts +2 -0
  5. package/dist/commonjs/capture.js +1 -32
  6. package/dist/commonjs/components/AnalyticsDetail.js +92 -623
  7. package/dist/commonjs/components/AnalyticsEventCard.js +54 -350
  8. package/dist/commonjs/components/AnalyticsGraph.js +70 -370
  9. package/dist/commonjs/components/AnimatedEntrance.js +1 -11
  10. package/dist/commonjs/components/AppHeaderLogo.js +7 -134
  11. package/dist/commonjs/components/BrandCircleIcon.js +73 -118
  12. package/dist/commonjs/components/BrandSquareIcon.js +63 -108
  13. package/dist/commonjs/components/CodeSnippet.js +48 -623
  14. package/dist/commonjs/components/ConsoleLogCard.js +63 -537
  15. package/dist/commonjs/components/CopyButton.js +3 -89
  16. package/dist/commonjs/components/DiffViewer.js +19 -83
  17. package/dist/commonjs/components/DomainHeader.js +27 -127
  18. package/dist/commonjs/components/EmptyState.d.ts +1 -0
  19. package/dist/commonjs/components/EmptyState.js +10 -87
  20. package/dist/commonjs/components/EndOfListFooter.js +7 -81
  21. package/dist/commonjs/components/ErrorBoundary.js +72 -566
  22. package/dist/commonjs/components/HeadersSection.js +31 -110
  23. package/dist/commonjs/components/HighlightText.js +17 -58
  24. package/dist/commonjs/components/Inspector/AboutModal.d.ts +6 -0
  25. package/dist/commonjs/components/Inspector/AboutModal.js +351 -0
  26. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +98 -797
  27. package/dist/commonjs/components/Inspector/AnalyticsTab.js +284 -930
  28. package/dist/commonjs/components/Inspector/BundleTab.js +551 -2918
  29. package/dist/commonjs/components/Inspector/ConsoleTab.js +79 -492
  30. package/dist/commonjs/components/Inspector/CrashDetail.js +123 -672
  31. package/dist/commonjs/components/Inspector/CrashFilterModal.js +66 -498
  32. package/dist/commonjs/components/Inspector/CrashTab.js +98 -670
  33. package/dist/commonjs/components/Inspector/DebuggingTab.js +64 -871
  34. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +143 -907
  35. package/dist/commonjs/components/Inspector/FabLauncher.js +85 -54
  36. package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +6 -99
  37. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +9 -0
  38. package/dist/commonjs/components/Inspector/FeedbackModal.js +167 -521
  39. package/dist/commonjs/components/Inspector/InspectorContext.js +1 -21
  40. package/dist/commonjs/components/Inspector/InspectorHeader.js +219 -1093
  41. package/dist/commonjs/components/Inspector/LogDetail.js +168 -994
  42. package/dist/commonjs/components/Inspector/MainScreen.js +60 -332
  43. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +136 -278
  44. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +134 -361
  45. package/dist/commonjs/components/Inspector/NavigationTracker.js +1 -12
  46. package/dist/commonjs/components/Inspector/NetworkDetail.js +96 -432
  47. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +60 -576
  48. package/dist/commonjs/components/Inspector/NetworkTab.js +84 -514
  49. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +17 -433
  50. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +25 -298
  51. package/dist/commonjs/components/Inspector/PerformanceTab.js +182 -1397
  52. package/dist/commonjs/components/Inspector/ReduxDetail.js +188 -1089
  53. package/dist/commonjs/components/Inspector/ReduxTab.js +85 -701
  54. package/dist/commonjs/components/Inspector/SettingsPanel.js +431 -3431
  55. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +11 -180
  56. package/dist/commonjs/components/Inspector/StorageTab.js +93 -826
  57. package/dist/commonjs/components/Inspector/TabBar.js +47 -183
  58. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +34 -408
  59. package/dist/commonjs/components/JsonViewer.js +168 -380
  60. package/dist/commonjs/components/LogCard.js +57 -567
  61. package/dist/commonjs/components/LogSyntaxHighlighter.js +11 -130
  62. package/dist/commonjs/components/MetaAccordion.js +69 -238
  63. package/dist/commonjs/components/MiniBarChart.js +3 -56
  64. package/dist/commonjs/components/MiniLineChart.js +3 -58
  65. package/dist/commonjs/components/NetworkIcons.d.ts +7 -0
  66. package/dist/commonjs/components/NetworkIcons.js +479 -997
  67. package/dist/commonjs/components/QRCodeView.js +5 -79
  68. package/dist/commonjs/components/SectionHeader.js +15 -37
  69. package/dist/commonjs/components/SegmentedTabs.js +7 -61
  70. package/dist/commonjs/components/SkeletonPlaceholder.js +11 -180
  71. package/dist/commonjs/components/Slider.js +15 -243
  72. package/dist/commonjs/components/SourcePageCard.js +30 -89
  73. package/dist/commonjs/components/Toast.js +5 -147
  74. package/dist/commonjs/components/TouchableScale.js +3 -24
  75. package/dist/commonjs/components/TreeNode.js +55 -130
  76. package/dist/commonjs/console.js +1 -16
  77. package/dist/commonjs/constants/index.js +1 -32
  78. package/dist/commonjs/constants/telemetryConfig.js +1 -6
  79. package/dist/commonjs/constants/version.d.ts +1 -1
  80. package/dist/commonjs/constants/version.js +1 -4
  81. package/dist/commonjs/crash.js +1 -23
  82. package/dist/commonjs/customHooks/analyticsLogger.js +1 -250
  83. package/dist/commonjs/customHooks/bundleAnalyzer.js +1 -957
  84. package/dist/commonjs/customHooks/consoleLogger.js +6 -445
  85. package/dist/commonjs/customHooks/crashHandler.js +7 -656
  86. package/dist/commonjs/customHooks/logFilters.js +1 -23
  87. package/dist/commonjs/customHooks/networkLogger.js +2 -536
  88. package/dist/commonjs/customHooks/performanceTracker.js +63 -750
  89. package/dist/commonjs/customHooks/reduxLogger.js +2 -313
  90. package/dist/commonjs/customHooks/storageInspector.js +1 -435
  91. package/dist/commonjs/customHooks/useAccordion.js +1 -18
  92. package/dist/commonjs/decorators/index.js +1 -100
  93. package/dist/commonjs/helpers/gaAnalyticsRegistry.js +1 -148
  94. package/dist/commonjs/helpers/index.js +8 -921
  95. package/dist/commonjs/helpers/memoryManager.js +1 -99
  96. package/dist/commonjs/helpers/qrGenerator.js +1 -367
  97. package/dist/commonjs/helpers/remoteConfig.js +1 -165
  98. package/dist/commonjs/helpers/searchQueryParser.js +1 -62
  99. package/dist/commonjs/helpers/settingsStore.js +1 -144
  100. package/dist/commonjs/helpers/telemetry.js +1 -501
  101. package/dist/commonjs/helpers/toast.js +1 -20
  102. package/dist/commonjs/i18n/index.js +1 -90
  103. package/dist/commonjs/i18n/locales/en.json +1 -1122
  104. package/dist/commonjs/index.js +5 -2153
  105. package/dist/commonjs/metro.js +6 -468
  106. package/dist/commonjs/native/NativeInspector.d.ts +3 -0
  107. package/dist/commonjs/native/NativeInspector.js +1 -402
  108. package/dist/commonjs/native/NativeNetworkInspector.d.ts +1 -0
  109. package/dist/commonjs/native/NativeNetworkInspector.js +1 -4
  110. package/dist/commonjs/network.js +1 -13
  111. package/dist/commonjs/performance.js +1 -29
  112. package/dist/commonjs/redux.js +1 -20
  113. package/dist/commonjs/storage.js +1 -14
  114. package/dist/commonjs/styles/AppColors.js +1 -423
  115. package/dist/commonjs/styles/AppFonts.js +1 -17
  116. package/dist/commonjs/styles/common.js +1 -190
  117. package/dist/commonjs/styles/index.d.ts +6 -0
  118. package/dist/commonjs/styles/index.js +1 -1589
  119. package/dist/commonjs/types/enums.d.ts +2 -1
  120. package/dist/commonjs/types/enums.js +1 -150
  121. package/dist/commonjs/types/index.js +1 -18
  122. package/dist/commonjs/types/interfaces.d.ts +7 -0
  123. package/dist/commonjs/types/interfaces.js +1 -2
  124. package/dist/esm/analytics.js +1 -2
  125. package/dist/esm/bundle.js +1 -2
  126. package/dist/esm/capture.d.ts +2 -0
  127. package/dist/esm/capture.js +1 -29
  128. package/dist/esm/components/AnalyticsDetail.js +171 -664
  129. package/dist/esm/components/AnalyticsEventCard.js +77 -335
  130. package/dist/esm/components/AnalyticsGraph.js +95 -357
  131. package/dist/esm/components/AnimatedEntrance.js +1 -6
  132. package/dist/esm/components/AppHeaderLogo.js +7 -94
  133. package/dist/esm/components/BrandCircleIcon.js +114 -119
  134. package/dist/esm/components/BrandSquareIcon.js +73 -78
  135. package/dist/esm/components/CodeSnippet.js +58 -595
  136. package/dist/esm/components/ConsoleLogCard.js +91 -526
  137. package/dist/esm/components/CopyButton.js +3 -51
  138. package/dist/esm/components/DiffViewer.js +22 -48
  139. package/dist/esm/components/DomainHeader.js +43 -138
  140. package/dist/esm/components/EmptyState.d.ts +1 -0
  141. package/dist/esm/components/EmptyState.js +17 -56
  142. package/dist/esm/components/EndOfListFooter.js +15 -83
  143. package/dist/esm/components/ErrorBoundary.js +125 -582
  144. package/dist/esm/components/HeadersSection.js +52 -93
  145. package/dist/esm/components/HighlightText.js +17 -53
  146. package/dist/esm/components/Inspector/AboutModal.d.ts +6 -0
  147. package/dist/esm/components/Inspector/AboutModal.js +351 -0
  148. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +225 -886
  149. package/dist/esm/components/Inspector/AnalyticsTab.js +296 -904
  150. package/dist/esm/components/Inspector/BundleTab.js +1175 -3502
  151. package/dist/esm/components/Inspector/ConsoleTab.js +113 -488
  152. package/dist/esm/components/Inspector/CrashDetail.js +236 -747
  153. package/dist/esm/components/Inspector/CrashFilterModal.js +149 -541
  154. package/dist/esm/components/Inspector/CrashTab.js +177 -711
  155. package/dist/esm/components/Inspector/DebuggingTab.js +156 -923
  156. package/dist/esm/components/Inspector/DeviceInfoTab.js +199 -924
  157. package/dist/esm/components/Inspector/FabLauncher.js +85 -49
  158. package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +14 -70
  159. package/dist/esm/components/Inspector/FeedbackModal.d.ts +9 -0
  160. package/dist/esm/components/Inspector/FeedbackModal.js +182 -499
  161. package/dist/esm/components/Inspector/InspectorContext.js +1 -12
  162. package/dist/esm/components/Inspector/InspectorHeader.js +309 -1145
  163. package/dist/esm/components/Inspector/LogDetail.js +235 -1023
  164. package/dist/esm/components/Inspector/MainScreen.js +86 -320
  165. package/dist/esm/components/Inspector/MediaGalleryTab.js +157 -259
  166. package/dist/esm/components/Inspector/MediaPreviewModal.js +153 -340
  167. package/dist/esm/components/Inspector/NavigationTracker.js +1 -10
  168. package/dist/esm/components/Inspector/NetworkDetail.js +141 -472
  169. package/dist/esm/components/Inspector/NetworkFilterModal.js +122 -597
  170. package/dist/esm/components/Inspector/NetworkTab.js +125 -517
  171. package/dist/esm/components/Inspector/NpmStarPrompt.js +58 -434
  172. package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -281
  173. package/dist/esm/components/Inspector/PerformanceTab.js +393 -1570
  174. package/dist/esm/components/Inspector/ReduxDetail.js +307 -1170
  175. package/dist/esm/components/Inspector/ReduxTab.js +144 -722
  176. package/dist/esm/components/Inspector/SettingsPanel.js +647 -3609
  177. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +30 -163
  178. package/dist/esm/components/Inspector/StorageTab.js +172 -866
  179. package/dist/esm/components/Inspector/TabBar.js +52 -183
  180. package/dist/esm/components/Inspector/UpdateAvailableModal.js +79 -416
  181. package/dist/esm/components/JsonViewer.js +179 -353
  182. package/dist/esm/components/LogCard.js +93 -565
  183. package/dist/esm/components/LogSyntaxHighlighter.js +11 -123
  184. package/dist/esm/components/MetaAccordion.js +136 -267
  185. package/dist/esm/components/MiniBarChart.js +3 -18
  186. package/dist/esm/components/MiniLineChart.js +3 -20
  187. package/dist/esm/components/NetworkIcons.d.ts +7 -0
  188. package/dist/esm/components/NetworkIcons.js +481 -817
  189. package/dist/esm/components/QRCodeView.js +8 -45
  190. package/dist/esm/components/SectionHeader.js +22 -39
  191. package/dist/esm/components/SegmentedTabs.js +8 -57
  192. package/dist/esm/components/SkeletonPlaceholder.js +30 -163
  193. package/dist/esm/components/Slider.js +24 -213
  194. package/dist/esm/components/SourcePageCard.js +65 -86
  195. package/dist/esm/components/Toast.js +10 -117
  196. package/dist/esm/components/TouchableScale.js +3 -19
  197. package/dist/esm/components/TreeNode.js +58 -95
  198. package/dist/esm/console.js +1 -2
  199. package/dist/esm/constants/index.js +1 -28
  200. package/dist/esm/constants/telemetryConfig.js +1 -3
  201. package/dist/esm/constants/version.d.ts +1 -1
  202. package/dist/esm/constants/version.js +1 -1
  203. package/dist/esm/crash.js +1 -2
  204. package/dist/esm/customHooks/analyticsLogger.js +1 -230
  205. package/dist/esm/customHooks/bundleAnalyzer.js +1 -944
  206. package/dist/esm/customHooks/consoleLogger.js +6 -432
  207. package/dist/esm/customHooks/crashHandler.js +7 -630
  208. package/dist/esm/customHooks/logFilters.js +1 -20
  209. package/dist/esm/customHooks/networkLogger.js +2 -519
  210. package/dist/esm/customHooks/performanceTracker.js +63 -723
  211. package/dist/esm/customHooks/reduxLogger.js +2 -293
  212. package/dist/esm/customHooks/storageInspector.js +1 -418
  213. package/dist/esm/customHooks/useAccordion.js +1 -16
  214. package/dist/esm/decorators/index.js +1 -95
  215. package/dist/esm/helpers/gaAnalyticsRegistry.js +1 -143
  216. package/dist/esm/helpers/index.js +8 -861
  217. package/dist/esm/helpers/memoryManager.js +1 -91
  218. package/dist/esm/helpers/qrGenerator.js +1 -364
  219. package/dist/esm/helpers/remoteConfig.js +1 -160
  220. package/dist/esm/helpers/searchQueryParser.js +1 -59
  221. package/dist/esm/helpers/settingsStore.js +1 -134
  222. package/dist/esm/helpers/telemetry.js +1 -489
  223. package/dist/esm/helpers/toast.js +1 -15
  224. package/dist/esm/i18n/index.js +1 -78
  225. package/dist/esm/i18n/locales/en.json +1 -1122
  226. package/dist/esm/index.js +7 -1967
  227. package/dist/esm/metro.js +6 -459
  228. package/dist/esm/native/NativeInspector.d.ts +3 -0
  229. package/dist/esm/native/NativeInspector.js +1 -370
  230. package/dist/esm/native/NativeNetworkInspector.d.ts +1 -0
  231. package/dist/esm/native/NativeNetworkInspector.js +1 -2
  232. package/dist/esm/network.js +1 -1
  233. package/dist/esm/performance.js +1 -2
  234. package/dist/esm/redux.js +1 -1
  235. package/dist/esm/storage.js +1 -1
  236. package/dist/esm/styles/AppColors.js +1 -417
  237. package/dist/esm/styles/AppFonts.js +1 -13
  238. package/dist/esm/styles/common.js +1 -186
  239. package/dist/esm/styles/index.d.ts +6 -0
  240. package/dist/esm/styles/index.js +1 -1551
  241. package/dist/esm/types/enums.d.ts +2 -1
  242. package/dist/esm/types/enums.js +1 -147
  243. package/dist/esm/types/index.js +1 -2
  244. package/dist/esm/types/interfaces.d.ts +7 -0
  245. package/dist/esm/types/interfaces.js +1 -1
  246. package/ios/NetworkInspectorModule.mm +253 -136
  247. package/package.json +5 -3
  248. package/react-native-inapp-inspector.podspec +1 -1
  249. package/src/native/NativeInspector.ts +17 -0
  250. package/src/native/NativeNetworkInspector.ts +1 -0
  251. package/src/analytics.ts +0 -35
  252. package/src/bundle.ts +0 -25
  253. package/src/capture.ts +0 -101
  254. package/src/components/AnalyticsDetail.tsx +0 -870
  255. package/src/components/AnalyticsEventCard.tsx +0 -444
  256. package/src/components/AnalyticsGraph.tsx +0 -583
  257. package/src/components/AnimatedEntrance.tsx +0 -20
  258. package/src/components/AppHeaderLogo.tsx +0 -143
  259. package/src/components/BrandCircleIcon.tsx +0 -144
  260. package/src/components/BrandSquareIcon.tsx +0 -184
  261. package/src/components/CodeSnippet.tsx +0 -725
  262. package/src/components/ConsoleLogCard.tsx +0 -679
  263. package/src/components/CopyButton.tsx +0 -87
  264. package/src/components/DiffViewer.tsx +0 -82
  265. package/src/components/DomainHeader.tsx +0 -224
  266. package/src/components/EmptyState.tsx +0 -95
  267. package/src/components/EndOfListFooter.tsx +0 -100
  268. package/src/components/ErrorBoundary.tsx +0 -688
  269. package/src/components/HeadersSection.tsx +0 -172
  270. package/src/components/HighlightText.tsx +0 -100
  271. package/src/components/Inspector/AnalyticsFilterModal.tsx +0 -1250
  272. package/src/components/Inspector/AnalyticsTab.tsx +0 -1362
  273. package/src/components/Inspector/BundleTab.tsx +0 -4768
  274. package/src/components/Inspector/ConsoleTab.tsx +0 -726
  275. package/src/components/Inspector/CrashDetail.tsx +0 -997
  276. package/src/components/Inspector/CrashFilterModal.tsx +0 -721
  277. package/src/components/Inspector/CrashTab.tsx +0 -933
  278. package/src/components/Inspector/DebuggingTab.tsx +0 -1103
  279. package/src/components/Inspector/DeviceInfoTab.tsx +0 -1397
  280. package/src/components/Inspector/FabLauncher.tsx +0 -80
  281. package/src/components/Inspector/FeatureUnderDevNotice.tsx +0 -94
  282. package/src/components/Inspector/FeedbackModal.tsx +0 -626
  283. package/src/components/Inspector/InspectorContext.tsx +0 -28
  284. package/src/components/Inspector/InspectorHeader.tsx +0 -1545
  285. package/src/components/Inspector/LogDetail.tsx +0 -1431
  286. package/src/components/Inspector/MainScreen.tsx +0 -459
  287. package/src/components/Inspector/MediaGalleryTab.tsx +0 -355
  288. package/src/components/Inspector/MediaPreviewModal.tsx +0 -435
  289. package/src/components/Inspector/NavigationTracker.tsx +0 -13
  290. package/src/components/Inspector/NetworkDetail.tsx +0 -795
  291. package/src/components/Inspector/NetworkFilterModal.tsx +0 -730
  292. package/src/components/Inspector/NetworkTab.tsx +0 -820
  293. package/src/components/Inspector/NpmStarPrompt.tsx +0 -532
  294. package/src/components/Inspector/NpmUpdateToast.tsx +0 -387
  295. package/src/components/Inspector/PerformanceTab.tsx +0 -1967
  296. package/src/components/Inspector/ReduxDetail.tsx +0 -1651
  297. package/src/components/Inspector/ReduxTab.tsx +0 -987
  298. package/src/components/Inspector/SettingsPanel.tsx +0 -4580
  299. package/src/components/Inspector/SkeletonPlaceholder.tsx +0 -206
  300. package/src/components/Inspector/StorageTab.tsx +0 -1159
  301. package/src/components/Inspector/TabBar.tsx +0 -263
  302. package/src/components/Inspector/UpdateAvailableModal.tsx +0 -555
  303. package/src/components/JsonViewer.tsx +0 -547
  304. package/src/components/LogCard.tsx +0 -694
  305. package/src/components/LogSyntaxHighlighter.tsx +0 -178
  306. package/src/components/MetaAccordion.tsx +0 -355
  307. package/src/components/MiniBarChart.tsx +0 -42
  308. package/src/components/MiniLineChart.tsx +0 -33
  309. package/src/components/NetworkIcons.tsx +0 -2599
  310. package/src/components/QRCodeView.tsx +0 -75
  311. package/src/components/SectionHeader.tsx +0 -101
  312. package/src/components/SegmentedTabs.tsx +0 -83
  313. package/src/components/SkeletonPlaceholder.tsx +0 -206
  314. package/src/components/Slider.tsx +0 -300
  315. package/src/components/SourcePageCard.tsx +0 -150
  316. package/src/components/Toast.tsx +0 -131
  317. package/src/components/TouchableScale.tsx +0 -61
  318. package/src/components/TreeNode.tsx +0 -171
  319. package/src/console.ts +0 -24
  320. package/src/constants/index.ts +0 -41
  321. package/src/constants/telemetryConfig.ts +0 -4
  322. package/src/constants/version.ts +0 -3
  323. package/src/crash.ts +0 -32
  324. package/src/customHooks/analyticsLogger.ts +0 -336
  325. package/src/customHooks/bundleAnalyzer.ts +0 -1256
  326. package/src/customHooks/consoleLogger.ts +0 -530
  327. package/src/customHooks/crashHandler.ts +0 -944
  328. package/src/customHooks/logFilters.ts +0 -32
  329. package/src/customHooks/networkLogger.ts +0 -624
  330. package/src/customHooks/performanceTracker.ts +0 -1014
  331. package/src/customHooks/reduxLogger.ts +0 -406
  332. package/src/customHooks/storageInspector.ts +0 -513
  333. package/src/customHooks/useAccordion.tsx +0 -27
  334. package/src/decorators/index.ts +0 -184
  335. package/src/helpers/gaAnalyticsRegistry.ts +0 -204
  336. package/src/helpers/index.ts +0 -1092
  337. package/src/helpers/memoryManager.ts +0 -138
  338. package/src/helpers/qrGenerator.ts +0 -430
  339. package/src/helpers/remoteConfig.ts +0 -212
  340. package/src/helpers/searchQueryParser.ts +0 -84
  341. package/src/helpers/settingsStore.ts +0 -171
  342. package/src/helpers/telemetry.ts +0 -568
  343. package/src/helpers/toast.ts +0 -17
  344. package/src/i18n/index.ts +0 -104
  345. package/src/i18n/locales/en.json +0 -1125
  346. package/src/index.tsx +0 -2635
  347. package/src/metro.ts +0 -598
  348. package/src/network.ts +0 -22
  349. package/src/performance.ts +0 -38
  350. package/src/redux.ts +0 -23
  351. package/src/storage.ts +0 -18
  352. package/src/styles/AppColors.ts +0 -455
  353. package/src/styles/AppFonts.ts +0 -26
  354. package/src/styles/common.ts +0 -209
  355. package/src/styles/index.ts +0 -1606
  356. package/src/types/enums.ts +0 -208
  357. package/src/types/index.ts +0 -34
  358. package/src/types/interfaces.ts +0 -530
@@ -1,359 +1,185 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { ScrollView, View, Text, StyleSheet, TouchableOpacity } from 'react-native';
3
- import { useTranslation } from '../i18n';
4
- import TreeNode from './TreeNode';
5
- import SegmentedTabs from './SegmentedTabs';
6
- import HighlightText from './HighlightText';
7
- import CopyButton from './CopyButton';
8
- import { PrettyIcon, RawIcon, TableIcon, ChevronIcon } from './NetworkIcons';
9
- import { AppColors } from '../styles/AppColors';
10
- import { AppFonts } from '../styles/AppFonts';
11
- import styles from '../styles';
12
- const JsonTableRow = React.memo(({ itemKey, val, search, }) => {
13
- const [expanded, setExpanded] = useState(false);
14
- const isObject = val !== null && typeof val === 'object';
15
- let rawStr = '';
16
- if (val === null) {
17
- rawStr = 'null';
18
- }
19
- else if (val === undefined) {
20
- rawStr = 'undefined';
21
- }
22
- else if (isObject) {
23
- try {
24
- rawStr = JSON.stringify(val, null, 2);
25
- }
26
- catch {
27
- rawStr = String(val);
28
- }
29
- }
30
- else {
31
- rawStr = String(val);
32
- }
33
- const isMultiline = rawStr.includes('\n') || rawStr.length > 90;
34
- return (<View style={localStyles.tableRow}>
35
- <View style={{ flex: 2, paddingRight: 8 }}>
36
- <HighlightText text={itemKey} search={search} style={localStyles.tableCellKey} highlightStyle={localStyles.highlight}/>
37
- {isObject && (<Text style={localStyles.tableTypeBadge}>
38
- {Array.isArray(val) ? `Array(${val.length})` : 'Object'}
39
- </Text>)}
40
- </View>
1
+ import de,{useState as j,useEffect as ee,useMemo as v}from"react";import{ScrollView as A,View as F,Text as T,StyleSheet as he,TouchableOpacity as O,Platform as ue}from"react-native";import{useTranslation as we}from"../i18n";import Te from"./TreeNode";import L from"./HighlightText";import Ce from"./TouchableScale";import{PrettyIcon as Se,RawIcon as Ve,TableIcon as Be,ChevronIcon as Ee,CopyIcon as De,CheckIcon as Re}from"./NetworkIcons";import{getSize as We,copyToClipboard as Ie}from"../helpers";import{triggerNativeHaptic as Ae}from"../native/NativeInspector";const S=ue.select({ios:"Menlo",android:"monospace",default:"monospace"}),Oe=t=>t===null?{label:"null",color:"#E11D48",bg:"#FFF1F2",border:"#FECDD3"}:t===void 0?{label:"undef",color:"#E11D48",bg:"#FFF1F2",border:"#FECDD3"}:Array.isArray(t)?{label:`arr[${t.length}]`,color:"#2563EB",bg:"#EFF6FF",border:"#BFDBFE"}:typeof t=="object"?{label:`obj{${Object.keys(t).length}}`,color:"#7C3AED",bg:"#F5F3FF",border:"#DDD6FE"}:typeof t=="number"?{label:"num",color:"#D97706",bg:"#FEF3C7",border:"#FDE68A"}:typeof t=="boolean"?{label:"bool",color:"#DB2777",bg:"#FDF2F8",border:"#FBCFE8"}:{label:"str",color:"#059669",bg:"#ECFDF5",border:"#A7F3D0"},He=de.memo(({itemKey:t,val:f,search:H,index:$})=>{const[R,z]=j(!1),P=f!==null&&typeof f=="object",D=Oe(f);let B="";if(f===null)B="null";else if(f===void 0)B="undefined";else if(P)try{B=JSON.stringify(f,null,2)}catch{B=String(f)}else B=String(f);const _=B.includes(`
2
+ `)||B.length>80;return<F style={[e.tableRow,$%2===1&&e.tableRowAlt]}>
3
+
4
+ <F style={e.tableColKey}>
5
+ <L text={t}search={H}style={e.tableCellKey}highlightStyle={e.highlight}/>
6
+ <F style={[e.typePill,{backgroundColor:D.bg,borderColor:D.border}]}>
7
+ <T style={[e.typePillText,{color:D.color}]}>
8
+ {D.label}
9
+ </T>
10
+ </F>
11
+ </F>
41
12
 
42
- <View style={{ flex: 3 }}>
43
- <HighlightText text={rawStr} search={search} style={[
44
- localStyles.tableCellValue,
45
- isObject && localStyles.tableCellRawCode,
46
- ]} highlightStyle={localStyles.highlight} numberOfLines={expanded ? undefined : 3} selectable={true}/>
47
- {isMultiline && (<TouchableOpacity onPress={() => setExpanded(prev => !prev)} hitSlop={6} style={[localStyles.showMoreBtn, { flexDirection: 'row', alignItems: 'center', gap: 4 }]}>
48
- <Text style={localStyles.showMoreText}>
49
- {expanded ? 'Show less' : 'Show more'}
50
- </Text>
51
- <ChevronIcon direction={expanded ? 'up' : 'down'} size={10} color={AppColors.purple}/>
52
- </TouchableOpacity>)}
53
- </View>
54
- </View>);
55
- });
56
- const JsonViewer = React.memo(({ data, search, forceOpen, defaultExpandDepth = 1, wrap, fullHeight = false, maxHeight, mode: externalMode, onModeChange, hideTabs = false, }) => {
57
- const { t } = useTranslation();
58
- const [internalMode, setInternalMode] = useState('raw');
59
- const mode = externalMode ?? internalMode;
60
- const setMode = (newMode) => {
61
- if (onModeChange) {
62
- onModeChange(newMode);
63
- }
64
- else {
65
- setInternalMode(newMode);
66
- }
67
- };
68
- const rawText = React.useMemo(() => {
69
- if (data === undefined || data === null) {
70
- return '';
71
- }
72
- if (typeof data === 'string') {
73
- return data;
74
- }
75
- try {
76
- const stringified = JSON.stringify(data);
77
- return stringified ?? '';
78
- }
79
- catch {
80
- return String(data) || '';
81
- }
82
- }, [data]);
83
- const [showFullRaw, setShowFullRaw] = useState(false);
84
- const RAW_LIMIT = 50000;
85
- const safeRawText = typeof rawText === 'string' ? rawText : '';
86
- const isTruncated = safeRawText.length > RAW_LIMIT && !showFullRaw;
87
- const displayRawText = isTruncated ? safeRawText.slice(0, RAW_LIMIT) : safeRawText;
88
- useEffect(() => {
89
- if (externalMode) {
90
- setInternalMode(externalMode);
91
- }
92
- }, [externalMode]);
93
- const contentWrapperStyle = [
94
- localStyles.contentWrapper,
95
- { backgroundColor: AppColors.contentBg },
96
- fullHeight && { flex: 1, maxHeight: undefined },
97
- !fullHeight && maxHeight != null && { maxHeight },
98
- ];
99
- const scrollStyle = [
100
- localStyles.rawScroll,
101
- !fullHeight && maxHeight != null && { maxHeight },
102
- ];
103
- const isObject = typeof data === 'object' && data !== null;
104
- const isEmpty = data === null ||
105
- data === undefined ||
106
- (isObject && Object.keys(data).length === 0);
107
- const renderTableMode = () => {
108
- if (!isObject) {
109
- return (<View style={localStyles.tableRow}>
110
- <Text style={localStyles.tableCellKey}>{t('network.jsonViewer.value')}</Text>
111
- <Text style={localStyles.tableCellValue}>{String(data)}</Text>
112
- </View>);
113
- }
114
- let keys = Object.keys(data);
115
- if (search && search.trim().length > 0) {
116
- const q = search.trim().toLowerCase();
117
- keys = keys.filter(key => {
118
- const val = data[key];
119
- const valStr = typeof val === 'object' && val !== null ? JSON.stringify(val) : String(val);
120
- return key.toLowerCase().includes(q) || valStr.toLowerCase().includes(q);
121
- });
122
- }
123
- if (keys.length === 0) {
124
- return (<View style={localStyles.emptyTable}>
125
- <Text style={localStyles.emptyTableText}>
126
- {search && search.trim().length > 0
127
- ? 'No matching keys or values found'
128
- : t('network.jsonViewer.emptyTable')}
129
- </Text>
130
- </View>);
131
- }
132
- return (<View style={localStyles.tableView}>
133
- <View style={localStyles.tableHeaderRow}>
134
- <Text style={[localStyles.tableHeaderCell, { flex: 2 }]}>{t('network.jsonViewer.key')}</Text>
135
- <Text style={[localStyles.tableHeaderCell, { flex: 3 }]}>{t('network.jsonViewer.value')}</Text>
136
- </View>
137
- {keys.map((key) => (<JsonTableRow key={key} itemKey={key} val={data[key]} search={search}/>))}
138
- </View>);
139
- };
140
- const tree = (<TreeNode data={data} search={search} forceOpen={forceOpen} defaultExpandDepth={defaultExpandDepth}/>);
141
- return (<View style={[localStyles.container, fullHeight && { flex: 1 }]}>
142
13
 
143
- {!hideTabs && (<View style={localStyles.toolbar}>
144
- <SegmentedTabs tabs={[
145
- {
146
- key: 'pretty',
147
- label: t('network.jsonViewer.pretty'),
148
- icon: (isActive) => (<PrettyIcon color={isActive ? AppColors.white : AppColors.slate400} size={12}/>),
149
- },
150
- {
151
- key: 'raw',
152
- label: t('network.jsonViewer.raw'),
153
- icon: (isActive) => (<RawIcon color={isActive ? AppColors.white : AppColors.slate400} size={12}/>),
154
- },
155
- {
156
- key: 'table',
157
- label: t('network.jsonViewer.table'),
158
- icon: (isActive) => (<TableIcon color={isActive ? AppColors.white : AppColors.slate400} size={12}/>),
159
- },
160
- ]} activeKey={mode} onChange={key => setMode(key)}/>
161
- <CopyButton value={data} label="JSON"/>
162
- </View>)}
14
+ <F style={e.tableColVal}>
15
+ <F style={P?e.tableCodeBox:void 0}>
16
+ <L text={B}search={H}style={[e.tableCellValue,f==null?e.syntaxNull:void 0,typeof f=="number"?e.syntaxNumber:void 0,typeof f=="boolean"?e.syntaxBoolean:void 0,typeof f=="string"?e.syntaxString:void 0]}highlightStyle={e.highlight}numberOfLines={R?void 0:3}selectable={!0}/>
17
+ </F>
18
+ {_&&<O onPress={()=>z(W=>!W)}hitSlop={6}style={e.showMoreBtn}>
19
+ <T style={e.showMoreText}>
20
+ {R?"Collapse":"Expand"}
21
+ </T>
22
+ <Ee direction={R?"up":"down"}size={9}color="#4F46E5"/>
23
+ </O>}
24
+ </F>
25
+ </F>}),je=de.memo(({data:t,search:f,forceOpen:H,defaultExpandDepth:$=1,wrap:R,fullHeight:z=!1,maxHeight:P,mode:D,onModeChange:B,hideTabs:_=!1})=>{const{t:W}=we(),[ge,te]=j(D??"pretty"),[oe,re]=j(!1),[N,le]=j(R??!1),[G,ne]=j(H),V=B&&D?D:ge,Y=x=>{te(x),B&&B(x)};ee(()=>{R!==void 0&&le(R)},[R]),ee(()=>{H!==void 0&&ne(H)},[H]);const k=v(()=>{if(t==null)return"";if(typeof t=="string")return t;try{return JSON.stringify(t,null,2)??""}catch{return String(t)||""}},[t]),ye=v(()=>{if(typeof t=="string")return t;try{return JSON.stringify(t)??""}catch{return String(t)||""}},[t]),[pe,ie]=j(!1),ae=5e4,q=typeof k=="string"?k:"",U=q.length>ae&&!pe,Q=U?q.slice(0,ae):q,K=v(()=>Q?Q.split(`
26
+ `):[""],[Q]),se=K.length,be=v(()=>We(t),[t]);ee(()=>{D&&te(D)},[D]);const Fe=()=>{Ae("success"),Ie(ye||k,"JSON"),re(!0),setTimeout(()=>re(!1),1200)},X=typeof t=="object"&&t!==null,fe=t==null||X&&Object.keys(t).length===0,ce=()=>{if(!X)return<F style={e.tableRow}>
27
+ <F style={e.tableColKey}>
28
+ <T style={e.tableCellKey}>{W("network.jsonViewer.value")}</T>
29
+ </F>
30
+ <F style={e.tableColVal}>
31
+ <T style={e.tableCellValue}>{String(t)}</T>
32
+ </F>
33
+ </F>;let x=Object.keys(t);if(f&&f.trim().length>0){const C=f.trim().toLowerCase();x=x.filter(E=>{const I=t[E],M=typeof I=="object"&&I!==null?JSON.stringify(I):String(I);return E.toLowerCase().includes(C)||M.toLowerCase().includes(C)})}return x.length===0?<F style={e.emptyContainer}>
34
+ <T style={e.emptyText}>
35
+ {f&&f.trim().length>0?"No matching keys or values found":W("network.jsonViewer.emptyTable")}
36
+ </T>
37
+ </F>:<F style={e.tableView}>
38
+
39
+ <F style={e.tableHeaderRow}>
40
+ <T style={[e.tableHeaderCell,{flex:2}]}>KEY / PROPERTY</T>
41
+ <T style={[e.tableHeaderCell,{flex:3}]}>VALUE</T>
42
+ </F>
43
+ {x.map((C,E)=><He key={C}index={E}itemKey={C}val={t[C]}search={f}/>)}
44
+ </F>},J=<Te data={t}search={f}forceOpen={G}defaultExpandDepth={G?99:$}/>;return<F style={[e.container,z&&{flex:1}]}>
45
+
46
+ <F style={e.snippetHeader}>
47
+
48
+ <F style={e.headerLeft}>
49
+ <F style={e.langBadge}>
50
+ <T style={e.langBadgeText}>JSON</T>
51
+ </F>
52
+ <F style={e.metaBadge}>
53
+ <T style={e.metaBadgeText}numberOfLines={1}ellipsizeMode="tail">
54
+ {se} {se===1?"line":"lines"} · {be}
55
+ </T>
56
+ </F>
57
+ </F>
58
+
59
+
60
+ <F style={e.headerRight}>
61
+ {!_&&<F style={e.snippetTabs}>
62
+ <O onPress={()=>Y("pretty")}activeOpacity={.7}hitSlop={{top:8,bottom:8,left:4,right:4}}style={[e.snippetTabBtn,V==="pretty"&&e.snippetTabBtnActive]}>
63
+ <Se color={V==="pretty"?"#FFFFFF":"#64748B"}size={11}/>
64
+ <T style={[e.snippetTabText,V==="pretty"&&e.snippetTabTextActive]}>
65
+ {W("network.jsonViewer.pretty")}
66
+ </T>
67
+ </O>
68
+
69
+ <O onPress={()=>Y("raw")}activeOpacity={.7}hitSlop={{top:8,bottom:8,left:4,right:4}}style={[e.snippetTabBtn,V==="raw"&&e.snippetTabBtnActive]}>
70
+ <Ve color={V==="raw"?"#FFFFFF":"#64748B"}size={11}/>
71
+ <T style={[e.snippetTabText,V==="raw"&&e.snippetTabTextActive]}>
72
+ {W("network.jsonViewer.raw")}
73
+ </T>
74
+ </O>
75
+
76
+ <O onPress={()=>Y("table")}activeOpacity={.7}hitSlop={{top:8,bottom:8,left:4,right:4}}style={[e.snippetTabBtn,V==="table"&&e.snippetTabBtnActive]}>
77
+ <Be color={V==="table"?"#FFFFFF":"#64748B"}size={11}/>
78
+ <T style={[e.snippetTabText,V==="table"&&e.snippetTabTextActive]}>
79
+ {W("network.jsonViewer.table")}
80
+ </T>
81
+ </O>
82
+ </F>}
83
+
84
+
85
+ {V==="pretty"&&X&&<O onPress={()=>ne(x=>!x)}hitSlop={{top:6,bottom:6,left:4,right:4}}style={e.toolToggleBtn}>
86
+ <T style={e.toolToggleText}>
87
+ {G?"Fold":"Expand"}
88
+ </T>
89
+ </O>}
163
90
 
91
+
92
+ {V==="raw"&&<O onPress={()=>le(x=>!x)}hitSlop={{top:6,bottom:6,left:4,right:4}}style={[e.toolToggleBtn,N&&e.toolToggleBtnActive]}>
93
+ <T style={[e.toolToggleText,N&&e.toolToggleTextActive]}>
94
+ Wrap
95
+ </T>
96
+ </O>}
97
+
98
+
99
+ <Ce onPress={Fe}hitSlop={8}style={[e.copyBtn,oe&&e.copyBtnSuccess]}>
100
+ {oe?<Re color="#10B981"size={13}/>:<De color="#64748B"size={13}/>}
101
+ </Ce>
102
+ </F>
103
+ </F>
164
104
 
165
- <View style={contentWrapperStyle}>
166
- {mode === 'pretty' && (isEmpty ? (<View style={localStyles.emptyTable}>
167
- <Text style={localStyles.emptyTableText}>
168
- {t('network.jsonViewer.emptyPayload')}
169
- </Text>
170
- </View>) : (wrap ? (fullHeight ? (<ScrollView style={{ flex: 1 }} contentContainerStyle={{ flexGrow: 1 }}>
171
- <View style={[styles.codeBlock, { width: '100%' }]}>{tree}</View>
172
- </ScrollView>) : (<View style={[styles.codeBlock, { width: '100%' }]}>{tree}</View>)) : (fullHeight ? (<ScrollView style={{ flex: 1 }} contentContainerStyle={{ flexGrow: 1 }}>
173
- <ScrollView horizontal showsHorizontalScrollIndicator={true} style={styles.codeBlockScroll}>
174
- <View style={styles.codeBlock}>{tree}</View>
175
- </ScrollView>
176
- </ScrollView>) : (<ScrollView horizontal showsHorizontalScrollIndicator={true} style={styles.codeBlockScroll}>
177
- <View style={styles.codeBlock}>{tree}</View>
178
- </ScrollView>))))}
105
+ <F style={[e.editorBody,z&&{flex:1,maxHeight:void 0},!z&&P!=null&&{maxHeight:P}]}>
106
+
107
+ {V==="pretty"&&(fe?<F style={e.emptyContainer}>
108
+ <T style={e.emptyText}>
109
+ {W("network.jsonViewer.emptyPayload")}
110
+ </T>
111
+ </F>:N?z?<A style={{flex:1}}contentContainerStyle={e.prettyContainer}>
112
+ {J}
113
+ </A>:<F style={e.prettyContainer}>{J}</F>:z?<A style={{flex:1}}contentContainerStyle={{flexGrow:1}}>
114
+ <A horizontal showsHorizontalScrollIndicator={!0}contentContainerStyle={e.prettyContainer}>
115
+ {J}
116
+ </A>
117
+ </A>:<A horizontal showsHorizontalScrollIndicator={!0}contentContainerStyle={e.prettyContainer}>
118
+ {J}
119
+ </A>)}
120
+
121
+
122
+ {V==="raw"&&(z?<A style={{flex:1}}contentContainerStyle={{flexGrow:1}}showsVerticalScrollIndicator={!0}>
123
+ <F style={e.rawEditorRow}>
124
+
125
+ <F style={e.gutter}>
126
+ {K.map((x,C)=><T key={C}style={e.gutterNumber}>
127
+ {C+1}
128
+ </T>)}
129
+ </F>
130
+
131
+
132
+ <A horizontal={!N}showsHorizontalScrollIndicator={!0}style={{flex:1}}>
133
+ <F style={e.rawTextContainer}>
134
+ {K.map((x,C)=>{const E=x.match(/^(\s+)(.*)$/);if(E){const I=E[1],M=E[2],Z=I.replace(/ /g,"\xB7 ").replace(/ /g,"\xB7");return<F key={C}style={e.rawCodeLineRow}>
135
+ <T style={e.indentDots}>{Z}</T>
136
+ <L text={M}search={f}detectLinks={k.length<2e4}style={e.rawMonospaceText}selectable={!0}highlightStyle={e.highlight}/>
137
+ </F>}return<F key={C}style={e.rawCodeLineRow}>
138
+ <L text={x}search={f}detectLinks={k.length<2e4}style={e.rawMonospaceText}selectable={!0}highlightStyle={e.highlight}/>
139
+ </F>})}
140
+ </F>
141
+ </A>
142
+ </F>
143
+
144
+ {U&&<O onPress={()=>ie(!0)}style={e.truncationBanner}>
145
+ <T style={e.truncationText}>
146
+ Showing first 50 KB ({Math.round(k.length/1024)} KB total) · Tap to load full payload
147
+ </T>
148
+ </O>}
149
+ </A>:<F>
150
+ <F style={e.rawEditorRow}>
151
+
152
+ <F style={e.gutter}>
153
+ {K.map((x,C)=><T key={C}style={e.gutterNumber}>
154
+ {C+1}
155
+ </T>)}
156
+ </F>
157
+
158
+
159
+ <A horizontal={!N}showsHorizontalScrollIndicator={!0}style={{flex:1}}>
160
+ <F style={e.rawTextContainer}>
161
+ {K.map((x,C)=>{const E=x.match(/^(\s+)(.*)$/);if(E){const I=E[1],M=E[2],Z=I.replace(/ /g,"\xB7 ").replace(/ /g,"\xB7");return<F key={C}style={e.rawCodeLineRow}>
162
+ <T style={e.indentDots}>{Z}</T>
163
+ <L text={M}search={f}detectLinks={k.length<2e4}style={e.rawMonospaceText}selectable={!0}highlightStyle={e.highlight}/>
164
+ </F>}return<F key={C}style={e.rawCodeLineRow}>
165
+ <L text={x}search={f}detectLinks={k.length<2e4}style={e.rawMonospaceText}selectable={!0}highlightStyle={e.highlight}/>
166
+ </F>})}
167
+ </F>
168
+ </A>
169
+ </F>
179
170
 
180
- {mode === 'raw' && (fullHeight ? (<ScrollView style={{ flex: 1 }} contentContainerStyle={localStyles.rawContainer} showsVerticalScrollIndicator={true}>
181
- <HighlightText text={displayRawText} search={search} detectLinks={rawText.length < 20000} style={localStyles.rawPlainText} selectable={true} highlightStyle={{
182
- backgroundColor: AppColors.yellowHighlight,
183
- color: AppColors.primaryBlack,
184
- borderRadius: 3,
185
- paddingHorizontal: 2,
186
- }}/>
187
- {isTruncated && (<TouchableOpacity onPress={() => setShowFullRaw(true)} style={{
188
- marginTop: 10,
189
- backgroundColor: `${AppColors.brandPurple}15`,
190
- paddingVertical: 8,
191
- paddingHorizontal: 12,
192
- borderRadius: 6,
193
- alignItems: 'center',
194
- borderWidth: 1,
195
- borderColor: `${AppColors.brandPurple}30`,
196
- }}>
197
- <Text style={{
198
- fontFamily: AppFonts.interBold,
199
- fontSize: 11,
200
- color: AppColors.brandPurple,
201
- }}>
202
- Showing first 50 KB ({Math.round(rawText.length / 1024)} KB total) · Tap to load full
203
- </Text>
204
- </TouchableOpacity>)}
205
- </ScrollView>) : (<View style={localStyles.rawContainer}>
206
- <HighlightText text={displayRawText} search={search} detectLinks={rawText.length < 20000} style={localStyles.rawPlainText} selectable={true} highlightStyle={{
207
- backgroundColor: AppColors.yellowHighlight,
208
- color: AppColors.primaryBlack,
209
- borderRadius: 3,
210
- paddingHorizontal: 2,
211
- }}/>
212
- {isTruncated && (<TouchableOpacity onPress={() => setShowFullRaw(true)} style={{
213
- marginTop: 10,
214
- backgroundColor: `${AppColors.brandPurple}15`,
215
- paddingVertical: 8,
216
- paddingHorizontal: 12,
217
- borderRadius: 6,
218
- alignItems: 'center',
219
- borderWidth: 1,
220
- borderColor: `${AppColors.brandPurple}30`,
221
- }}>
222
- <Text style={{
223
- fontFamily: AppFonts.interBold,
224
- fontSize: 11,
225
- color: AppColors.brandPurple,
226
- }}>
227
- Showing first 50 KB ({Math.round(rawText.length / 1024)} KB total) · Tap to load full
228
- </Text>
229
- </TouchableOpacity>)}
230
- </View>))}
171
+ {U&&<O onPress={()=>ie(!0)}style={e.truncationBanner}>
172
+ <T style={e.truncationText}>
173
+ Showing first 50 KB ({Math.round(k.length/1024)} KB total) · Tap to load full payload
174
+ </T>
175
+ </O>}
176
+ </F>)}
231
177
 
232
- {mode === 'table' && (fullHeight ? (<ScrollView style={{ flex: 1 }}>
233
- {renderTableMode()}
234
- </ScrollView>) : (<View style={localStyles.tableView}>
235
- {renderTableMode()}
236
- </View>))}
237
- </View>
238
- </View>);
239
- });
240
- const localStyles = StyleSheet.create({
241
- container: {
242
- backgroundColor: AppColors.white,
243
- borderRadius: 12,
244
- borderWidth: 1.5,
245
- borderColor: AppColors.slate200,
246
- overflow: 'hidden',
247
- shadowColor: AppColors.black,
248
- shadowOpacity: 0.04,
249
- shadowRadius: 5,
250
- shadowOffset: { width: 0, height: 2 },
251
- elevation: 2,
252
- width: '100%',
253
- },
254
- toolbar: {
255
- flexDirection: 'row',
256
- alignItems: 'center',
257
- justifyContent: 'space-between',
258
- backgroundColor: AppColors.slate50,
259
- borderBottomWidth: 1,
260
- borderBottomColor: AppColors.slate200,
261
- paddingHorizontal: 12,
262
- paddingVertical: 8,
263
- },
264
- contentWrapper: {
265
- backgroundColor: AppColors.white,
266
- minHeight: 120,
267
- },
268
- rawScroll: {
269
- flex: 1,
270
- backgroundColor: AppColors.paperBg,
271
- },
272
- rawContainer: {
273
- padding: 12,
274
- },
275
- rawPlainText: {
276
- fontFamily: AppFonts.interRegular,
277
- fontSize: 12.5,
278
- color: AppColors.primaryBlack,
279
- lineHeight: 18,
280
- },
281
- tableView: {
282
- flex: 1,
283
- },
284
- tableHeaderRow: {
285
- flexDirection: 'row',
286
- backgroundColor: AppColors.slate100,
287
- borderBottomWidth: 1,
288
- borderBottomColor: AppColors.slate200,
289
- paddingVertical: 8,
290
- paddingHorizontal: 12,
291
- },
292
- tableHeaderCell: {
293
- fontFamily: AppFonts.interBold,
294
- fontSize: 11,
295
- color: AppColors.slate600,
296
- letterSpacing: 0.5,
297
- textTransform: 'uppercase',
298
- },
299
- tableRow: {
300
- flexDirection: 'row',
301
- borderBottomWidth: 1,
302
- borderBottomColor: AppColors.slate100,
303
- paddingVertical: 10,
304
- paddingHorizontal: 12,
305
- alignItems: 'center',
306
- },
307
- tableCellKey: {
308
- fontFamily: AppFonts.interBold,
309
- fontSize: 12.5,
310
- color: AppColors.purple,
311
- },
312
- tableTypeBadge: {
313
- fontFamily: AppFonts.interMedium,
314
- fontSize: 9.5,
315
- color: AppColors.slate400,
316
- marginTop: 2,
317
- },
318
- tableCellValue: {
319
- fontFamily: AppFonts.interRegular,
320
- fontSize: 12,
321
- color: AppColors.primaryBlack,
322
- lineHeight: 17,
323
- },
324
- tableCellRawCode: {
325
- fontFamily: AppFonts.interRegular,
326
- fontSize: 11.5,
327
- color: AppColors.slate700,
328
- backgroundColor: `${AppColors.slate100}80`,
329
- padding: 6,
330
- borderRadius: 6,
331
- },
332
- showMoreBtn: {
333
- alignSelf: 'flex-start',
334
- marginTop: 4,
335
- paddingVertical: 2,
336
- paddingHorizontal: 4,
337
- },
338
- showMoreText: {
339
- fontFamily: AppFonts.interBold,
340
- fontSize: 11,
341
- color: AppColors.purple,
342
- },
343
- emptyTable: {
344
- padding: 24,
345
- alignItems: 'center',
346
- justifyContent: 'center',
347
- },
348
- emptyTableText: {
349
- fontFamily: AppFonts.interMedium,
350
- fontSize: 12.5,
351
- color: AppColors.slate400,
352
- },
353
- highlight: {
354
- backgroundColor: '#FEF08A',
355
- color: '#854D0E',
356
- fontFamily: AppFonts.interBold,
357
- },
358
- });
359
- export default JsonViewer;
178
+
179
+ {V==="table"&&(z?<A style={{flex:1}}>
180
+ {ce()}
181
+ </A>:<F style={e.tableView}>
182
+ {ce()}
183
+ </F>)}
184
+ </F>
185
+ </F>}),e=he.create({container:{backgroundColor:"#FFFFFF",borderRadius:12,borderWidth:1.5,borderColor:"#E2E8F0",overflow:"hidden",shadowColor:"#4F46E5",shadowOpacity:.05,shadowRadius:6,shadowOffset:{width:0,height:2},elevation:2,width:"100%"},snippetHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:"#F1F5F9",borderBottomWidth:1,borderBottomColor:"#E2E8F0",paddingHorizontal:8,paddingVertical:6,gap:6},headerLeft:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:1,minWidth:0},langBadge:{backgroundColor:"#FFFFFF",borderRadius:4,borderWidth:1,borderColor:"#CBD5E1",paddingHorizontal:5,paddingVertical:2},langBadgeText:{fontFamily:S,fontSize:9.5,color:"#475569",fontWeight:"700",letterSpacing:.4},metaBadge:{backgroundColor:"#FFFFFF",borderRadius:4,borderWidth:1,borderColor:"#CBD5E1",paddingHorizontal:5,paddingVertical:2,flexShrink:1},metaBadgeText:{fontFamily:S,fontSize:9.5,color:"#64748B",fontWeight:"600"},metaStats:{fontFamily:S,fontSize:9.5,color:"#64748B",flexShrink:1},headerRight:{flexDirection:"row",alignItems:"center",gap:5},snippetTabs:{flexDirection:"row",alignItems:"center",backgroundColor:"#E2E8F0",borderRadius:6,padding:2,borderWidth:1,borderColor:"#CBD5E1",gap:2},snippetTabBtn:{flexDirection:"row",alignItems:"center",gap:3.5,paddingVertical:2.5,paddingHorizontal:6,borderRadius:4},snippetTabBtnActive:{backgroundColor:"#4F46E5",shadowColor:"#4F46E5",shadowOffset:{width:0,height:1},shadowOpacity:.2,shadowRadius:2,elevation:1},snippetTabText:{fontFamily:S,fontSize:9.5,color:"#64748B",fontWeight:"600"},snippetTabTextActive:{color:"#FFFFFF",fontWeight:"700"},toolToggleBtn:{paddingHorizontal:6,paddingVertical:2.5,borderRadius:5,backgroundColor:"#FFFFFF",borderWidth:1,borderColor:"#CBD5E1",alignItems:"center",justifyContent:"center"},toolToggleBtnActive:{backgroundColor:"#EEF2FF",borderColor:"#C7D2FE"},toolToggleText:{fontFamily:S,fontSize:9.5,color:"#64748B",fontWeight:"600"},toolToggleTextActive:{color:"#4F46E5",fontWeight:"700"},copyBtn:{width:24,height:24,borderRadius:5,backgroundColor:"#FFFFFF",borderWidth:1,borderColor:"#CBD5E1",alignItems:"center",justifyContent:"center"},copyBtnSuccess:{borderColor:"#10B981",backgroundColor:"#ECFDF5"},editorBody:{backgroundColor:"#FFFFFF",minHeight:100},prettyContainer:{padding:12,minWidth:"100%",backgroundColor:"#FFFFFF"},rawEditorRow:{flexDirection:"row",alignItems:"stretch",minHeight:100},gutter:{backgroundColor:"#F1F5F9",borderRightWidth:1,borderRightColor:"#E2E8F0",paddingVertical:10,paddingHorizontal:8,alignItems:"flex-end",userSelect:"none"},gutterNumber:{fontFamily:S,fontSize:11.5,height:18,lineHeight:18,color:"#94A3B8",textAlign:"right"},rawTextContainer:{paddingVertical:10,paddingHorizontal:12,backgroundColor:"#FFFFFF"},rawCodeLineRow:{flexDirection:"row",alignItems:"center",height:18},indentDots:{fontFamily:S,fontSize:11.5,lineHeight:18,color:"#CBD5E1",letterSpacing:.5},rawMonospaceText:{fontFamily:S,fontSize:11.5,lineHeight:18,color:"#0F172A"},truncationBanner:{margin:10,backgroundColor:"#EEF2FF",paddingVertical:8,paddingHorizontal:12,borderRadius:6,alignItems:"center",borderWidth:1,borderColor:"#C7D2FE"},truncationText:{fontFamily:S,fontSize:10.5,color:"#4F46E5",fontWeight:"600"},tableView:{flex:1},tableHeaderRow:{flexDirection:"row",backgroundColor:"#F1F5F9",borderBottomWidth:1,borderBottomColor:"#E2E8F0",paddingVertical:7,paddingHorizontal:12},tableHeaderCell:{fontFamily:S,fontSize:10,color:"#475569",fontWeight:"700",letterSpacing:.5},tableRow:{flexDirection:"row",borderBottomWidth:1,borderBottomColor:"#F1F5F9",paddingVertical:8,paddingHorizontal:12,alignItems:"flex-start",backgroundColor:"#FFFFFF"},tableRowAlt:{backgroundColor:"#F8FAFC"},tableColKey:{flex:2,paddingRight:8},tableColVal:{flex:3},tableCellKey:{fontFamily:S,fontSize:11.5,fontWeight:"700",color:"#4F46E5"},typePill:{alignSelf:"flex-start",borderRadius:4,borderWidth:1,paddingHorizontal:4,paddingVertical:1,marginTop:3},typePillText:{fontFamily:S,fontSize:9,fontWeight:"700"},tableCellValue:{fontFamily:S,fontSize:11.5,color:"#0F172A",lineHeight:17},tableCodeBox:{backgroundColor:"#F1F5F9",borderRadius:6,borderWidth:1,borderColor:"#E2E8F0",padding:6},showMoreBtn:{flexDirection:"row",alignItems:"center",gap:4,alignSelf:"flex-start",marginTop:4,paddingVertical:2,paddingHorizontal:4},showMoreText:{fontFamily:S,fontSize:10,color:"#4F46E5",fontWeight:"600"},emptyContainer:{padding:24,alignItems:"center",justifyContent:"center"},emptyText:{fontFamily:S,fontSize:11.5,color:"#64748B"},highlight:{backgroundColor:"#FEF08A",color:"#854D0E",fontFamily:S,fontWeight:"700",borderRadius:2,paddingHorizontal:2},syntaxNull:{color:"#E11D48",fontStyle:"italic"},syntaxNumber:{color:"#D97706"},syntaxBoolean:{color:"#DB2777"},syntaxString:{color:"#059669"}});export default je;