react-native-inapp-inspector 2.4.2 → 2.5.1

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 (221) hide show
  1. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  2. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  3. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  4. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  5. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  6. package/android/.gradle/8.9/gc.properties +0 -0
  7. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  8. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  9. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  10. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  11. package/android/.gradle/9.2.0/gc.properties +0 -0
  12. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  13. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  14. package/android/.gradle/vcs-1/gc.properties +0 -0
  15. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  16. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +523 -2
  17. package/dist/commonjs/capture.d.ts +2 -0
  18. package/dist/commonjs/capture.js +1 -1
  19. package/dist/commonjs/components/AnalyticsDetail.js +23 -23
  20. package/dist/commonjs/components/AnalyticsEventCard.js +1 -1
  21. package/dist/commonjs/components/AnalyticsGraph.js +44 -44
  22. package/dist/commonjs/components/AnimatedBrandOwl.js +32 -32
  23. package/dist/commonjs/components/AppHeaderLogo.js +6 -6
  24. package/dist/commonjs/components/BrandCircleIcon.js +28 -28
  25. package/dist/commonjs/components/BrandSquareIcon.js +33 -33
  26. package/dist/commonjs/components/ConsoleLogCard.js +1 -1
  27. package/dist/commonjs/components/Inspector/AnalyticsTab.js +2 -2
  28. package/dist/commonjs/components/Inspector/ConfirmationModal.js +23 -25
  29. package/dist/commonjs/components/Inspector/ConsoleTab.js +5 -5
  30. package/dist/commonjs/components/Inspector/CrashTab.js +44 -11
  31. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +1 -1
  32. package/dist/commonjs/components/Inspector/FabLauncher.js +30 -25
  33. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  34. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +54 -0
  35. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  36. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +234 -0
  37. package/dist/commonjs/components/Inspector/InspectorHeader.js +137 -127
  38. package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +1 -1
  39. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +114 -32
  40. package/dist/commonjs/components/Inspector/MainScreen.js +26 -19
  41. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +38 -35
  42. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +36 -0
  43. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +345 -123
  44. package/dist/commonjs/components/Inspector/NetworkTab.js +14 -14
  45. package/dist/commonjs/components/Inspector/PushCard.js +1 -1
  46. package/dist/commonjs/components/Inspector/PushDetail.js +9 -9
  47. package/dist/commonjs/components/Inspector/PushTab.js +3 -3
  48. package/dist/commonjs/components/Inspector/ReduxTab.js +9 -7
  49. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  50. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  51. package/dist/commonjs/components/Inspector/SettingsPanel.js +102 -73
  52. package/dist/commonjs/components/Inspector/SocketCard.js +1 -1
  53. package/dist/commonjs/components/Inspector/SocketDetail.js +73 -63
  54. package/dist/commonjs/components/Inspector/SocketTab.js +4 -4
  55. package/dist/commonjs/components/Inspector/StorageTab.js +10 -10
  56. package/dist/commonjs/components/Inspector/SupportModal.js +2 -2
  57. package/dist/commonjs/components/Inspector/SupportPage.js +1 -1
  58. package/dist/commonjs/components/JsonViewer.js +47 -45
  59. package/dist/commonjs/components/LogCard.js +22 -20
  60. package/dist/commonjs/components/ModuleErrorBoundary.js +5 -5
  61. package/dist/commonjs/components/NetworkIcons.d.ts +27 -0
  62. package/dist/commonjs/components/NetworkIcons.js +103 -5
  63. package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
  64. package/dist/commonjs/constants/telemetryConfig.js +1 -1
  65. package/dist/commonjs/constants/version.d.ts +1 -1
  66. package/dist/commonjs/constants/version.js +1 -1
  67. package/dist/commonjs/crash.d.ts +1 -1
  68. package/dist/commonjs/crash.js +1 -1
  69. package/dist/commonjs/customHooks/crashHandler.d.ts +2 -1
  70. package/dist/commonjs/customHooks/crashHandler.js +7 -7
  71. package/dist/commonjs/editor.d.ts +13 -0
  72. package/dist/commonjs/editor.js +1 -0
  73. package/dist/commonjs/helpers/index.d.ts +1 -0
  74. package/dist/commonjs/helpers/index.js +1 -1
  75. package/dist/commonjs/helpers/settingsStore.js +1 -1
  76. package/dist/commonjs/helpers/telemetry.js +1 -1
  77. package/dist/commonjs/i18n/index.js +1 -1
  78. package/dist/commonjs/i18n/locales/ar.json +1 -1
  79. package/dist/commonjs/i18n/locales/bn.json +1 -1
  80. package/dist/commonjs/i18n/locales/de.json +1 -1
  81. package/dist/commonjs/i18n/locales/en.json +1 -1
  82. package/dist/commonjs/i18n/locales/es.json +1 -1
  83. package/dist/commonjs/i18n/locales/fr.json +1 -1
  84. package/dist/commonjs/i18n/locales/gu.json +1 -1
  85. package/dist/commonjs/i18n/locales/hi.json +1 -1
  86. package/dist/commonjs/i18n/locales/id.json +1 -1
  87. package/dist/commonjs/i18n/locales/it.json +1 -1
  88. package/dist/commonjs/i18n/locales/ja.json +1 -1
  89. package/dist/commonjs/i18n/locales/kn.json +1 -1
  90. package/dist/commonjs/i18n/locales/ko.json +1 -1
  91. package/dist/commonjs/i18n/locales/ml.json +1 -1
  92. package/dist/commonjs/i18n/locales/mr.json +1 -1
  93. package/dist/commonjs/i18n/locales/nl.json +1 -1
  94. package/dist/commonjs/i18n/locales/pa.json +1 -1
  95. package/dist/commonjs/i18n/locales/pl.json +1 -1
  96. package/dist/commonjs/i18n/locales/pt.json +1 -1
  97. package/dist/commonjs/i18n/locales/ru.json +1 -1
  98. package/dist/commonjs/i18n/locales/ta.json +1 -1
  99. package/dist/commonjs/i18n/locales/te.json +1 -1
  100. package/dist/commonjs/i18n/locales/tr.json +1 -1
  101. package/dist/commonjs/i18n/locales/vi.json +1 -1
  102. package/dist/commonjs/i18n/locales/zh.json +1 -1
  103. package/dist/commonjs/index.d.ts +4 -1
  104. package/dist/commonjs/index.js +3 -3
  105. package/dist/commonjs/native/NativeInspector.d.ts +3 -0
  106. package/dist/commonjs/native/NativeInspector.js +1 -1
  107. package/dist/commonjs/native/NativeNetworkInspector.d.ts +4 -0
  108. package/dist/commonjs/styles/AppColors.d.ts +42 -2
  109. package/dist/commonjs/styles/AppColors.js +1 -1
  110. package/dist/commonjs/styles/common.js +1 -1
  111. package/dist/commonjs/styles/index.d.ts +7 -0
  112. package/dist/commonjs/styles/index.js +1 -1
  113. package/dist/commonjs/types/editor.d.ts +96 -0
  114. package/dist/commonjs/types/editor.js +1 -0
  115. package/dist/commonjs/types/interfaces.d.ts +21 -0
  116. package/dist/esm/capture.d.ts +2 -0
  117. package/dist/esm/capture.js +1 -1
  118. package/dist/esm/components/AnalyticsDetail.js +31 -31
  119. package/dist/esm/components/AnalyticsEventCard.js +1 -1
  120. package/dist/esm/components/AnalyticsGraph.js +74 -74
  121. package/dist/esm/components/AnimatedBrandOwl.js +114 -114
  122. package/dist/esm/components/AppHeaderLogo.js +7 -7
  123. package/dist/esm/components/BrandCircleIcon.js +70 -70
  124. package/dist/esm/components/BrandSquareIcon.js +61 -61
  125. package/dist/esm/components/ConsoleLogCard.js +1 -1
  126. package/dist/esm/components/Inspector/AnalyticsTab.js +14 -14
  127. package/dist/esm/components/Inspector/ConfirmationModal.js +23 -25
  128. package/dist/esm/components/Inspector/ConsoleTab.js +17 -17
  129. package/dist/esm/components/Inspector/CrashTab.js +202 -169
  130. package/dist/esm/components/Inspector/DeviceInfoTab.js +75 -75
  131. package/dist/esm/components/Inspector/FabLauncher.js +56 -51
  132. package/dist/esm/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  133. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +54 -0
  134. package/dist/esm/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  135. package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +234 -0
  136. package/dist/esm/components/Inspector/InspectorHeader.js +162 -152
  137. package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +1 -1
  138. package/dist/esm/components/Inspector/LanguageSelectorModal.js +140 -58
  139. package/dist/esm/components/Inspector/MainScreen.js +61 -54
  140. package/dist/esm/components/Inspector/MediaGalleryTab.js +55 -52
  141. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +36 -0
  142. package/dist/esm/components/Inspector/MediaPreviewModal.js +345 -123
  143. package/dist/esm/components/Inspector/NetworkTab.js +74 -74
  144. package/dist/esm/components/Inspector/PushCard.js +1 -1
  145. package/dist/esm/components/Inspector/PushDetail.js +18 -18
  146. package/dist/esm/components/Inspector/PushTab.js +1 -1
  147. package/dist/esm/components/Inspector/ReduxTab.js +18 -16
  148. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  149. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  150. package/dist/esm/components/Inspector/SettingsPanel.js +224 -195
  151. package/dist/esm/components/Inspector/SocketCard.js +8 -8
  152. package/dist/esm/components/Inspector/SocketDetail.js +106 -96
  153. package/dist/esm/components/Inspector/SocketTab.js +18 -18
  154. package/dist/esm/components/Inspector/StorageTab.js +47 -47
  155. package/dist/esm/components/Inspector/SupportModal.js +64 -64
  156. package/dist/esm/components/Inspector/SupportPage.js +5 -5
  157. package/dist/esm/components/JsonViewer.js +51 -49
  158. package/dist/esm/components/LogCard.js +41 -39
  159. package/dist/esm/components/ModuleErrorBoundary.js +10 -10
  160. package/dist/esm/components/NetworkIcons.d.ts +27 -0
  161. package/dist/esm/components/NetworkIcons.js +101 -3
  162. package/dist/esm/constants/telemetryConfig.d.ts +3 -3
  163. package/dist/esm/constants/telemetryConfig.js +1 -1
  164. package/dist/esm/constants/version.d.ts +1 -1
  165. package/dist/esm/constants/version.js +1 -1
  166. package/dist/esm/crash.d.ts +1 -1
  167. package/dist/esm/crash.js +1 -1
  168. package/dist/esm/customHooks/crashHandler.d.ts +2 -1
  169. package/dist/esm/customHooks/crashHandler.js +7 -7
  170. package/dist/esm/editor.d.ts +13 -0
  171. package/dist/esm/editor.js +1 -0
  172. package/dist/esm/helpers/index.d.ts +1 -0
  173. package/dist/esm/helpers/index.js +4 -4
  174. package/dist/esm/helpers/settingsStore.js +1 -1
  175. package/dist/esm/helpers/telemetry.js +1 -1
  176. package/dist/esm/i18n/index.js +1 -1
  177. package/dist/esm/i18n/locales/ar.json +1 -1
  178. package/dist/esm/i18n/locales/bn.json +1 -1
  179. package/dist/esm/i18n/locales/de.json +1 -1
  180. package/dist/esm/i18n/locales/en.json +1 -1
  181. package/dist/esm/i18n/locales/es.json +1 -1
  182. package/dist/esm/i18n/locales/fr.json +1 -1
  183. package/dist/esm/i18n/locales/gu.json +1 -1
  184. package/dist/esm/i18n/locales/hi.json +1 -1
  185. package/dist/esm/i18n/locales/id.json +1 -1
  186. package/dist/esm/i18n/locales/it.json +1 -1
  187. package/dist/esm/i18n/locales/ja.json +1 -1
  188. package/dist/esm/i18n/locales/kn.json +1 -1
  189. package/dist/esm/i18n/locales/ko.json +1 -1
  190. package/dist/esm/i18n/locales/ml.json +1 -1
  191. package/dist/esm/i18n/locales/mr.json +1 -1
  192. package/dist/esm/i18n/locales/nl.json +1 -1
  193. package/dist/esm/i18n/locales/pa.json +1 -1
  194. package/dist/esm/i18n/locales/pl.json +1 -1
  195. package/dist/esm/i18n/locales/pt.json +1 -1
  196. package/dist/esm/i18n/locales/ru.json +1 -1
  197. package/dist/esm/i18n/locales/ta.json +1 -1
  198. package/dist/esm/i18n/locales/te.json +1 -1
  199. package/dist/esm/i18n/locales/tr.json +1 -1
  200. package/dist/esm/i18n/locales/vi.json +1 -1
  201. package/dist/esm/i18n/locales/zh.json +1 -1
  202. package/dist/esm/index.d.ts +4 -1
  203. package/dist/esm/index.js +5 -5
  204. package/dist/esm/native/NativeInspector.d.ts +3 -0
  205. package/dist/esm/native/NativeInspector.js +1 -1
  206. package/dist/esm/native/NativeNetworkInspector.d.ts +4 -0
  207. package/dist/esm/styles/AppColors.d.ts +42 -2
  208. package/dist/esm/styles/AppColors.js +1 -1
  209. package/dist/esm/styles/common.js +1 -1
  210. package/dist/esm/styles/index.d.ts +7 -0
  211. package/dist/esm/styles/index.js +1 -1
  212. package/dist/esm/types/editor.d.ts +96 -0
  213. package/dist/esm/types/editor.js +1 -0
  214. package/dist/esm/types/interfaces.d.ts +21 -0
  215. package/editor.d.ts +1 -0
  216. package/editor.js +1 -0
  217. package/ios/NetworkInspectorModule.mm +429 -0
  218. package/package.json +10 -1
  219. package/react-native-inapp-inspector.podspec +1 -1
  220. package/src/native/NativeInspector.ts +57 -4
  221. package/src/native/NativeNetworkInspector.ts +4 -0
@@ -1,125 +1,125 @@
1
- import"react";import{Modal as D,View as T,Text as C,StyleSheet as V,Pressable as H,Platform as j,Linking as R,ScrollView as P}from"react-native";import S from"../TouchableScale";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as I}from"../../styles/AppFonts";import{SupportIcon as F,CloseWhite as O,ExternalLinkIcon as W,StarIcon as L,BugIcon as $,BookOpenIcon as A}from"../NetworkIcons";import{triggerNativeHaptic as N}from"../../native/NativeInspector";import{useTranslation as E}from"../../i18n";export const SupportModal=({visible:z,onClose:B})=>{const{t:f}=E();if(!z)return null;const k=async v=>{try{N("light"),await R.canOpenURL(v)&&await R.openURL(v)}catch{}};return<D visible={z}transparent={!0}animationType="fade"onRequestClose={B}>
1
+ import"react";import{Modal as P,View as T,Text as I,StyleSheet as v,Pressable as F,Platform as O,Linking as H,ScrollView as L}from"react-native";import S from"../TouchableScale";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as W}from"../../styles/AppFonts";import{SupportIcon as $,CloseWhite as A,ExternalLinkIcon as V,StarIcon as M,BugIcon as N,BookOpenIcon as G,HeartIcon as U,MailIcon as E}from"../NetworkIcons";import{triggerNativeHaptic as J}from"../../native/NativeInspector";import{useTranslation as K}from"../../i18n";export const SupportModal=({visible:R,onClose:z})=>{const{t:C}=K();if(!R)return null;const B=async D=>{try{J("light"),await H.canOpenURL(D)&&await H.openURL(D)}catch{}};return<P visible={R}transparent={!0}animationType="fade"onRequestClose={z}>
2
2
  <T style={e.overlay}>
3
- <H style={e.backdrop}onPress={B}/>
3
+ <F style={e.backdrop}onPress={z}/>
4
4
 
5
5
  <T style={e.card}>
6
6
 
7
7
  <T style={e.header}>
8
8
  <T style={e.headerLeft}>
9
9
  <T style={e.headerIconBadge}>
10
- <F size={20}color={t.purple}/>
10
+ <$ size={20}color={t.purple}/>
11
11
  </T>
12
12
  <T>
13
- <C style={e.title}>
14
- {f("support.title","Support & Community")}
15
- </C>
16
- <C style={e.subtitle}>
17
- {f("support.subtitle","React Native In-App Inspector")}
18
- </C>
13
+ <I style={e.title}>
14
+ {C("support.title","Support & Community")}
15
+ </I>
16
+ <I style={e.subtitle}>
17
+ {C("support.subtitle","React Native In-App Inspector")}
18
+ </I>
19
19
  </T>
20
20
  </T>
21
21
 
22
- <S onPress={B}hitSlop={10}style={e.closeBtn}>
23
- <O size={12}color={t.grayText}/>
22
+ <S onPress={z}hitSlop={10}style={e.closeBtn}>
23
+ <A size={12}color={t.grayText}/>
24
24
  </S>
25
25
  </T>
26
26
 
27
27
 
28
- <P style={e.scrollList}contentContainerStyle={e.scrollContent}showsVerticalScrollIndicator={!1}>
28
+ <L style={e.scrollList}contentContainerStyle={e.scrollContent}showsVerticalScrollIndicator={!1}>
29
29
 
30
- <S onPress={()=>k("https://github.com/sponsors/vengatmacuser")}style={[e.itemCard,e.itemCardHighlight]}>
30
+ <S onPress={()=>B("https://github.com/sponsors/vengatmacuser")}style={[e.itemCard,e.itemCardHighlight]}>
31
31
  <T style={[e.itemIconWrap,e.sponsorIconWrap]}>
32
- <C style={e.emojiIcon}>💖</C>
32
+ <U size={20}color={t.pink600}fill={t.pink600}/>
33
33
  </T>
34
34
  <T style={e.itemTextCol}>
35
35
  <T style={e.itemTitleRow}>
36
- <C style={[e.itemTitle,e.sponsorTitle]}>
37
- {f("support.sponsor","Sponsor on GitHub")}
38
- </C>
36
+ <I style={[e.itemTitle,e.sponsorTitle]}>
37
+ {C("support.sponsor","Sponsor on GitHub")}
38
+ </I>
39
39
  <T style={e.heartBadge}>
40
- <C style={e.heartBadgeText}>
41
- {f("support.sponsorBadge","SPONSOR")}
42
- </C>
40
+ <I style={e.heartBadgeText}>
41
+ {C("support.sponsorBadge","SPONSOR")}
42
+ </I>
43
43
  </T>
44
44
  </T>
45
- <C style={e.itemDesc}>
46
- {f("support.sponsorDesc","Support ongoing maintenance, new features and release improvements.")}
47
- </C>
45
+ <I style={e.itemDesc}>
46
+ {C("support.sponsorDesc","Support ongoing maintenance, new features and release improvements.")}
47
+ </I>
48
48
  </T>
49
- <W size={14}color={t.pink600}/>
49
+ <V size={14}color={t.pink600}/>
50
50
  </S>
51
51
 
52
52
 
53
- <S onPress={()=>k("https://github.com/vengatmacuser/react-native-inapp-inspector")}style={e.itemCard}>
53
+ <S onPress={()=>B("https://github.com/vengatmacuser/react-native-inapp-inspector")}style={e.itemCard}>
54
54
  <T style={[e.itemIconWrap,e.starIconWrap]}>
55
- <L size={18}color={t.amber600}/>
55
+ <M size={18}color={t.amber600}/>
56
56
  </T>
57
57
  <T style={e.itemTextCol}>
58
- <C style={e.itemTitle}>
59
- {f("support.star","Star on GitHub")}
60
- </C>
61
- <C style={e.itemDesc}>
62
- {f("support.starDesc","Star our repo to help more React Native developers discover this tool.")}
63
- </C>
58
+ <I style={e.itemTitle}>
59
+ {C("support.star","Star on GitHub")}
60
+ </I>
61
+ <I style={e.itemDesc}>
62
+ {C("support.starDesc","Star our repo to help more React Native developers discover this tool.")}
63
+ </I>
64
64
  </T>
65
- <W size={14}color={t.grayTextWeak}/>
65
+ <V size={14}color={t.grayTextWeak}/>
66
66
  </S>
67
67
 
68
68
 
69
- <S onPress={()=>k("https://github.com/vengatmacuser/react-native-inapp-inspector/issues")}style={e.itemCard}>
69
+ <S onPress={()=>B("https://github.com/vengatmacuser/react-native-inapp-inspector/issues")}style={e.itemCard}>
70
70
  <T style={[e.itemIconWrap,e.bugIconWrap]}>
71
- <$ size={18}color={t.purple}/>
71
+ <N size={18}color={t.purple}/>
72
72
  </T>
73
73
  <T style={e.itemTextCol}>
74
- <C style={e.itemTitle}>
75
- {f("support.issues","Report Issue / Suggestion")}
76
- </C>
77
- <C style={e.itemDesc}>
78
- {f("support.issuesDesc","Found a bug or have an idea? Open an issue on GitHub.")}
79
- </C>
74
+ <I style={e.itemTitle}>
75
+ {C("support.issues","Report Issue / Suggestion")}
76
+ </I>
77
+ <I style={e.itemDesc}>
78
+ {C("support.issuesDesc","Found a bug or have an idea? Open an issue on GitHub.")}
79
+ </I>
80
80
  </T>
81
- <W size={14}color={t.grayTextWeak}/>
81
+ <V size={14}color={t.grayTextWeak}/>
82
82
  </S>
83
83
 
84
84
 
85
- <S onPress={()=>k("https://vengatmacuser.github.io/react-native-inapp-inspector/")}style={e.itemCard}>
85
+ <S onPress={()=>B("https://vengatmacuser.github.io/react-native-inapp-inspector/")}style={e.itemCard}>
86
86
  <T style={[e.itemIconWrap,e.docsIconWrap]}>
87
- <A size={18}color={t.sky600}/>
87
+ <G size={18}color={t.sky600}/>
88
88
  </T>
89
89
  <T style={e.itemTextCol}>
90
- <C style={e.itemTitle}>
91
- {f("support.docs","Official Documentation")}
92
- </C>
93
- <C style={e.itemDesc}>
94
- {f("support.docsDesc","Interactive feature tour, search syntax & configuration guides.")}
95
- </C>
90
+ <I style={e.itemTitle}>
91
+ {C("support.docs","Official Documentation")}
92
+ </I>
93
+ <I style={e.itemDesc}>
94
+ {C("support.docsDesc","Interactive feature tour, search syntax & configuration guides.")}
95
+ </I>
96
96
  </T>
97
- <W size={14}color={t.grayTextWeak}/>
97
+ <V size={14}color={t.grayTextWeak}/>
98
98
  </S>
99
99
 
100
100
 
101
- <S onPress={()=>k("mailto:vengatmacuser@gmail.com")}style={e.itemCard}>
101
+ <S onPress={()=>B("mailto:vengatmacuser@gmail.com")}style={e.itemCard}>
102
102
  <T style={[e.itemIconWrap,e.contactIconWrap]}>
103
- <C style={e.mailEmoji}>✉️</C>
103
+ <E size={18}color={t.purple}/>
104
104
  </T>
105
105
  <T style={e.itemTextCol}>
106
- <C style={e.itemTitle}>
107
- {f("support.contact","Contact Author")}
108
- </C>
109
- <C style={e.itemDesc}>
110
- {f("support.contactDesc","vengatmacuser@gmail.com \u2022 Direct support & enterprise inquiries.")}
111
- </C>
106
+ <I style={e.itemTitle}>
107
+ {C("support.contact","Contact Author")}
108
+ </I>
109
+ <I style={e.itemDesc}>
110
+ {C("support.contactDesc","vengatmacuser@gmail.com \u2022 Direct support & enterprise inquiries.")}
111
+ </I>
112
112
  </T>
113
- <W size={14}color={t.grayTextWeak}/>
113
+ <V size={14}color={t.grayTextWeak}/>
114
114
  </S>
115
- </P>
115
+ </L>
116
116
 
117
117
 
118
118
  <T style={e.footer}>
119
- <S onPress={B}style={e.doneBtn}>
120
- <C style={e.doneBtnText}>{f("common.close","Close")}</C>
119
+ <S onPress={z}style={e.doneBtn}>
120
+ <I style={e.doneBtnText}>{C("common.close","Close")}</I>
121
121
  </S>
122
122
  </T>
123
123
  </T>
124
124
  </T>
125
- </D>};const e=V.create({overlay:{flex:1,backgroundColor:`${t.slate900}B0`,justifyContent:"center",alignItems:"center",paddingHorizontal:18},backdrop:{...V.absoluteFillObject},card:{width:"100%",maxWidth:380,maxHeight:"82%",backgroundColor:t.white,borderRadius:24,overflow:"hidden",borderWidth:1,borderColor:`${t.white}CC`,...j.select({ios:{shadowColor:t.slate900,shadowOffset:{width:0,height:16},shadowOpacity:.3,shadowRadius:28},android:{elevation:16}})},header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:18,paddingTop:18,paddingBottom:14,borderBottomWidth:V.hairlineWidth,borderBottomColor:t.grayBorderSecondary},headerLeft:{flexDirection:"row",alignItems:"center",gap:12},headerIconBadge:{width:38,height:38,borderRadius:12,backgroundColor:t.purple50,borderWidth:1,borderColor:t.purple200,alignItems:"center",justifyContent:"center"},title:{fontFamily:I.interBold,fontSize:15.5,color:t.slate900},subtitle:{fontFamily:I.interRegular,fontSize:11.5,color:t.grayTextWeak,marginTop:1},closeBtn:{width:28,height:28,borderRadius:14,backgroundColor:t.graySurface,alignItems:"center",justifyContent:"center"},scrollList:{maxHeight:380},scrollContent:{padding:16,gap:10},itemCard:{flexDirection:"row",alignItems:"center",padding:12,borderRadius:14,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.grayBorderSecondary,gap:12},itemCardHighlight:{backgroundColor:`${t.pink100}55`,borderColor:`${t.pink400}66`},itemIconWrap:{width:36,height:36,borderRadius:10,borderWidth:1,alignItems:"center",justifyContent:"center"},sponsorIconWrap:{backgroundColor:t.pink100,borderColor:`${t.pink400}80`},starIconWrap:{backgroundColor:t.amber100,borderColor:t.amber200},bugIconWrap:{backgroundColor:t.purple50,borderColor:t.purple200},docsIconWrap:{backgroundColor:t.sky100,borderColor:`${t.sky600}40`},contactIconWrap:{backgroundColor:t.graySurface,borderColor:t.grayBorderSecondary},emojiIcon:{fontSize:18},mailEmoji:{fontSize:16},itemTextCol:{flex:1},itemTitleRow:{flexDirection:"row",alignItems:"center",gap:6},itemTitle:{fontFamily:I.interBold,fontSize:13,color:t.slate900},sponsorTitle:{color:t.pink600},itemDesc:{fontFamily:I.interRegular,fontSize:11,color:t.grayTextWeak,marginTop:2,lineHeight:15},heartBadge:{paddingHorizontal:6,paddingVertical:1,borderRadius:6,backgroundColor:t.pink100,borderWidth:.5,borderColor:t.pink400},heartBadgeText:{fontFamily:I.interBold,fontSize:9,color:t.pink600},footer:{paddingHorizontal:16,paddingVertical:12,borderTopWidth:V.hairlineWidth,borderTopColor:t.grayBorderSecondary,backgroundColor:t.white},doneBtn:{height:42,borderRadius:12,backgroundColor:t.purple,alignItems:"center",justifyContent:"center"},doneBtnText:{fontFamily:I.interBold,fontSize:13.5,color:t.white}});
125
+ </P>};const e=v.create({overlay:{flex:1,backgroundColor:`${t.slate900}B0`,justifyContent:"center",alignItems:"center",paddingHorizontal:18},backdrop:{...v.absoluteFillObject},card:{width:"100%",maxWidth:380,maxHeight:"82%",backgroundColor:t.white,borderRadius:24,overflow:"hidden",borderWidth:1,borderColor:`${t.white}CC`,...O.select({ios:{shadowColor:t.slate900,shadowOffset:{width:0,height:16},shadowOpacity:.3,shadowRadius:28},android:{elevation:16}})},header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:18,paddingTop:18,paddingBottom:14,borderBottomWidth:v.hairlineWidth,borderBottomColor:t.grayBorderSecondary},headerLeft:{flexDirection:"row",alignItems:"center",gap:12},headerIconBadge:{width:38,height:38,borderRadius:12,backgroundColor:t.purple50,borderWidth:1,borderColor:t.purple200,alignItems:"center",justifyContent:"center"},title:{fontFamily:W.interBold,fontSize:15.5,color:t.slate900},subtitle:{fontFamily:W.interRegular,fontSize:11.5,color:t.grayTextWeak,marginTop:1},closeBtn:{width:28,height:28,borderRadius:14,backgroundColor:t.graySurface,alignItems:"center",justifyContent:"center"},scrollList:{maxHeight:380},scrollContent:{padding:16,gap:10},itemCard:{flexDirection:"row",alignItems:"center",padding:12,borderRadius:14,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.grayBorderSecondary,gap:12},itemCardHighlight:{backgroundColor:`${t.pink100}55`,borderColor:`${t.pink400}66`},itemIconWrap:{width:36,height:36,borderRadius:10,borderWidth:1,alignItems:"center",justifyContent:"center"},sponsorIconWrap:{backgroundColor:t.pink100,borderColor:`${t.pink400}80`},starIconWrap:{backgroundColor:t.amber100,borderColor:t.amber200},bugIconWrap:{backgroundColor:t.purple50,borderColor:t.purple200},docsIconWrap:{backgroundColor:t.sky100,borderColor:`${t.sky600}40`},contactIconWrap:{backgroundColor:t.graySurface,borderColor:t.grayBorderSecondary},emojiIcon:{fontSize:18},mailEmoji:{fontSize:16},itemTextCol:{flex:1},itemTitleRow:{flexDirection:"row",alignItems:"center",gap:6},itemTitle:{fontFamily:W.interBold,fontSize:13,color:t.slate900},sponsorTitle:{color:t.pink600},itemDesc:{fontFamily:W.interRegular,fontSize:11,color:t.grayTextWeak,marginTop:2,lineHeight:15},heartBadge:{paddingHorizontal:6,paddingVertical:1,borderRadius:6,backgroundColor:t.pink100,borderWidth:.5,borderColor:t.pink400},heartBadgeText:{fontFamily:W.interBold,fontSize:9,color:t.pink600},footer:{paddingHorizontal:16,paddingVertical:12,borderTopWidth:v.hairlineWidth,borderTopColor:t.grayBorderSecondary,backgroundColor:t.white},doneBtn:{height:42,borderRadius:12,backgroundColor:t.purple,alignItems:"center",justifyContent:"center"},doneBtnText:{fontFamily:W.interBold,fontSize:13.5,color:t.white}});
@@ -1,4 +1,4 @@
1
- import"react";import{Linking as O,Platform as V,ScrollView as $,Share as N,StyleSheet as L,Text as C,View as T}from"react-native";import{AppColors as o}from"../../styles/AppColors";import{AppFonts as R}from"../../styles/AppFonts";import B from"../TouchableScale";import{LIB_VERSION as j}from"../../constants/version";import{copyToClipboard as k,showToast as D}from"../../helpers";import{useTranslation as M}from"../../i18n";import{triggerNativeHaptic as F}from"../../native/NativeInspector";import{BookOpenIcon as U,BugIcon as G,CopyIcon as A,ExternalLinkIcon as W,GitHubIcon as Y,HeartIcon as H,NpmIcon as J,ShareIcon as Q,StarIcon as Z}from"../NetworkIcons";export const SupportPage=()=>{const{t:S}=M(),I=async P=>{try{F("light"),await O.canOpenURL(P)&&await O.openURL(P)}catch{}},E=async()=>{try{F("medium"),await N.share({title:"React Native In-App Inspector",message:`Check out react-native-inapp-inspector \u2014 the zero-config in-app debugger for React Native & Expo:
1
+ import"react";import{Linking as O,Platform as V,ScrollView as $,Share as N,StyleSheet as L,Text as C,View as T}from"react-native";import{AppColors as o}from"../../styles/AppColors";import{AppFonts as R}from"../../styles/AppFonts";import B from"../TouchableScale";import{LIB_VERSION as j}from"../../constants/version";import{copyToClipboard as k,showToast as D}from"../../helpers";import{useTranslation as M}from"../../i18n";import{triggerNativeHaptic as F}from"../../native/NativeInspector";import{BookOpenIcon as U,BugIcon as G,CopyIcon as A,ExternalLinkIcon as W,GitHubIcon as Y,HeartIcon as H,MailIcon as J,NpmIcon as Q,ShareIcon as Z,StarIcon as _}from"../NetworkIcons";export const SupportPage=()=>{const{t:S}=M(),I=async P=>{try{F("light"),await O.canOpenURL(P)&&await O.openURL(P)}catch{}},E=async()=>{try{F("medium"),await N.share({title:"React Native In-App Inspector",message:`Check out react-native-inapp-inspector \u2014 the zero-config in-app debugger for React Native & Expo:
2
2
  https://github.com/vengatmacuser/react-native-inapp-inspector`,url:"https://github.com/vengatmacuser/react-native-inapp-inspector"})}catch{}};return<T style={e.container}>
3
3
  <$ style={e.scrollView}contentContainerStyle={e.scrollContent}showsVerticalScrollIndicator={!1}>
4
4
 
@@ -91,7 +91,7 @@ https://github.com/vengatmacuser/react-native-inapp-inspector`,url:"https://gith
91
91
 
92
92
  <B onPress={()=>I("https://github.com/vengatmacuser/react-native-inapp-inspector")}style={e.itemCard}>
93
93
  <T style={[e.itemIconWrap,e.starIconWrap]}>
94
- <Z size={18}color={o.amber600}/>
94
+ <_ size={18}color={o.amber600}/>
95
95
  </T>
96
96
  <T style={e.itemTextCol}>
97
97
  <T style={e.itemTitleRow}>
@@ -144,7 +144,7 @@ https://github.com/vengatmacuser/react-native-inapp-inspector`,url:"https://gith
144
144
 
145
145
  <B onPress={()=>I("https://www.npmjs.com/package/react-native-inapp-inspector")}style={e.itemCard}>
146
146
  <T style={[e.itemIconWrap,e.npmIconWrap]}>
147
- <J size={18}color={o.red500}/>
147
+ <Q size={18}color={o.red500}/>
148
148
  </T>
149
149
  <T style={e.itemTextCol}>
150
150
  <C style={e.itemTitle}>
@@ -169,7 +169,7 @@ https://github.com/vengatmacuser/react-native-inapp-inspector`,url:"https://gith
169
169
  </C>
170
170
  <T style={e.shareButtonsRow}>
171
171
  <B onPress={E}style={e.sharePrimaryBtn}>
172
- <Q size={15}color={o.white}/>
172
+ <Z size={15}color={o.white}/>
173
173
  <C style={e.sharePrimaryBtnText}>
174
174
  {S("support.shareWithTeam","Share with Teammates")}
175
175
  </C>
@@ -204,7 +204,7 @@ https://github.com/vengatmacuser/react-native-inapp-inspector`,url:"https://gith
204
204
 
205
205
  <T style={e.authorActionsRow}>
206
206
  <B onPress={()=>I("mailto:vengatmacuser@gmail.com")}style={e.authorActionBtn}>
207
- <C style={e.authorActionEmoji}>✉️</C>
207
+ <J size={14}color={o.purple}/>
208
208
  <C style={e.authorActionText}>
209
209
  {S("support.sendEmail","Send Email")}
210
210
  </C>
@@ -1,16 +1,16 @@
1
- import Q,{useState as L,useEffect as le,useMemo as G,useCallback as Ie}from"react";import{ScrollView as O,View as T,Text as V,StyleSheet as We,TouchableOpacity as Te,Platform as Fe}from"react-native";import{useTranslation as Ae}from"../i18n";import Pe from"./TreeNode";import X from"./HighlightText";import D from"./TouchableScale";import{PrettyIcon as Ne,RawIcon as Oe,TableIcon as Le,ChevronIcon as De,CopyIcon as Ee,CheckIcon as Ke}from"./NetworkIcons";import{AppColors as t}from"../styles/AppColors";import{AppFonts as N}from"../styles/AppFonts";import{getSize as Me,copyToClipboard as ve}from"../helpers";import{triggerNativeHaptic as Je}from"../native/NativeInspector";const W=Fe.select({ios:"Menlo",android:"monospace",default:"monospace"}),$e=o=>o===null?{label:"null",color:t.errorColor,bg:t.errorCardBg,border:t.errorBorder}:o===void 0?{label:"undef",color:t.errorColor,bg:t.errorCardBg,border:t.errorBorder}:Array.isArray(o)?{label:`arr[${o.length}]`,color:t.blue600,bg:t.blueBg,border:t.sky100}:typeof o=="object"?{label:`obj{${Object.keys(o).length}}`,color:t.violet600,bg:t.purple50,border:t.purple200}:typeof o=="number"?{label:"num",color:t.amber600,bg:t.amber100,border:t.amber200}:typeof o=="boolean"?{label:"bool",color:t.pink600,bg:t.roseBg,border:t.roseBorder}:{label:"str",color:t.emerald600,bg:t.emeraldBg,border:t.emeraldBorder},Se=Q.memo(({text:o,search:S,detectLinks:A})=>{const B=o.trim();let z=e.rawMonospaceText;return B.startsWith('"')?z=e.syntaxString:B==="null"||B.startsWith("null,")||B==="undefined"?z=e.syntaxNull:B==="true"||B.startsWith("true,")||B==="false"||B.startsWith("false,")?z=e.syntaxBoolean:/^-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?,?$/.test(B)&&(z=e.syntaxNumber),<X text={o}search={S}detectLinks={A}style={z}selectable={!0}highlightStyle={e.highlight}/>}),Ge=Q.memo(({line:o,search:S,detectLinks:A})=>{const B=o.match(/^(\s+)(.*)$/),z=B?B[1]:"",P=B?B[2]:o,j=z?z.replace(/ /g,"\xB7 ").replace(/ /g,"\xB7"):"",R=P.match(/^("(?:[^"\\]|\\.)*")(\s*:\s*)(.*)$/);if(R){const H=R[1],K=R[2],I=R[3];return<T style={e.rawLineContentRow}>
2
- {j.length>0&&<V style={e.indentDots}>{j}</V>}
3
- <X text={H}search={S}style={e.syntaxKey}selectable={!0}highlightStyle={e.highlight}/>
1
+ import Q,{useState as L,useEffect as ne,useMemo as G,useCallback as Ie}from"react";import{ScrollView as O,View as T,Text as V,StyleSheet as We,TouchableOpacity as Te,Platform as Fe}from"react-native";import{useTranslation as je}from"../i18n";import Pe from"./TreeNode";import X from"./HighlightText";import D from"./TouchableScale";import{PrettyIcon as Ae,RawIcon as Ne,TableIcon as Oe,ChevronIcon as Le,CopyIcon as De,CheckIcon as Ee}from"./NetworkIcons";import{AppColors as t}from"../styles/AppColors";import{AppFonts as N}from"../styles/AppFonts";import{getSize as Ke,copyToClipboard as Me}from"../helpers";import{triggerNativeHaptic as ve}from"../native/NativeInspector";const W=Fe.select({ios:"Menlo",android:"monospace",default:"monospace"}),Je=o=>o===null?{label:"null",color:t.errorColor,bg:t.errorCardBg,border:t.errorBorder}:o===void 0?{label:"undef",color:t.errorColor,bg:t.errorCardBg,border:t.errorBorder}:Array.isArray(o)?{label:`arr[${o.length}]`,color:t.blue600,bg:t.blueBg,border:t.sky100}:typeof o=="object"?{label:`obj{${Object.keys(o).length}}`,color:t.violet600,bg:t.purple50,border:t.purple200}:typeof o=="number"?{label:"num",color:t.amber600,bg:t.amber100,border:t.amber200}:typeof o=="boolean"?{label:"bool",color:t.pink600,bg:t.roseBg,border:t.roseBorder}:{label:"str",color:t.emerald600,bg:t.emeraldBg,border:t.emeraldBorder},Se=Q.memo(({text:o,search:S,detectLinks:j})=>{const B=o.trim();let k=e.rawMonospaceText;return B.startsWith('"')?k=e.syntaxString:B==="null"||B.startsWith("null,")||B==="undefined"?k=e.syntaxNull:B==="true"||B.startsWith("true,")||B==="false"||B.startsWith("false,")?k=e.syntaxBoolean:/^-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?,?$/.test(B)&&(k=e.syntaxNumber),<X text={o}search={S}detectLinks={j}style={k}selectable={!0}highlightStyle={e.highlight}/>}),$e=Q.memo(({line:o,search:S,detectLinks:j})=>{const B=o.match(/^(\s+)(.*)$/),k=B?B[1]:"",P=B?B[2]:o,A=k?k.replace(/ /g,"\xB7 ").replace(/ /g,"\xB7"):"",R=P.match(/^("(?:[^"\\]|\\.)*")(\s*:\s*)(.*)$/);if(R){const I=R[1],K=R[2],z=R[3];return<T style={e.rawLineContentRow}>
2
+ {A.length>0&&<V style={e.indentDots}>{A}</V>}
3
+ <X text={I}search={S}style={e.syntaxKey}selectable={!0}highlightStyle={e.highlight}/>
4
4
  <V style={e.syntaxColon}>{K}</V>
5
- <Se text={I}search={S}detectLinks={A}/>
5
+ <Se text={z}search={S}detectLinks={j}/>
6
6
  </T>}return<T style={e.rawLineContentRow}>
7
- {j.length>0&&<V style={e.indentDots}>{j}</V>}
8
- <Se text={P}search={S}detectLinks={A}/>
9
- </T>}),Ye=Q.memo(({itemKey:o,val:S,search:A,index:B})=>{const[z,P]=L(!1),j=S!==null&&typeof S=="object",R=$e(S);let H="";if(S===null)H="null";else if(S===void 0)H="undefined";else if(j)try{H=JSON.stringify(S,null,2)}catch{H=String(S)}else H=String(S);const K=H.includes(`
10
- `)||H.length>80;return<T style={[e.tableRow,B%2===1&&e.tableRowAlt]}>
7
+ {A.length>0&&<V style={e.indentDots}>{A}</V>}
8
+ <Se text={P}search={S}detectLinks={j}/>
9
+ </T>}),Ge=Q.memo(({itemKey:o,val:S,search:j,index:B})=>{const[k,P]=L(!1),A=S!==null&&typeof S=="object",R=Je(S);let I="";if(S===null)I="null";else if(S===void 0)I="undefined";else if(A)try{I=JSON.stringify(S,null,2)}catch{I=String(S)}else I=String(S);const K=I.includes(`
10
+ `)||I.length>80;return<T style={[e.tableRow,B%2===1&&e.tableRowAlt]}>
11
11
 
12
12
  <T style={e.tableColKey}>
13
- <X text={o}search={A}style={e.tableCellKey}highlightStyle={e.highlight}/>
13
+ <X text={o}search={j}style={e.tableCellKey}highlightStyle={e.highlight}/>
14
14
  <T style={[e.typePill,{backgroundColor:R.bg,borderColor:R.border}]}>
15
15
  <V style={[e.typePillText,{color:R.color}]}>
16
16
  {R.label}
@@ -20,22 +20,22 @@ import Q,{useState as L,useEffect as le,useMemo as G,useCallback as Ie}from"reac
20
20
 
21
21
 
22
22
  <T style={e.tableColVal}>
23
- <T style={j?e.tableCodeBox:void 0}>
24
- <X text={H}search={A}style={[e.tableCellValue,S==null?e.syntaxNull:void 0,typeof S=="number"?e.syntaxNumber:void 0,typeof S=="boolean"?e.syntaxBoolean:void 0,typeof S=="string"?e.syntaxString:void 0]}highlightStyle={e.highlight}numberOfLines={z?void 0:3}selectable={!0}/>
23
+ <T style={A?e.tableCodeBox:void 0}>
24
+ <X text={I}search={j}style={[e.tableCellValue,S==null?e.syntaxNull:void 0,typeof S=="number"?e.syntaxNumber:void 0,typeof S=="boolean"?e.syntaxBoolean:void 0,typeof S=="string"?e.syntaxString:void 0]}highlightStyle={e.highlight}numberOfLines={k?void 0:3}selectable={!0}/>
25
25
  </T>
26
- {K&&<Te onPress={()=>P(I=>!I)}hitSlop={6}style={e.showMoreBtn}>
26
+ {K&&<Te onPress={()=>P(z=>!z)}hitSlop={6}style={e.showMoreBtn}>
27
27
  <V style={e.showMoreText}>
28
- {z?"Collapse":"Expand"}
28
+ {k?"Collapse":"Expand"}
29
29
  </V>
30
- <De direction={z?"up":"down"}size={9}color="#4F46E5"/>
30
+ <Le direction={k?"up":"down"}size={9}color={t.purple}/>
31
31
  </Te>}
32
32
  </T>
33
- </T>}),qe=Q.memo(({data:o,search:S,forceOpen:A,defaultExpandDepth:B=1,wrap:z,fullHeight:P=!1,maxHeight:j,mode:R,onModeChange:H,hideTabs:K=!1})=>{const{t:I}=Ae(),[Ce,ne]=L(R??"raw"),[ie,ae]=L(!1),[M,se]=L(z??!0),[v,Ve]=L("compact"),[J,ce]=L(A),[Be,ze]=L(!1),k=H&&R?R:Ce,Z=C=>{ne(C),H&&H(C)};le(()=>{z!==void 0&&se(z)},[z]),le(()=>{A!==void 0&&ce(A)},[A]),le(()=>{R&&ne(R)},[R]);const E=G(()=>{if(o==null)return"";if(typeof o=="string"){const C=o.trim();try{const F=JSON.parse(C);return JSON.stringify(F,null,2)}catch{return o}}try{return JSON.stringify(o,null,2)??""}catch{return String(o)||""}},[o]),ee=G(()=>{if(typeof o=="string"){const C=o.trim();try{const F=JSON.parse(C);return JSON.stringify(F)}catch{return o}}try{return JSON.stringify(o)??""}catch{return String(o)||""}},[o]),de=v==="formatted"?E:ee,ge=5e4,$=typeof de=="string"?de:"",ye=$.length>ge&&!Be,te=ye?$.slice(0,ge):$,oe=G(()=>te?te.split(`
34
- `):[""],[te]),Ue=G(()=>k==="raw"?oe.length:E?E.split(`
35
- `).length:1,[k,oe.length,E]),_e=G(()=>Me(o),[o]),Re=Ie(()=>{Je("success"),ve(v==="compact"?ee:E,"JSON"),ae(!0),setTimeout(()=>ae(!1),1200)},[v,ee,E]),re=typeof o=="object"&&o!==null,ke=o==null||re&&Object.keys(o).length===0,pe=()=>{if(!re)return<T style={e.tableRow}>
33
+ </T>}),Ye=Q.memo(({data:o,search:S,forceOpen:j,defaultExpandDepth:B=1,wrap:k,fullHeight:P=!1,maxHeight:A,mode:R,onModeChange:I,hideTabs:K=!1})=>{const{t:z}=je(),[Ce,le]=L(R??"raw"),[ie,ae]=L(!1),[M,se]=L(k??!0),[v,Ve]=L("compact"),[J,ce]=L(j),[Be,ke]=L(!1),H=I&&R?R:Ce,Z=C=>{le(C),I&&I(C)};ne(()=>{k!==void 0&&se(k)},[k]),ne(()=>{j!==void 0&&ce(j)},[j]),ne(()=>{R&&le(R)},[R]);const E=G(()=>{if(o==null)return"";if(typeof o=="string"){const C=o.trim();try{const F=JSON.parse(C);return JSON.stringify(F,null,2)}catch{return o}}try{return JSON.stringify(o,null,2)??""}catch{return String(o)||""}},[o]),ee=G(()=>{if(typeof o=="string"){const C=o.trim();try{const F=JSON.parse(C);return JSON.stringify(F)}catch{return o}}try{return JSON.stringify(o)??""}catch{return String(o)||""}},[o]),de=v==="formatted"?E:ee,ge=5e4,$=typeof de=="string"?de:"",ye=$.length>ge&&!Be,te=ye?$.slice(0,ge):$,oe=G(()=>te?te.split(`
34
+ `):[""],[te]),qe=G(()=>H==="raw"?oe.length:E?E.split(`
35
+ `).length:1,[H,oe.length,E]),Ue=G(()=>Ke(o),[o]),ze=Ie(()=>{ve("success"),Me(v==="compact"?ee:E,"JSON"),ae(!0),setTimeout(()=>ae(!1),1200)},[v,ee,E]),re=typeof o=="object"&&o!==null,Re=o==null||re&&Object.keys(o).length===0,pe=()=>{if(!re)return<T style={e.tableRow}>
36
36
  <T style={e.tableColKey}>
37
37
  <V style={e.tableCellKey}>
38
- {I("network.jsonViewer.value")}
38
+ {z("network.jsonViewer.value")}
39
39
  </V>
40
40
  </T>
41
41
  <T style={e.tableColVal}>
@@ -43,17 +43,19 @@ import Q,{useState as L,useEffect as le,useMemo as G,useCallback as Ie}from"reac
43
43
  </T>
44
44
  </T>;let C=Object.keys(o);if(S&&S.trim().length>0){const F=S.trim().toLowerCase();C=C.filter(U=>{const _=o[U],He=typeof _=="object"&&_!==null?JSON.stringify(_):String(_);return U.toLowerCase().includes(F)||He.toLowerCase().includes(F)})}return C.length===0?<T style={e.emptyContainer}>
45
45
  <V style={e.emptyText}>
46
- {S&&S.trim().length>0?"No matching keys or values found":I("network.jsonViewer.emptyTable")}
46
+ {S&&S.trim().length>0?z("network.jsonViewer.noMatchingKeys","No matching keys or values found"):z("network.jsonViewer.emptyTable")}
47
47
  </V>
48
48
  </T>:<T style={e.tableView}>
49
49
 
50
50
  <T style={e.tableHeaderRow}>
51
51
  <V style={[e.tableHeaderCell,{flex:2}]}>
52
- KEY / PROPERTY
52
+ {z("network.jsonViewer.keyProperty","KEY / PROPERTY")}
53
+ </V>
54
+ <V style={[e.tableHeaderCell,{flex:3}]}>
55
+ {z("network.jsonViewer.value","VALUE")}
53
56
  </V>
54
- <V style={[e.tableHeaderCell,{flex:3}]}>VALUE</V>
55
57
  </T>
56
- {C.map((F,U)=><Ye key={F}index={U}itemKey={F}val={o[F]}search={S}/>)}
58
+ {C.map((F,U)=><Ge key={F}index={U}itemKey={F}val={o[F]}search={S}/>)}
57
59
  </T>},Y=<Pe data={o}search={S}forceOpen={J}defaultExpandDepth={J?99:B}/>,q=()=><T style={e.rawLinesWrapper}>
58
60
  {oe.map((C,F)=><T key={F}style={e.rawCodeLineRow}>
59
61
 
@@ -65,10 +67,10 @@ import Q,{useState as L,useEffect as le,useMemo as G,useCallback as Ie}from"reac
65
67
 
66
68
 
67
69
  <T style={e.rawTextCell}>
68
- <Ge line={C}search={S}detectLinks={$.length<2e4}/>
70
+ <$e line={C}search={S}detectLinks={$.length<2e4}/>
69
71
  </T>
70
72
  </T>)}
71
- </T>,ue=()=>ye?<Te onPress={()=>ze(!0)}activeOpacity={.8}style={e.truncationBanner}>
73
+ </T>,ue=()=>ye?<Te onPress={()=>ke(!0)}activeOpacity={.8}style={e.truncationBanner}>
72
74
  <V style={e.truncationText}>
73
75
  Showing first 50 KB ({Math.round($.length/1024)} KB
74
76
  total) · Tap to load full payload
@@ -78,24 +80,24 @@ import Q,{useState as L,useEffect as le,useMemo as G,useCallback as Ie}from"reac
78
80
  <T style={e.snippetHeader}>
79
81
 
80
82
  {!K&&<T style={e.snippetTabs}>
81
- <D onPress={()=>Z("raw")}style={[e.snippetTabBtn,k==="raw"&&e.snippetTabBtnActive]}>
82
- <Oe color={k==="raw"?t.white:t.grayText}size={11.5}/>
83
- <V style={[e.snippetTabText,k==="raw"&&e.snippetTabTextActive]}>
84
- {I("network.jsonViewer.raw","Raw")}
83
+ <D onPress={()=>Z("raw")}style={[e.snippetTabBtn,H==="raw"&&e.snippetTabBtnActive]}>
84
+ <Ne color={H==="raw"?t.white:t.grayText}size={11.5}/>
85
+ <V style={[e.snippetTabText,H==="raw"&&e.snippetTabTextActive]}>
86
+ {z("network.jsonViewer.raw","Raw")}
85
87
  </V>
86
88
  </D>
87
89
 
88
- <D onPress={()=>Z("pretty")}style={[e.snippetTabBtn,k==="pretty"&&e.snippetTabBtnActive]}>
89
- <Ne color={k==="pretty"?t.white:t.grayText}size={11.5}/>
90
- <V style={[e.snippetTabText,k==="pretty"&&e.snippetTabTextActive]}>
91
- {I("network.jsonViewer.pretty","Pretty")}
90
+ <D onPress={()=>Z("pretty")}style={[e.snippetTabBtn,H==="pretty"&&e.snippetTabBtnActive]}>
91
+ <Ae color={H==="pretty"?t.white:t.grayText}size={11.5}/>
92
+ <V style={[e.snippetTabText,H==="pretty"&&e.snippetTabTextActive]}>
93
+ {z("network.jsonViewer.pretty","Pretty")}
92
94
  </V>
93
95
  </D>
94
96
 
95
- <D onPress={()=>Z("table")}style={[e.snippetTabBtn,k==="table"&&e.snippetTabBtnActive]}>
96
- <Le color={k==="table"?t.white:t.grayText}size={11.5}/>
97
- <V style={[e.snippetTabText,k==="table"&&e.snippetTabTextActive]}>
98
- {I("network.jsonViewer.table","Table")}
97
+ <D onPress={()=>Z("table")}style={[e.snippetTabBtn,H==="table"&&e.snippetTabBtnActive]}>
98
+ <Oe color={H==="table"?t.white:t.grayText}size={11.5}/>
99
+ <V style={[e.snippetTabText,H==="table"&&e.snippetTabTextActive]}>
100
+ {z("network.jsonViewer.table","Table")}
99
101
  </V>
100
102
  </D>
101
103
  </T>}
@@ -103,40 +105,40 @@ import Q,{useState as L,useEffect as le,useMemo as G,useCallback as Ie}from"reac
103
105
 
104
106
  <T style={e.headerRight}>
105
107
 
106
- {k==="raw"&&<>
108
+ {H==="raw"&&<>
107
109
  <D onPress={()=>Ve(C=>C==="compact"?"formatted":"compact")}style={[e.toolToggleBtn,v==="compact"&&e.toolToggleBtnActive]}>
108
110
  <V style={[e.toolToggleText,v==="compact"&&e.toolToggleTextActive]}>
109
- {I("jsonViewer.min","Min")}
111
+ {z("jsonViewer.min","Min")}
110
112
  </V>
111
113
  </D>
112
114
 
113
115
  <D onPress={()=>se(C=>!C)}style={[e.toolToggleBtn,M&&e.toolToggleBtnActive]}>
114
116
  <V style={[e.toolToggleText,M&&e.toolToggleTextActive]}>
115
- {I("jsonViewer.wrap","Wrap")}
117
+ {z("jsonViewer.wrap","Wrap")}
116
118
  </V>
117
119
  </D>
118
120
  </>}
119
121
 
120
122
 
121
- {k==="pretty"&&re&&<D onPress={()=>ce(C=>!C)}style={[e.toolToggleBtn,J&&e.toolToggleBtnActive]}>
123
+ {H==="pretty"&&re&&<D onPress={()=>ce(C=>!C)}style={[e.toolToggleBtn,J&&e.toolToggleBtnActive]}>
122
124
  <V style={[e.toolToggleText,J&&e.toolToggleTextActive]}>
123
- {J?I("jsonViewer.fold","Fold"):I("jsonViewer.expand","Expand")}
125
+ {J?z("jsonViewer.fold","Fold"):z("jsonViewer.expand","Expand")}
124
126
  </V>
125
127
  </D>}
126
128
 
127
129
 
128
- <D onPress={Re}hitSlop={6}style={[e.copyBtn,ie&&e.copyBtnSuccess]}>
129
- {ie?<Ke color={t.emerald500}size={13}/>:<Ee color={t.grayText}size={13}/>}
130
+ <D onPress={ze}hitSlop={6}style={[e.copyBtn,ie&&e.copyBtnSuccess]}>
131
+ {ie?<Ee color={t.emerald500}size={13}/>:<De color={t.grayText}size={13}/>}
130
132
  </D>
131
133
  </T>
132
134
  </T>
133
135
 
134
136
 
135
- <T style={[e.editorBody,P&&{flex:1,maxHeight:void 0},!P&&j!=null&&{maxHeight:j}]}>
137
+ <T style={[e.editorBody,P&&{flex:1,maxHeight:void 0},!P&&A!=null&&{maxHeight:A}]}>
136
138
 
137
- {k==="pretty"&&(ke?<T style={e.emptyContainer}>
139
+ {H==="pretty"&&(Re?<T style={e.emptyContainer}>
138
140
  <V style={e.emptyText}>
139
- {I("network.jsonViewer.emptyPayload")}
141
+ {z("network.jsonViewer.emptyPayload")}
140
142
  </V>
141
143
  </T>:M?P?<O style={{flex:1}}contentContainerStyle={e.prettyContainer}showsVerticalScrollIndicator={!0}>
142
144
  {Y}
@@ -149,7 +151,7 @@ import Q,{useState as L,useEffect as le,useMemo as G,useCallback as Ie}from"reac
149
151
  </O>)}
150
152
 
151
153
 
152
- {k==="raw"&&(P?<O style={e.fullHeightScrollView}contentContainerStyle={e.fullHeightScrollContent}showsVerticalScrollIndicator={!0}showsHorizontalScrollIndicator={!1}>
154
+ {H==="raw"&&(P?<O style={e.fullHeightScrollView}contentContainerStyle={e.fullHeightScrollContent}showsVerticalScrollIndicator={!0}showsHorizontalScrollIndicator={!1}>
153
155
  {M?<T style={e.rawEditorFullWidth}>
154
156
  {q()}
155
157
  </T>:<O horizontal showsHorizontalScrollIndicator={!0}contentContainerStyle={e.rawHorizontalContent}>
@@ -170,8 +172,8 @@ import Q,{useState as L,useEffect as le,useMemo as G,useCallback as Ie}from"reac
170
172
  </T>)}
171
173
 
172
174
 
173
- {k==="table"&&(P?<O style={{flex:1}}contentContainerStyle={{flexGrow:1}}showsVerticalScrollIndicator={!0}>
175
+ {H==="table"&&(P?<O style={{flex:1}}contentContainerStyle={{flexGrow:1}}showsVerticalScrollIndicator={!0}>
174
176
  {pe()}
175
177
  </O>:<T style={e.tableView}>{pe()}</T>)}
176
178
  </T>
177
- </T>}),e=We.create({container:{backgroundColor:t.white,borderRadius:12,borderWidth:1,borderColor:t.grayBorderSecondary,overflow:"hidden",shadowColor:t.brandPurple,shadowOpacity:.04,shadowRadius:6,shadowOffset:{width:0,height:2},elevation:2,width:"100%"},snippetHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:t.grayBackground,borderBottomWidth:1,borderBottomColor:t.grayBorderSecondary,paddingHorizontal:8,paddingVertical:5,gap:6,minHeight:38},headerLeft:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:1,minWidth:0},langBadge:{flexDirection:"row",alignItems:"center",backgroundColor:t.white,borderRadius:6,borderWidth:1,borderColor:t.grayBorderSecondary,paddingHorizontal:6,paddingVertical:2.5,gap:4.5},langDot:{width:5,height:5,borderRadius:2.5,backgroundColor:t.emerald500},langBadgeText:{fontFamily:W,fontSize:9.5,color:t.primaryBlack,fontWeight:"700",letterSpacing:.3},metaBadge:{backgroundColor:t.white,borderRadius:6,borderWidth:1,borderColor:t.grayBorderSecondary,paddingHorizontal:6,paddingVertical:2.5,flexShrink:1},metaBadgeText:{fontFamily:W,fontSize:9.5,color:t.grayTextWeak,fontWeight:"600"},headerRight:{flexDirection:"row",alignItems:"center",gap:4.5,flexShrink:0},snippetTabs:{flexDirection:"row",alignItems:"center",backgroundColor:`${t.slate200}80`,borderRadius:8,padding:2.5,borderWidth:1,borderColor:t.dividerColor,gap:2},snippetTabBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingVertical:3.5,paddingHorizontal:8,borderRadius:6},snippetTabBtnActive:{backgroundColor:t.brandPurple,shadowColor:t.brandPurple,shadowOffset:{width:0,height:1},shadowOpacity:.25,shadowRadius:2,elevation:1},snippetTabText:{fontFamily:N.interSemiBold,fontSize:10.5,color:t.grayText},snippetTabTextActive:{color:t.white,fontFamily:N.interBold},toolToggleBtn:{paddingHorizontal:8,paddingVertical:3.5,borderRadius:6,backgroundColor:t.white,borderWidth:1,borderColor:t.grayBorderSecondary,alignItems:"center",justifyContent:"center"},toolToggleBtnActive:{backgroundColor:t.purpleShade50,borderColor:`${t.brandPurple}60`},toolToggleText:{fontFamily:N.interSemiBold,fontSize:10.5,color:t.grayText},toolToggleTextActive:{color:t.brandPurple,fontFamily:N.interBold},copyBtn:{width:27,height:27,borderRadius:6,backgroundColor:t.white,borderWidth:1,borderColor:t.grayBorderSecondary,alignItems:"center",justifyContent:"center"},copyBtnSuccess:{borderColor:t.greenMintBorder,backgroundColor:t.greenMintBg},editorBody:{backgroundColor:t.white,minHeight:80},prettyContainer:{padding:10,minWidth:"100%",backgroundColor:t.white},fullHeightScrollView:{flex:1},fullHeightScrollContent:{flexGrow:1},rawEditorAutoHeight:{width:"100%"},rawEditorFullWidth:{width:"100%"},rawHorizontalContent:{minWidth:"100%"},rawLinesWrapper:{paddingVertical:6,backgroundColor:t.white,width:"100%"},rawCodeLineRow:{flexDirection:"row",alignItems:"flex-start",minHeight:20,width:"100%"},gutterCell:{width:38,paddingRight:8,paddingTop:1,alignItems:"flex-end",justifyContent:"flex-start",borderRightWidth:1,borderRightColor:t.grayBorderSecondary,backgroundColor:t.grayBackground,userSelect:"none"},gutterNumber:{fontFamily:W,fontSize:11,lineHeight:18,color:t.slate400,textAlign:"right"},rawTextCell:{flex:1,paddingLeft:8,paddingRight:8,paddingTop:1,alignItems:"flex-start"},rawLineContentRow:{flexDirection:"row",alignItems:"flex-start",flexWrap:"wrap",minHeight:18},indentDots:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.gray300,letterSpacing:.5},rawMonospaceText:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.slate900},syntaxKey:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxKey,fontWeight:"700"},syntaxColon:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxColon,marginRight:4},syntaxString:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxString},syntaxNumber:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxNumber},syntaxBoolean:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxBoolean},syntaxNull:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxNull,fontStyle:"italic"},truncationBanner:{margin:10,backgroundColor:t.purple50,paddingVertical:8,paddingHorizontal:12,borderRadius:6,alignItems:"center",borderWidth:1,borderColor:t.purple200},truncationText:{fontFamily:N.interSemiBold,fontSize:11,color:t.brandPurple},tableView:{flex:1,width:"100%"},tableHeaderRow:{flexDirection:"row",backgroundColor:t.slate100,borderBottomWidth:1,borderBottomColor:t.slate200,paddingVertical:7,paddingHorizontal:12},tableHeaderCell:{fontFamily:N.interBold,fontSize:10.5,color:t.slate600,letterSpacing:.5,textTransform:"uppercase"},tableRow:{flexDirection:"row",borderBottomWidth:1,borderBottomColor:t.slate100,paddingVertical:8,paddingHorizontal:12,alignItems:"flex-start",backgroundColor:t.white},tableRowAlt:{backgroundColor:t.slate50},tableColKey:{flex:2,paddingRight:8},tableColVal:{flex:3},tableCellKey:{fontFamily:W,fontSize:11.5,fontWeight:"700",color:t.brandPurple},typePill:{alignSelf:"flex-start",borderRadius:4,borderWidth:1,paddingHorizontal:4,paddingVertical:1,marginTop:3},typePillText:{fontFamily:N.interBold,fontSize:9},tableCellValue:{fontFamily:W,fontSize:11.5,color:t.slate900,lineHeight:17},tableCodeBox:{backgroundColor:t.slate100,borderRadius:6,borderWidth:1,borderColor:t.slate200,padding:6},showMoreBtn:{flexDirection:"row",alignItems:"center",gap:4,alignSelf:"flex-start",marginTop:4,paddingVertical:2,paddingHorizontal:4},showMoreText:{fontFamily:N.interSemiBold,fontSize:10.5,color:t.brandPurple},emptyContainer:{padding:24,alignItems:"center",justifyContent:"center"},emptyText:{fontFamily:N.interMedium,fontSize:12,color:t.slate500},highlight:{backgroundColor:t.yellow200,color:t.yellow800,fontFamily:W,fontWeight:"700",borderRadius:2,paddingHorizontal:2}});export default qe;
179
+ </T>}),e=We.create({container:{backgroundColor:t.white,borderRadius:12,borderWidth:1,borderColor:t.grayBorderSecondary,overflow:"hidden",shadowColor:t.brandPurple,shadowOpacity:.04,shadowRadius:6,shadowOffset:{width:0,height:2},elevation:2,width:"100%"},snippetHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:t.grayBackground,borderBottomWidth:1,borderBottomColor:t.grayBorderSecondary,paddingHorizontal:8,paddingVertical:5,gap:6,minHeight:38},headerLeft:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:1,minWidth:0},langBadge:{flexDirection:"row",alignItems:"center",backgroundColor:t.white,borderRadius:6,borderWidth:1,borderColor:t.grayBorderSecondary,paddingHorizontal:6,paddingVertical:2.5,gap:4.5},langDot:{width:5,height:5,borderRadius:2.5,backgroundColor:t.emerald500},langBadgeText:{fontFamily:W,fontSize:9.5,color:t.primaryBlack,fontWeight:"700",letterSpacing:.3},metaBadge:{backgroundColor:t.white,borderRadius:6,borderWidth:1,borderColor:t.grayBorderSecondary,paddingHorizontal:6,paddingVertical:2.5,flexShrink:1},metaBadgeText:{fontFamily:W,fontSize:9.5,color:t.grayTextWeak,fontWeight:"600"},headerRight:{flexDirection:"row",alignItems:"center",gap:4.5,flexShrink:0},snippetTabs:{flexDirection:"row",alignItems:"center",backgroundColor:`${t.slate200}80`,borderRadius:8,padding:2.5,borderWidth:1,borderColor:t.dividerColor,gap:2},snippetTabBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingVertical:3.5,paddingHorizontal:8,borderRadius:6},snippetTabBtnActive:{backgroundColor:t.brandPurple,shadowColor:t.brandPurple,shadowOffset:{width:0,height:1},shadowOpacity:.25,shadowRadius:2,elevation:1},snippetTabText:{fontFamily:N.interSemiBold,fontSize:10.5,color:t.grayText},snippetTabTextActive:{color:t.white,fontFamily:N.interBold},toolToggleBtn:{paddingHorizontal:8,paddingVertical:3.5,borderRadius:6,backgroundColor:t.white,borderWidth:1,borderColor:t.grayBorderSecondary,alignItems:"center",justifyContent:"center"},toolToggleBtnActive:{backgroundColor:t.purpleShade50,borderColor:`${t.brandPurple}60`},toolToggleText:{fontFamily:N.interSemiBold,fontSize:10.5,color:t.grayText},toolToggleTextActive:{color:t.brandPurple,fontFamily:N.interBold},copyBtn:{width:27,height:27,borderRadius:6,backgroundColor:t.white,borderWidth:1,borderColor:t.grayBorderSecondary,alignItems:"center",justifyContent:"center"},copyBtnSuccess:{borderColor:t.greenMintBorder,backgroundColor:t.greenMintBg},editorBody:{backgroundColor:t.white,minHeight:80},prettyContainer:{padding:10,minWidth:"100%",backgroundColor:t.white},fullHeightScrollView:{flex:1},fullHeightScrollContent:{flexGrow:1},rawEditorAutoHeight:{width:"100%"},rawEditorFullWidth:{width:"100%"},rawHorizontalContent:{minWidth:"100%"},rawLinesWrapper:{paddingVertical:6,backgroundColor:t.white,width:"100%"},rawCodeLineRow:{flexDirection:"row",alignItems:"flex-start",minHeight:20,width:"100%"},gutterCell:{width:38,paddingRight:8,paddingTop:1,alignItems:"flex-end",justifyContent:"flex-start",borderRightWidth:1,borderRightColor:t.grayBorderSecondary,backgroundColor:t.grayBackground,userSelect:"none"},gutterNumber:{fontFamily:W,fontSize:11,lineHeight:18,color:t.slate400,textAlign:"right"},rawTextCell:{flex:1,paddingLeft:8,paddingRight:8,paddingTop:1,alignItems:"flex-start"},rawLineContentRow:{flexDirection:"row",alignItems:"flex-start",flexWrap:"wrap",minHeight:18},indentDots:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.gray300,letterSpacing:.5},rawMonospaceText:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.slate900},syntaxKey:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxKey,fontWeight:"700"},syntaxColon:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxColon,marginRight:4},syntaxString:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxString},syntaxNumber:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxNumber},syntaxBoolean:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxBoolean},syntaxNull:{fontFamily:W,fontSize:11.5,lineHeight:18,color:t.syntaxNull,fontStyle:"italic"},truncationBanner:{margin:10,backgroundColor:t.purple50,paddingVertical:8,paddingHorizontal:12,borderRadius:6,alignItems:"center",borderWidth:1,borderColor:t.purple200},truncationText:{fontFamily:N.interSemiBold,fontSize:11,color:t.brandPurple},tableView:{flex:1,width:"100%"},tableHeaderRow:{flexDirection:"row",backgroundColor:t.slate100,borderBottomWidth:1,borderBottomColor:t.slate200,paddingVertical:7,paddingHorizontal:12},tableHeaderCell:{fontFamily:N.interBold,fontSize:10.5,color:t.slate600,letterSpacing:.5,textTransform:"uppercase"},tableRow:{flexDirection:"row",borderBottomWidth:1,borderBottomColor:t.slate100,paddingVertical:8,paddingHorizontal:12,alignItems:"flex-start",backgroundColor:t.white},tableRowAlt:{backgroundColor:t.slate50},tableColKey:{flex:2,paddingRight:8},tableColVal:{flex:3},tableCellKey:{fontFamily:W,fontSize:11.5,fontWeight:"700",color:t.brandPurple},typePill:{alignSelf:"flex-start",borderRadius:4,borderWidth:1,paddingHorizontal:4,paddingVertical:1,marginTop:3},typePillText:{fontFamily:N.interBold,fontSize:9},tableCellValue:{fontFamily:W,fontSize:11.5,color:t.slate900,lineHeight:17},tableCodeBox:{backgroundColor:t.slate100,borderRadius:6,borderWidth:1,borderColor:t.slate200,padding:6},showMoreBtn:{flexDirection:"row",alignItems:"center",gap:4,alignSelf:"flex-start",marginTop:4,paddingVertical:2,paddingHorizontal:4},showMoreText:{fontFamily:N.interSemiBold,fontSize:10.5,color:t.brandPurple},emptyContainer:{padding:24,alignItems:"center",justifyContent:"center"},emptyText:{fontFamily:N.interMedium,fontSize:12,color:t.slate500},highlight:{backgroundColor:t.yellow200,color:t.yellow800,fontFamily:W,fontWeight:"700",borderRadius:2,paddingHorizontal:2}});export default Ye;