react-native-inapp-inspector 1.1.13 → 1.1.15

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 (250) hide show
  1. package/README.md +9 -34
  2. package/dist/commonjs/assets/svgAssets.d.ts +3 -0
  3. package/dist/commonjs/assets/svgAssets.js +17 -0
  4. package/dist/commonjs/components/AnalyticsEventCard.d.ts +1 -14
  5. package/dist/commonjs/components/AnalyticsEventCard.js +120 -50
  6. package/dist/commonjs/components/AnalyticsGraph.d.ts +2 -6
  7. package/dist/commonjs/components/AnalyticsGraph.js +8 -8
  8. package/dist/commonjs/components/AnalyticsTabView.d.ts +15 -0
  9. package/dist/commonjs/components/AnalyticsTabView.js +157 -0
  10. package/dist/commonjs/components/AnimatedEntrance.d.ts +1 -1
  11. package/dist/commonjs/components/AnimatedEntrance.js +2 -2
  12. package/dist/commonjs/components/ApiDetailView.d.ts +22 -0
  13. package/dist/commonjs/components/ApiDetailView.js +304 -0
  14. package/dist/commonjs/components/ApisTabView.d.ts +33 -0
  15. package/dist/commonjs/components/ApisTabView.js +235 -0
  16. package/dist/commonjs/components/CodeSnippet.d.ts +1 -5
  17. package/dist/commonjs/components/CodeSnippet.js +34 -34
  18. package/dist/commonjs/components/ConsoleLogCard.d.ts +1 -8
  19. package/dist/commonjs/components/ConsoleLogCard.js +262 -442
  20. package/dist/commonjs/components/ConsoleLogDetailView.d.ts +9 -0
  21. package/dist/commonjs/components/ConsoleLogDetailView.js +278 -0
  22. package/dist/commonjs/components/ConsoleLogsTabView.d.ts +24 -0
  23. package/dist/commonjs/components/ConsoleLogsTabView.js +354 -0
  24. package/dist/commonjs/components/DiffViewer.js +4 -2
  25. package/dist/commonjs/components/DomainHeader.js +66 -41
  26. package/dist/commonjs/components/EmptyState.d.ts +2 -2
  27. package/dist/commonjs/components/EmptyState.js +2 -2
  28. package/dist/commonjs/components/EndOfListFooter.d.ts +8 -0
  29. package/dist/commonjs/components/EndOfListFooter.js +90 -0
  30. package/dist/commonjs/components/ErrorBoundary.d.ts +5 -14
  31. package/dist/commonjs/components/ErrorBoundary.js +28 -28
  32. package/dist/commonjs/components/FloatingBubble.d.ts +14 -0
  33. package/dist/commonjs/components/FloatingBubble.js +75 -0
  34. package/dist/commonjs/components/HeadersSection.js +5 -3
  35. package/dist/commonjs/components/HighlightText.d.ts +1 -1
  36. package/dist/commonjs/components/HighlightText.js +5 -7
  37. package/dist/commonjs/components/Inspector/AnalyticsTab.d.ts +3 -0
  38. package/dist/commonjs/components/Inspector/AnalyticsTab.js +232 -0
  39. package/dist/commonjs/components/Inspector/ConsoleTab.d.ts +3 -0
  40. package/dist/commonjs/components/Inspector/ConsoleTab.js +410 -0
  41. package/dist/commonjs/components/Inspector/FabLauncher.d.ts +3 -0
  42. package/dist/commonjs/components/Inspector/FabLauncher.js +54 -0
  43. package/dist/commonjs/components/Inspector/InsightsDashboard.d.ts +3 -0
  44. package/dist/commonjs/components/Inspector/InsightsDashboard.js +619 -0
  45. package/dist/commonjs/components/Inspector/InspectorContext.d.ts +5 -0
  46. package/dist/commonjs/components/Inspector/InspectorContext.js +18 -0
  47. package/dist/commonjs/components/Inspector/InspectorHeader.d.ts +3 -0
  48. package/dist/commonjs/components/Inspector/InspectorHeader.js +452 -0
  49. package/dist/commonjs/components/Inspector/LogDetail.d.ts +3 -0
  50. package/dist/commonjs/components/Inspector/LogDetail.js +963 -0
  51. package/dist/commonjs/components/Inspector/MainScreen.d.ts +3 -0
  52. package/dist/commonjs/components/Inspector/MainScreen.js +68 -0
  53. package/dist/commonjs/components/Inspector/NavigationTracker.d.ts +3 -0
  54. package/dist/commonjs/components/Inspector/NavigationTracker.js +12 -0
  55. package/dist/commonjs/components/Inspector/NetworkDetail.d.ts +3 -0
  56. package/dist/commonjs/components/Inspector/NetworkDetail.js +405 -0
  57. package/dist/commonjs/components/Inspector/NetworkTab.d.ts +3 -0
  58. package/dist/commonjs/components/Inspector/NetworkTab.js +281 -0
  59. package/dist/commonjs/components/Inspector/ReduxTab.d.ts +3 -0
  60. package/dist/commonjs/components/Inspector/ReduxTab.js +75 -0
  61. package/dist/commonjs/components/Inspector/SettingsPanel.d.ts +3 -0
  62. package/dist/commonjs/components/Inspector/SettingsPanel.js +1476 -0
  63. package/dist/commonjs/components/Inspector/TabBar.d.ts +3 -0
  64. package/dist/commonjs/components/Inspector/TabBar.js +95 -0
  65. package/dist/commonjs/components/Inspector/WebViewTab.d.ts +3 -0
  66. package/dist/commonjs/components/Inspector/WebViewTab.js +757 -0
  67. package/dist/commonjs/components/InspectorHeader.d.ts +19 -0
  68. package/dist/commonjs/components/InspectorHeader.js +329 -0
  69. package/dist/commonjs/components/InspectorTabBar.d.ts +16 -0
  70. package/dist/commonjs/components/InspectorTabBar.js +90 -0
  71. package/dist/commonjs/components/JsonViewer.d.ts +4 -1
  72. package/dist/commonjs/components/JsonViewer.js +110 -171
  73. package/dist/commonjs/components/LogCard.js +109 -86
  74. package/dist/commonjs/components/MetaAccordion.d.ts +1 -10
  75. package/dist/commonjs/components/MetaAccordion.js +23 -21
  76. package/dist/commonjs/components/NavigationTracker.d.ts +7 -0
  77. package/dist/commonjs/components/NavigationTracker.js +76 -0
  78. package/dist/commonjs/components/NetworkIcons.d.ts +6 -0
  79. package/dist/commonjs/components/NetworkIcons.js +54 -8
  80. package/dist/commonjs/components/ReduxTabView.d.ts +9 -0
  81. package/dist/commonjs/components/ReduxTabView.js +56 -0
  82. package/dist/commonjs/components/ReduxTreeView.js +241 -200
  83. package/dist/commonjs/components/SegmentedTabs.d.ts +15 -0
  84. package/dist/commonjs/components/SegmentedTabs.js +52 -0
  85. package/dist/commonjs/components/SettingsView.d.ts +13 -0
  86. package/dist/commonjs/components/SettingsView.js +328 -0
  87. package/dist/commonjs/components/TouchableScale.d.ts +2 -2
  88. package/dist/commonjs/components/TouchableScale.js +2 -2
  89. package/dist/commonjs/components/TreeNode.js +2 -2
  90. package/dist/commonjs/constants/index.js +1 -12
  91. package/dist/commonjs/constants/version.d.ts +1 -1
  92. package/dist/commonjs/constants/version.js +1 -1
  93. package/dist/commonjs/customHooks/analyticsLogger.d.ts +8 -0
  94. package/dist/commonjs/customHooks/analyticsLogger.js +42 -1
  95. package/dist/commonjs/customHooks/consoleLogger.js +137 -13
  96. package/dist/commonjs/customHooks/networkLogger.d.ts +0 -1
  97. package/dist/commonjs/customHooks/networkLogger.js +0 -1
  98. package/dist/commonjs/customHooks/reduxLogger.d.ts +2 -9
  99. package/dist/commonjs/enums/index.d.ts +39 -0
  100. package/dist/commonjs/enums/index.js +50 -0
  101. package/dist/commonjs/helpers/index.d.ts +27 -1
  102. package/dist/commonjs/helpers/index.js +187 -12
  103. package/dist/commonjs/helpers/settingsStore.d.ts +2 -24
  104. package/dist/commonjs/i18n/en.json +144 -0
  105. package/dist/commonjs/i18n/index.d.ts +2 -0
  106. package/dist/commonjs/i18n/index.js +27 -0
  107. package/dist/commonjs/i18n/locales/en.json +314 -0
  108. package/dist/commonjs/index.d.ts +2 -3
  109. package/dist/commonjs/index.js +207 -4927
  110. package/dist/commonjs/styles/AppColors.d.ts +148 -0
  111. package/dist/commonjs/styles/AppColors.js +176 -0
  112. package/dist/commonjs/styles/common.d.ts +3 -0
  113. package/dist/commonjs/styles/common.js +201 -0
  114. package/dist/commonjs/styles/index.d.ts +219 -435
  115. package/dist/commonjs/styles/index.js +312 -488
  116. package/dist/commonjs/types/enums.d.ts +9 -0
  117. package/dist/commonjs/types/enums.js +4 -0
  118. package/dist/commonjs/types/index.d.ts +4 -111
  119. package/dist/commonjs/types/index.js +16 -0
  120. package/dist/commonjs/types/interfaces.d.ts +337 -0
  121. package/dist/commonjs/types/interfaces.js +2 -0
  122. package/dist/esm/assets/svgAssets.d.ts +3 -0
  123. package/dist/esm/assets/svgAssets.js +14 -0
  124. package/dist/esm/components/AnalyticsEventCard.d.ts +1 -14
  125. package/dist/esm/components/AnalyticsEventCard.js +118 -48
  126. package/dist/esm/components/AnalyticsGraph.d.ts +2 -6
  127. package/dist/esm/components/AnalyticsGraph.js +8 -8
  128. package/dist/esm/components/AnalyticsTabView.d.ts +15 -0
  129. package/dist/esm/components/AnalyticsTabView.js +151 -0
  130. package/dist/esm/components/AnimatedEntrance.d.ts +1 -1
  131. package/dist/esm/components/AnimatedEntrance.js +2 -2
  132. package/dist/esm/components/ApiDetailView.d.ts +22 -0
  133. package/dist/esm/components/ApiDetailView.js +264 -0
  134. package/dist/esm/components/ApisTabView.d.ts +33 -0
  135. package/dist/esm/components/ApisTabView.js +196 -0
  136. package/dist/esm/components/CodeSnippet.d.ts +1 -5
  137. package/dist/esm/components/CodeSnippet.js +34 -34
  138. package/dist/esm/components/ConsoleLogCard.d.ts +1 -8
  139. package/dist/esm/components/ConsoleLogCard.js +262 -409
  140. package/dist/esm/components/ConsoleLogDetailView.d.ts +9 -0
  141. package/dist/esm/components/ConsoleLogDetailView.js +271 -0
  142. package/dist/esm/components/ConsoleLogsTabView.d.ts +24 -0
  143. package/dist/esm/components/ConsoleLogsTabView.js +348 -0
  144. package/dist/esm/components/DiffViewer.js +4 -2
  145. package/dist/esm/components/DomainHeader.js +66 -41
  146. package/dist/esm/components/EmptyState.d.ts +2 -2
  147. package/dist/esm/components/EmptyState.js +2 -2
  148. package/dist/esm/components/EndOfListFooter.d.ts +8 -0
  149. package/dist/esm/components/EndOfListFooter.js +83 -0
  150. package/dist/esm/components/ErrorBoundary.d.ts +5 -14
  151. package/dist/esm/components/ErrorBoundary.js +29 -29
  152. package/dist/esm/components/FloatingBubble.d.ts +14 -0
  153. package/dist/esm/components/FloatingBubble.js +68 -0
  154. package/dist/esm/components/HeadersSection.js +5 -3
  155. package/dist/esm/components/HighlightText.d.ts +1 -1
  156. package/dist/esm/components/HighlightText.js +5 -7
  157. package/dist/esm/components/Inspector/AnalyticsTab.d.ts +3 -0
  158. package/dist/esm/components/Inspector/AnalyticsTab.js +194 -0
  159. package/dist/esm/components/Inspector/ConsoleTab.d.ts +3 -0
  160. package/dist/esm/components/Inspector/ConsoleTab.js +372 -0
  161. package/dist/esm/components/Inspector/FabLauncher.d.ts +3 -0
  162. package/dist/esm/components/Inspector/FabLauncher.js +49 -0
  163. package/dist/esm/components/Inspector/InsightsDashboard.d.ts +3 -0
  164. package/dist/esm/components/Inspector/InsightsDashboard.js +614 -0
  165. package/dist/esm/components/Inspector/InspectorContext.d.ts +5 -0
  166. package/dist/esm/components/Inspector/InspectorContext.js +13 -0
  167. package/dist/esm/components/Inspector/InspectorHeader.d.ts +3 -0
  168. package/dist/esm/components/Inspector/InspectorHeader.js +447 -0
  169. package/dist/esm/components/Inspector/LogDetail.d.ts +3 -0
  170. package/dist/esm/components/Inspector/LogDetail.js +925 -0
  171. package/dist/esm/components/Inspector/MainScreen.d.ts +3 -0
  172. package/dist/esm/components/Inspector/MainScreen.js +63 -0
  173. package/dist/esm/components/Inspector/NavigationTracker.d.ts +3 -0
  174. package/dist/esm/components/Inspector/NavigationTracker.js +10 -0
  175. package/dist/esm/components/Inspector/NetworkDetail.d.ts +3 -0
  176. package/dist/esm/components/Inspector/NetworkDetail.js +367 -0
  177. package/dist/esm/components/Inspector/NetworkTab.d.ts +3 -0
  178. package/dist/esm/components/Inspector/NetworkTab.js +243 -0
  179. package/dist/esm/components/Inspector/ReduxTab.d.ts +3 -0
  180. package/dist/esm/components/Inspector/ReduxTab.js +70 -0
  181. package/dist/esm/components/Inspector/SettingsPanel.d.ts +3 -0
  182. package/dist/esm/components/Inspector/SettingsPanel.js +1438 -0
  183. package/dist/esm/components/Inspector/TabBar.d.ts +3 -0
  184. package/dist/esm/components/Inspector/TabBar.js +90 -0
  185. package/dist/esm/components/Inspector/WebViewTab.d.ts +3 -0
  186. package/dist/esm/components/Inspector/WebViewTab.js +752 -0
  187. package/dist/esm/components/InspectorHeader.d.ts +19 -0
  188. package/dist/esm/components/InspectorHeader.js +323 -0
  189. package/dist/esm/components/InspectorTabBar.d.ts +16 -0
  190. package/dist/esm/components/InspectorTabBar.js +84 -0
  191. package/dist/esm/components/JsonViewer.d.ts +4 -1
  192. package/dist/esm/components/JsonViewer.js +111 -172
  193. package/dist/esm/components/LogCard.js +111 -88
  194. package/dist/esm/components/MetaAccordion.d.ts +1 -10
  195. package/dist/esm/components/MetaAccordion.js +23 -21
  196. package/dist/esm/components/NavigationTracker.d.ts +7 -0
  197. package/dist/esm/components/NavigationTracker.js +39 -0
  198. package/dist/esm/components/NetworkIcons.d.ts +6 -0
  199. package/dist/esm/components/NetworkIcons.js +46 -6
  200. package/dist/esm/components/ReduxTabView.d.ts +9 -0
  201. package/dist/esm/components/ReduxTabView.js +50 -0
  202. package/dist/esm/components/ReduxTreeView.js +243 -202
  203. package/dist/esm/components/SegmentedTabs.d.ts +15 -0
  204. package/dist/esm/components/SegmentedTabs.js +47 -0
  205. package/dist/esm/components/SettingsView.d.ts +13 -0
  206. package/dist/esm/components/SettingsView.js +321 -0
  207. package/dist/esm/components/TouchableScale.d.ts +2 -2
  208. package/dist/esm/components/TouchableScale.js +2 -2
  209. package/dist/esm/components/TreeNode.js +2 -2
  210. package/dist/esm/constants/index.js +1 -12
  211. package/dist/esm/constants/version.d.ts +1 -1
  212. package/dist/esm/constants/version.js +1 -1
  213. package/dist/esm/customHooks/analyticsLogger.d.ts +8 -0
  214. package/dist/esm/customHooks/analyticsLogger.js +37 -0
  215. package/dist/esm/customHooks/consoleLogger.js +137 -13
  216. package/dist/esm/customHooks/networkLogger.d.ts +0 -1
  217. package/dist/esm/customHooks/networkLogger.js +0 -1
  218. package/dist/esm/customHooks/reduxLogger.d.ts +2 -9
  219. package/dist/esm/enums/index.d.ts +39 -0
  220. package/dist/esm/enums/index.js +47 -0
  221. package/dist/esm/helpers/index.d.ts +27 -1
  222. package/dist/esm/helpers/index.js +180 -11
  223. package/dist/esm/helpers/settingsStore.d.ts +2 -24
  224. package/dist/esm/i18n/en.json +144 -0
  225. package/dist/esm/i18n/index.d.ts +2 -0
  226. package/dist/esm/i18n/index.js +22 -0
  227. package/dist/esm/i18n/locales/en.json +314 -0
  228. package/dist/esm/index.d.ts +2 -3
  229. package/dist/esm/index.js +207 -4923
  230. package/dist/esm/styles/AppColors.d.ts +148 -0
  231. package/dist/esm/styles/AppColors.js +176 -0
  232. package/dist/esm/styles/common.d.ts +3 -0
  233. package/dist/esm/styles/common.js +197 -0
  234. package/dist/esm/styles/index.d.ts +219 -435
  235. package/dist/esm/styles/index.js +312 -488
  236. package/dist/esm/types/enums.d.ts +9 -0
  237. package/dist/esm/types/enums.js +3 -0
  238. package/dist/esm/types/index.d.ts +4 -111
  239. package/dist/esm/types/index.js +2 -1
  240. package/dist/esm/types/interfaces.d.ts +337 -0
  241. package/dist/esm/types/interfaces.js +1 -0
  242. package/example/App.tsx +88 -1
  243. package/example/android/app/build.gradle +29 -1
  244. package/example/android/app/src/main/java/com/example/MainApplication.kt +25 -0
  245. package/example/android/build.gradle +31 -4
  246. package/example/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  247. package/example/android/gradle.properties +1 -0
  248. package/example/android/settings.gradle +20 -1
  249. package/example/package-lock.json +1 -1
  250. package/package.json +3 -1
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const react_1 = __importStar(require("react"));
40
+ const react_native_1 = require("react-native");
41
+ const InspectorContext_1 = require("./InspectorContext");
42
+ const useAccordion_1 = __importDefault(require("../../customHooks/useAccordion"));
43
+ const TouchableScale_1 = __importDefault(require("../TouchableScale"));
44
+ const AnimatedEntrance_1 = __importDefault(require("../AnimatedEntrance"));
45
+ const DomainHeader_1 = __importDefault(require("../DomainHeader"));
46
+ const LogCard_1 = __importDefault(require("../LogCard"));
47
+ const EmptyState_1 = __importDefault(require("../EmptyState"));
48
+ const EndOfListFooter_1 = __importDefault(require("../EndOfListFooter"));
49
+ const styles_1 = __importDefault(require("../../styles"));
50
+ const AppColors_1 = require("../../styles/AppColors");
51
+ const AppFonts_1 = require("../../styles/AppFonts");
52
+ const constants_1 = require("../../constants");
53
+ const NetworkIcons_1 = require("../NetworkIcons");
54
+ const STATUS_META = {
55
+ ALL: { color: AppColors_1.AppColors.grayText, Icon: NetworkIcons_1.LayersIcon },
56
+ '2xx': { color: AppColors_1.AppColors.greenColor, Icon: NetworkIcons_1.CircleCheckIcon },
57
+ '3xx': { color: AppColors_1.AppColors.warningIconGold, Icon: NetworkIcons_1.CircleAlertIcon },
58
+ '4xx': { color: AppColors_1.AppColors.darkOrange, Icon: NetworkIcons_1.CircleAlertIcon },
59
+ '5xx': { color: AppColors_1.AppColors.errorColor, Icon: NetworkIcons_1.CircleXIcon },
60
+ Failed: { color: AppColors_1.AppColors.errorColor, Icon: NetworkIcons_1.CircleXIcon },
61
+ };
62
+ const FilterChip = ({ label, color, Icon, badge, active, onPress, }) => {
63
+ const iconColor = active ? color : AppColors_1.AppColors.grayTextWeak;
64
+ return (<TouchableScale_1.default style={styles_1.default.statusFilterWrap} onPress={onPress} hitSlop={10}>
65
+ <react_native_1.View style={[
66
+ styles_1.default.statusFilterChip,
67
+ active && {
68
+ borderColor: color,
69
+ backgroundColor: `${color}12`,
70
+ },
71
+ ]}>
72
+ <react_native_1.View style={[
73
+ styles_1.default.filterCheckbox,
74
+ active && [
75
+ styles_1.default.filterCheckboxActive,
76
+ { backgroundColor: color },
77
+ ],
78
+ ]}>
79
+ {active && (<NetworkIcons_1.CheckIcon color={AppColors_1.AppColors.white} size={10}/>)}
80
+ </react_native_1.View>
81
+ {badge != null ? (<react_native_1.View style={[
82
+ styles_1.default.methodBadgeMini,
83
+ { backgroundColor: badge },
84
+ ]}/>) : (Icon && (<react_native_1.View style={styles_1.default.filterChipIcon}>
85
+ <Icon color={iconColor} size={13}/>
86
+ </react_native_1.View>))}
87
+ <react_native_1.Text style={[
88
+ styles_1.default.statusFilterText,
89
+ active && { color, fontFamily: AppFonts_1.AppFonts.interBold },
90
+ ]}>
91
+ {label}
92
+ </react_native_1.Text>
93
+ </react_native_1.View>
94
+ </TouchableScale_1.default>);
95
+ };
96
+ const NetworkTab = () => {
97
+ const { groupedData, search, setSearch, handleDelete, selectedLogs, sortOrder, setSortOrder, statusFilters, setStatusFilters, methodFilters, setMethodFilters, availableMethods, filteredLogs, logs, toggleSectionFilter, toggleSectionCollapse, minStart, totalRange, newLogIds, toggleSelect, setSelected, isNetworkPaused, setIsNetworkPaused, } = (0, InspectorContext_1.useInspector)();
98
+ const filtersAccordion = (0, useAccordion_1.default)(false, 300, 260);
99
+ const apisListRef = (0, react_1.useRef)(null);
100
+ const renderItem = (0, react_1.useCallback)(({ item, index }) => {
101
+ if (item.type === 'header') {
102
+ return (<AnimatedEntrance_1.default index={index} distance={8}>
103
+ <DomainHeader_1.default pageName={item.pageName} color={item.color} stats={item.stats} activeFilters={item.activeFilters} onToggleFilter={toggleSectionFilter} isCollapsed={item.isCollapsed} onToggleCollapse={toggleSectionCollapse} isFirst={item.isFirst} timestamp={item.timestamp}/>
104
+ </AnimatedEntrance_1.default>);
105
+ }
106
+ const { log, isLast, color } = item;
107
+ return (<AnimatedEntrance_1.default index={index} distance={8} style={styles_1.default.treeNodeRow}>
108
+ <react_native_1.View style={styles_1.default.treeLines}>
109
+ <react_native_1.View style={[
110
+ styles_1.default.modernTreeLine,
111
+ { borderColor: color },
112
+ isLast && styles_1.default.modernTreeLineLast,
113
+ ]}/>
114
+ {!isLast && (<react_native_1.View style={[styles_1.default.modernTreeBranch, { borderColor: color }]}/>)}
115
+ </react_native_1.View>
116
+ <react_native_1.View style={styles_1.default.treeCardWrapper}>
117
+ <LogCard_1.default item={log} isSelected={selectedLogs.has(log.id)} onToggleSelect={toggleSelect} onPress={() => {
118
+ (0, InspectorContext_1.animateNextLayout)();
119
+ setSelected(log);
120
+ }} timelineMinStart={minStart} timelineTotalRange={totalRange} isNew={newLogIds.has(log.id)} searchStr={search}/>
121
+ </react_native_1.View>
122
+ </AnimatedEntrance_1.default>);
123
+ }, [
124
+ minStart,
125
+ totalRange,
126
+ newLogIds,
127
+ selectedLogs,
128
+ toggleSelect,
129
+ search,
130
+ toggleSectionFilter,
131
+ toggleSectionCollapse,
132
+ setSelected,
133
+ ]);
134
+ return (<react_native_1.View style={{ flex: 1 }}>
135
+ <react_native_1.FlatList ref={apisListRef} data={groupedData} keyExtractor={item => item?.id?.toString()} renderItem={renderItem} initialNumToRender={10} maxToRenderPerBatch={10} windowSize={5} removeClippedSubviews={true} ListHeaderComponent={<react_native_1.View style={{ marginTop: 8 }}>
136
+ <react_native_1.View style={styles_1.default.toolbarRow}>
137
+ <react_native_1.View style={styles_1.default.searchContainer}>
138
+ <NetworkIcons_1.SearchIcon color={AppColors_1.AppColors.grayTextWeak} size={16}/>
139
+ <react_native_1.TextInput placeholder="Search endpoints..." placeholderTextColor={AppColors_1.AppColors.grayTextWeak} value={search} onChangeText={setSearch} style={styles_1.default.searchInput} autoCorrect={false} autoCapitalize="none"/>
140
+ {search.length > 0 && (<react_native_1.Pressable onPress={() => setSearch('')} hitSlop={10} style={styles_1.default.clearBtn}>
141
+ <NetworkIcons_1.ClearIcon color={AppColors_1.AppColors.grayTextWeak} size={14}/>
142
+ </react_native_1.Pressable>)}
143
+ </react_native_1.View>
144
+
145
+ <react_native_1.View style={styles_1.default.toolbarRight}>
146
+ <TouchableScale_1.default style={[
147
+ styles_1.default.toolbarBtn,
148
+ isNetworkPaused && {
149
+ borderColor: `${AppColors_1.AppColors.darkOrange}50`,
150
+ backgroundColor: `${AppColors_1.AppColors.darkOrange}18`,
151
+ },
152
+ ]} onPress={() => setIsNetworkPaused(p => !p)} hitSlop={6}>
153
+ <NetworkIcons_1.HeaderPauseIcon isPaused={isNetworkPaused} color={isNetworkPaused
154
+ ? AppColors_1.AppColors.darkOrange
155
+ : AppColors_1.AppColors.grayTextStrong} size={16}/>
156
+ </TouchableScale_1.default>
157
+
158
+ <TouchableScale_1.default style={[
159
+ styles_1.default.toolbarBtn,
160
+ {
161
+ borderColor: `${AppColors_1.AppColors.errorColor}38`,
162
+ backgroundColor: `${AppColors_1.AppColors.errorColor}0F`,
163
+ },
164
+ ]} onPress={handleDelete} hitSlop={6}>
165
+ <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={15}/>
166
+ {selectedLogs.size > 0 && (<react_native_1.View style={styles_1.default.trashBadge}>
167
+ <react_native_1.Text style={styles_1.default.trashBadgeText}>
168
+ {selectedLogs.size}
169
+ </react_native_1.Text>
170
+ </react_native_1.View>)}
171
+ </TouchableScale_1.default>
172
+
173
+ <TouchableScale_1.default style={styles_1.default.toolbarBtn} onPress={() => setSortOrder(o => o === 'newest' ? 'oldest' : 'newest')} hitSlop={10}>
174
+ <NetworkIcons_1.SortArrowIcon direction={sortOrder === 'newest' ? 'down' : 'up'} color={AppColors_1.AppColors.grayTextStrong} size={18}/>
175
+ </TouchableScale_1.default>
176
+
177
+ <TouchableScale_1.default style={[
178
+ styles_1.default.toolbarBtn,
179
+ filtersAccordion.isOpen &&
180
+ styles_1.default.toolbarBtnActive,
181
+ ]} onPress={filtersAccordion.toggleOpen} hitSlop={10}>
182
+ <NetworkIcons_1.FilterIcon color={filtersAccordion.isOpen
183
+ ? AppColors_1.AppColors.purple
184
+ : AppColors_1.AppColors.grayTextStrong} size={18}/>
185
+ </TouchableScale_1.default>
186
+ </react_native_1.View>
187
+ </react_native_1.View>
188
+
189
+ <react_native_1.Animated.View style={[
190
+ filtersAccordion.bodyStyle,
191
+ { overflow: 'hidden' },
192
+ ]}>
193
+ <react_native_1.View style={styles_1.default.filtersContainer}>
194
+ <react_native_1.Text style={styles_1.default.filtersHeading}>
195
+ STATUS
196
+ </react_native_1.Text>
197
+ <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles_1.default.statusRowContent}>
198
+ {constants_1.STATUS_FILTERS.map(filter => {
199
+ const isAll = filter === 'ALL';
200
+ const active = isAll
201
+ ? statusFilters.size === 0
202
+ : statusFilters.has(filter);
203
+ const meta = STATUS_META[filter] ?? {
204
+ color: AppColors_1.AppColors.grayText,
205
+ Icon: NetworkIcons_1.LayersIcon,
206
+ };
207
+ return (<FilterChip key={filter} label={filter} color={meta.color} Icon={meta.Icon} active={active} onPress={() => {
208
+ if (isAll) {
209
+ setStatusFilters(new Set());
210
+ }
211
+ else {
212
+ setStatusFilters(prev => {
213
+ const next = new Set(prev);
214
+ next.has(filter)
215
+ ? next.delete(filter)
216
+ : next.add(filter);
217
+ return next;
218
+ });
219
+ }
220
+ }}/>);
221
+ })}
222
+ </react_native_1.ScrollView>
223
+
224
+ <react_native_1.Text style={[
225
+ styles_1.default.filtersHeading,
226
+ { marginTop: 16 },
227
+ ]}>
228
+ METHOD
229
+ </react_native_1.Text>
230
+ <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles_1.default.statusRowContent}>
231
+ {availableMethods.map(filter => {
232
+ const isAll = filter === 'ALL';
233
+ const active = isAll
234
+ ? methodFilters.size === 0
235
+ : methodFilters.has(filter);
236
+ const methodColor = constants_1.METHOD_COLORS[filter] ??
237
+ constants_1.METHOD_COLORS.ALL;
238
+ return (<FilterChip key={filter} label={filter} color={methodColor} badge={methodColor} active={active} onPress={() => {
239
+ if (isAll) {
240
+ setMethodFilters(new Set());
241
+ }
242
+ else {
243
+ setMethodFilters(prev => {
244
+ const next = new Set(prev);
245
+ next.has(filter)
246
+ ? next.delete(filter)
247
+ : next.add(filter);
248
+ return next;
249
+ });
250
+ }
251
+ }}/>);
252
+ })}
253
+ </react_native_1.ScrollView>
254
+ </react_native_1.View>
255
+ </react_native_1.Animated.View>
256
+
257
+ {(search ||
258
+ statusFilters.size > 0 ||
259
+ methodFilters.size > 0) && (<react_native_1.Text style={styles_1.default.resultCount}>
260
+ {filteredLogs.length === logs.length
261
+ ? `${logs.length} requests`
262
+ : `${filteredLogs.length} of ${logs.length} filtered requests`}
263
+ </react_native_1.Text>)}
264
+ </react_native_1.View>} ListEmptyComponent={<EmptyState_1.default isSearch={search.length > 0 || statusFilters.size > 0}/>} ListFooterComponent={groupedData.length > 0 ? (<EndOfListFooter_1.default count={filteredLogs.length} label="requests"/>) : null} contentContainerStyle={[
265
+ styles_1.default.listContent,
266
+ filteredLogs.length === 0 && { flexGrow: 1 },
267
+ ]} keyboardShouldPersistTaps="handled"/>
268
+ {/* #2 — always-visible scroll-to-top, bottom right */}
269
+ <TouchableScale_1.default onPress={() => {
270
+ apisListRef.current?.scrollToOffset({
271
+ offset: 0,
272
+ animated: true,
273
+ });
274
+ }} hitSlop={10} style={styles_1.default.scrollTopBtn}>
275
+ <react_native_1.View style={{ transform: [{ rotate: '180deg' }] }}>
276
+ <NetworkIcons_1.ChevronIcon color={AppColors_1.AppColors.white} size={18}/>
277
+ </react_native_1.View>
278
+ </TouchableScale_1.default>
279
+ </react_native_1.View>);
280
+ };
281
+ exports.default = NetworkTab;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ReduxTab: () => React.JSX.Element;
3
+ export default ReduxTab;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_native_1 = require("react-native");
8
+ const InspectorContext_1 = require("./InspectorContext");
9
+ const ReduxTreeView_1 = require("../ReduxTreeView");
10
+ const styles_1 = __importDefault(require("../../styles"));
11
+ const AppColors_1 = require("../../styles/AppColors");
12
+ const AppFonts_1 = require("../../styles/AppFonts");
13
+ const NetworkIcons_1 = require("../NetworkIcons");
14
+ const ReduxTab = () => {
15
+ const { reduxState, reduxLastActionMap, reduxSearch, setReduxSearch, } = (0, InspectorContext_1.useInspector)();
16
+ if (!reduxState) {
17
+ return (<react_native_1.View style={styles_1.default.emptyContainer}>
18
+ <react_native_1.View style={styles_1.default.emptyIconWrap}>
19
+ <NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.purple} size={32}/>
20
+ </react_native_1.View>
21
+ <react_native_1.Text style={styles_1.default.emptyTitle}>No Redux Store</react_native_1.Text>
22
+ <react_native_1.Text style={styles_1.default.emptySub}>
23
+ To inspect Redux store, call connectReduxStore(store) at app start.
24
+ </react_native_1.Text>
25
+ </react_native_1.View>);
26
+ }
27
+ const reducerKeys = Object.keys(reduxState);
28
+ if (reducerKeys.length === 0) {
29
+ return (<react_native_1.View style={styles_1.default.emptyContainer}>
30
+ <react_native_1.Text style={styles_1.default.emptyTitle}>Empty Store</react_native_1.Text>
31
+ <react_native_1.Text style={styles_1.default.emptySub}>Connected store state is empty.</react_native_1.Text>
32
+ </react_native_1.View>);
33
+ }
34
+ const lastActionMap = reduxLastActionMap;
35
+ return (<react_native_1.ScrollView style={styles_1.default.detailScroll} contentContainerStyle={{ paddingBottom: 24 }}>
36
+ {/* Search Bar */}
37
+ <react_native_1.View style={{
38
+ flexDirection: 'row',
39
+ alignItems: 'center',
40
+ backgroundColor: AppColors_1.AppColors.grayBackground,
41
+ borderRadius: 8,
42
+ marginHorizontal: 16,
43
+ marginTop: 16,
44
+ marginBottom: 12,
45
+ paddingHorizontal: 10,
46
+ borderWidth: 1,
47
+ borderColor: AppColors_1.AppColors.dividerColor,
48
+ height: 36,
49
+ }}>
50
+ <react_native_1.TextInput placeholder="Search Redux keys or values..." placeholderTextColor={AppColors_1.AppColors.grayTextWeak} value={reduxSearch} onChangeText={setReduxSearch} style={{
51
+ flex: 1,
52
+ fontFamily: AppFonts_1.AppFonts.interRegular,
53
+ fontSize: 12,
54
+ color: AppColors_1.AppColors.grayTextStrong,
55
+ padding: 0,
56
+ }} autoCorrect={false} autoCapitalize="none"/>
57
+ {reduxSearch.length > 0 && (<react_native_1.Pressable onPress={() => setReduxSearch('')} hitSlop={10}>
58
+ <NetworkIcons_1.ClearIcon color={AppColors_1.AppColors.grayTextWeak} size={14}/>
59
+ </react_native_1.Pressable>)}
60
+ </react_native_1.View>
61
+
62
+ {/* Main Content Card */}
63
+ <react_native_1.View style={{
64
+ backgroundColor: AppColors_1.AppColors.primaryLight,
65
+ borderRadius: 12,
66
+ borderWidth: 1,
67
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
68
+ marginHorizontal: 16,
69
+ padding: 12,
70
+ }}>
71
+ <ReduxTreeView_1.ReduxTreeView state={reduxState} lastActionMap={lastActionMap} search={reduxSearch}/>
72
+ </react_native_1.View>
73
+ </react_native_1.ScrollView>);
74
+ };
75
+ exports.default = ReduxTab;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const SettingsPanel: () => React.JSX.Element;
3
+ export default SettingsPanel;