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,410 @@
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 react_i18next_1 = require("react-i18next");
43
+ const TouchableScale_1 = __importDefault(require("../TouchableScale"));
44
+ const AnimatedEntrance_1 = __importDefault(require("../AnimatedEntrance"));
45
+ const ConsoleLogCard_1 = require("../ConsoleLogCard");
46
+ const EmptyState_1 = __importDefault(require("../EmptyState"));
47
+ const EndOfListFooter_1 = __importDefault(require("../EndOfListFooter"));
48
+ const styles_1 = __importDefault(require("../../styles"));
49
+ const AppColors_1 = require("../../styles/AppColors");
50
+ const AppFonts_1 = require("../../styles/AppFonts");
51
+ const NetworkIcons_1 = require("../NetworkIcons");
52
+ const ConsoleTab = () => {
53
+ const { t } = (0, react_i18next_1.useTranslation)();
54
+ const { logSearch, setLogSearch, logSortOrder, setLogSortOrder, handleDelete, logFilters, setLogFilters, logCounts, filteredConsoleLogs, visibleConsoleLogs, isConsolePaused, setIsConsolePaused, } = (0, InspectorContext_1.useInspector)();
55
+ const renderItem = (0, react_1.useCallback)(({ item, index }) => (<AnimatedEntrance_1.default index={index} distance={8}>
56
+ <ConsoleLogCard_1.ConsoleLogCard item={item} searchStr={logSearch}/>
57
+ </AnimatedEntrance_1.default>), [logSearch]);
58
+ const keyExtractor = (0, react_1.useCallback)((item, index) => item?.id?.toString() ?? index.toString(), []);
59
+ const listHeader = (0, react_1.useMemo)(() => (() => {
60
+ const total = visibleConsoleLogs.length;
61
+ const filtered = filteredConsoleLogs.length;
62
+ const isAllSelected = logFilters.has('all') ||
63
+ !Array.from(logFilters).some(f => f !== 'all');
64
+ if (isAllSelected) {
65
+ return (<react_native_1.Text style={[
66
+ styles_1.default.resultCount,
67
+ { marginBottom: 4, marginTop: 12 },
68
+ ]}>
69
+ Showing ({filtered}/{total}) logs showing
70
+ </react_native_1.Text>);
71
+ }
72
+ else {
73
+ const activeFilterNames = Array.from(logFilters)
74
+ .filter(f => f !== 'all')
75
+ .map(f => {
76
+ if (f === 'user-log')
77
+ return 'User Log';
78
+ if (f === 'analytics')
79
+ return 'Analytics';
80
+ return (f.charAt(0).toUpperCase() +
81
+ f.slice(1));
82
+ });
83
+ return (<react_native_1.Text style={[
84
+ styles_1.default.resultCount,
85
+ { marginBottom: 4, marginTop: 12 },
86
+ ]}>
87
+ Filtering with {activeFilterNames.join(', ')} (
88
+ {filtered}/{total}) logs is showing
89
+ </react_native_1.Text>);
90
+ }
91
+ })(), [visibleConsoleLogs, filteredConsoleLogs, logFilters]);
92
+ return (<react_native_1.View style={{ flex: 1 }}>
93
+ <react_native_1.View style={{
94
+ backgroundColor: AppColors_1.AppColors.white,
95
+ borderBottomWidth: 1,
96
+ borderBottomColor: AppColors_1.AppColors.dividerColor,
97
+ paddingBottom: 6,
98
+ }}>
99
+ <react_native_1.View style={[
100
+ styles_1.default.toolbarRow,
101
+ { marginTop: 12, marginBottom: 8 },
102
+ ]}>
103
+ <react_native_1.View style={styles_1.default.searchContainer}>
104
+ <NetworkIcons_1.SearchIcon color={AppColors_1.AppColors.grayTextWeak} size={16}/>
105
+ <react_native_1.TextInput placeholder={t('console.searchPlaceholder')} placeholderTextColor={AppColors_1.AppColors.grayTextWeak} value={logSearch} onChangeText={setLogSearch} style={styles_1.default.searchInput} autoCorrect={false} autoCapitalize="none"/>
106
+ {logSearch.length > 0 && (<react_native_1.Pressable onPress={() => setLogSearch('')} hitSlop={10} style={styles_1.default.clearBtn}>
107
+ <NetworkIcons_1.ClearIcon color={AppColors_1.AppColors.grayTextWeak} size={14}/>
108
+ </react_native_1.Pressable>)}
109
+ </react_native_1.View>
110
+
111
+ <react_native_1.View style={styles_1.default.toolbarRight}>
112
+ <TouchableScale_1.default style={[
113
+ styles_1.default.toolbarBtn,
114
+ isConsolePaused && {
115
+ borderColor: `${AppColors_1.AppColors.darkOrange}50`,
116
+ backgroundColor: `${AppColors_1.AppColors.darkOrange}18`,
117
+ },
118
+ ]} onPress={() => setIsConsolePaused(p => !p)} hitSlop={6}>
119
+ <NetworkIcons_1.HeaderPauseIcon isPaused={isConsolePaused} color={isConsolePaused
120
+ ? AppColors_1.AppColors.darkOrange
121
+ : AppColors_1.AppColors.grayTextStrong} size={16}/>
122
+ </TouchableScale_1.default>
123
+ <TouchableScale_1.default style={styles_1.default.toolbarBtn} onPress={() => setLogSortOrder(o => o === 'newest' ? 'oldest' : 'newest')} hitSlop={10}>
124
+ <NetworkIcons_1.SortArrowIcon color={AppColors_1.AppColors.grayTextStrong} size={18} direction={logSortOrder === 'newest' ? 'down' : 'up'}/>
125
+ </TouchableScale_1.default>
126
+ <TouchableScale_1.default style={[
127
+ styles_1.default.toolbarBtn,
128
+ {
129
+ borderColor: `${AppColors_1.AppColors.errorColor}38`,
130
+ backgroundColor: `${AppColors_1.AppColors.errorColor}0F`,
131
+ },
132
+ ]} onPress={handleDelete} hitSlop={6}>
133
+ <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={15}/>
134
+ </TouchableScale_1.default>
135
+ </react_native_1.View>
136
+ </react_native_1.View>
137
+
138
+ <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} style={{ marginVertical: 4, maxHeight: 46 }} contentContainerStyle={{
139
+ paddingHorizontal: 16,
140
+ paddingBottom: 4,
141
+ flexDirection: 'row',
142
+ alignItems: 'center',
143
+ gap: 8,
144
+ }}>
145
+ {(() => {
146
+ const active = logFilters.has('all');
147
+ return (<TouchableScale_1.default onPress={() => {
148
+ setLogFilters(new Set(['all']));
149
+ }}>
150
+ <react_native_1.View style={[
151
+ styles_1.default.statusFilterChip,
152
+ active && {
153
+ borderColor: AppColors_1.AppColors.purpleShade700,
154
+ backgroundColor: AppColors_1.AppColors.purpleTintBg,
155
+ },
156
+ ]}>
157
+ {/* #7 */}
158
+ <react_native_1.View style={{
159
+ flexDirection: 'row',
160
+ alignItems: 'center',
161
+ gap: 5,
162
+ }}>
163
+ <NetworkIcons_1.LayersIcon size={12} color={active
164
+ ? AppColors_1.AppColors.purpleShade700
165
+ : AppColors_1.AppColors.grayTextStrong}/>
166
+ <react_native_1.Text numberOfLines={1} style={[
167
+ styles_1.default.statusFilterText,
168
+ active && {
169
+ color: AppColors_1.AppColors.purpleShade700,
170
+ fontFamily: AppFonts_1.AppFonts.interBold,
171
+ },
172
+ ]}>
173
+ All ({logCounts.all})
174
+ </react_native_1.Text>
175
+ </react_native_1.View>
176
+ </react_native_1.View>
177
+ </TouchableScale_1.default>);
178
+ })()}
179
+
180
+ {(() => {
181
+ const active = logFilters.has('user-log');
182
+ return (<TouchableScale_1.default onPress={() => {
183
+ setLogFilters(prev => {
184
+ const next = new Set(prev);
185
+ next.delete('all');
186
+ next.has('user-log')
187
+ ? next.delete('user-log')
188
+ : next.add('user-log');
189
+ if (next.size === 0)
190
+ next.add('all');
191
+ return next;
192
+ });
193
+ }}>
194
+ <react_native_1.View style={[
195
+ styles_1.default.statusFilterChip,
196
+ active && {
197
+ borderColor: AppColors_1.AppColors.slate500,
198
+ backgroundColor: AppColors_1.AppColors.slate100,
199
+ },
200
+ ]}>
201
+ {/* #7 */}
202
+ <react_native_1.View style={{
203
+ flexDirection: 'row',
204
+ alignItems: 'center',
205
+ gap: 5,
206
+ }}>
207
+ <NetworkIcons_1.UserIcon size={12} color={active
208
+ ? AppColors_1.AppColors.slate700
209
+ : AppColors_1.AppColors.grayTextStrong}/>
210
+ <react_native_1.Text numberOfLines={1} style={[
211
+ styles_1.default.statusFilterText,
212
+ active && {
213
+ color: AppColors_1.AppColors.slate700,
214
+ fontFamily: AppFonts_1.AppFonts.interBold,
215
+ },
216
+ ]}>
217
+ User Log ({logCounts['user-log']})
218
+ </react_native_1.Text>
219
+ </react_native_1.View>
220
+ </react_native_1.View>
221
+ </TouchableScale_1.default>);
222
+ })()}
223
+
224
+ {(() => {
225
+ const active = logFilters.has('info');
226
+ return (<TouchableScale_1.default onPress={() => {
227
+ setLogFilters(prev => {
228
+ const next = new Set(prev);
229
+ next.delete('all');
230
+ next.has('info')
231
+ ? next.delete('info')
232
+ : next.add('info');
233
+ if (next.size === 0)
234
+ next.add('all');
235
+ return next;
236
+ });
237
+ }}>
238
+ <react_native_1.View style={[
239
+ styles_1.default.statusFilterChip,
240
+ active && {
241
+ borderColor: AppColors_1.AppColors.purple,
242
+ backgroundColor: AppColors_1.AppColors.purpleShade50,
243
+ },
244
+ ]}>
245
+ {/* #7 */}
246
+ <react_native_1.View style={{
247
+ flexDirection: 'row',
248
+ alignItems: 'center',
249
+ gap: 5,
250
+ }}>
251
+ <NetworkIcons_1.InfoCircleIcon size={12} color={active
252
+ ? AppColors_1.AppColors.purple
253
+ : AppColors_1.AppColors.grayTextStrong}/>
254
+ <react_native_1.Text numberOfLines={1} style={[
255
+ styles_1.default.statusFilterText,
256
+ active && {
257
+ color: AppColors_1.AppColors.purple,
258
+ fontFamily: AppFonts_1.AppFonts.interBold,
259
+ },
260
+ ]}>
261
+ Info ({logCounts.info})
262
+ </react_native_1.Text>
263
+ </react_native_1.View>
264
+ </react_native_1.View>
265
+ </TouchableScale_1.default>);
266
+ })()}
267
+
268
+ {(() => {
269
+ const active = logFilters.has('warn');
270
+ return (<TouchableScale_1.default onPress={() => {
271
+ setLogFilters(prev => {
272
+ const next = new Set(prev);
273
+ next.delete('all');
274
+ next.has('warn')
275
+ ? next.delete('warn')
276
+ : next.add('warn');
277
+ if (next.size === 0)
278
+ next.add('all');
279
+ return next;
280
+ });
281
+ }}>
282
+ <react_native_1.View style={[
283
+ styles_1.default.statusFilterChip,
284
+ active && {
285
+ borderColor: AppColors_1.AppColors.lightOrange,
286
+ backgroundColor: AppColors_1.AppColors.warnCardBg,
287
+ },
288
+ ]}>
289
+ {/* #7 */}
290
+ <react_native_1.View style={{
291
+ flexDirection: 'row',
292
+ alignItems: 'center',
293
+ gap: 5,
294
+ }}>
295
+ <NetworkIcons_1.WarningTriangleIcon size={12} color={active
296
+ ? AppColors_1.AppColors.darkOrange ||
297
+ AppColors_1.AppColors.lightOrange
298
+ : AppColors_1.AppColors.grayTextStrong}/>
299
+ <react_native_1.Text numberOfLines={1} style={[
300
+ styles_1.default.statusFilterText,
301
+ active && {
302
+ color: AppColors_1.AppColors.darkOrange ||
303
+ AppColors_1.AppColors.lightOrange,
304
+ fontFamily: AppFonts_1.AppFonts.interBold,
305
+ },
306
+ ]}>
307
+ Warning ({logCounts.warn})
308
+ </react_native_1.Text>
309
+ </react_native_1.View>
310
+ </react_native_1.View>
311
+ </TouchableScale_1.default>);
312
+ })()}
313
+
314
+ {(() => {
315
+ const active = logFilters.has('error');
316
+ return (<TouchableScale_1.default onPress={() => {
317
+ setLogFilters(prev => {
318
+ const next = new Set(prev);
319
+ next.delete('all');
320
+ next.has('error')
321
+ ? next.delete('error')
322
+ : next.add('error');
323
+ if (next.size === 0)
324
+ next.add('all');
325
+ return next;
326
+ });
327
+ }}>
328
+ <react_native_1.View style={[
329
+ styles_1.default.statusFilterChip,
330
+ active && {
331
+ borderColor: AppColors_1.AppColors.errorColor,
332
+ backgroundColor: AppColors_1.AppColors.errorCardBg,
333
+ },
334
+ ]}>
335
+ {/* #7 */}
336
+ <react_native_1.View style={{
337
+ flexDirection: 'row',
338
+ alignItems: 'center',
339
+ gap: 5,
340
+ }}>
341
+ <NetworkIcons_1.ErrorCircleIcon size={12} color={active
342
+ ? AppColors_1.AppColors.errorColor
343
+ : AppColors_1.AppColors.grayTextStrong}/>
344
+ <react_native_1.Text numberOfLines={1} style={[
345
+ styles_1.default.statusFilterText,
346
+ active && {
347
+ color: AppColors_1.AppColors.errorColor,
348
+ fontFamily: AppFonts_1.AppFonts.interBold,
349
+ },
350
+ ]}>
351
+ Error ({logCounts.error})
352
+ </react_native_1.Text>
353
+ </react_native_1.View>
354
+ </react_native_1.View>
355
+ </TouchableScale_1.default>);
356
+ })()}
357
+
358
+ {(() => {
359
+ const active = logFilters.has('analytics');
360
+ return (<TouchableScale_1.default onPress={() => {
361
+ setLogFilters(prev => {
362
+ const next = new Set(prev);
363
+ next.delete('all');
364
+ next.has('analytics')
365
+ ? next.delete('analytics')
366
+ : next.add('analytics');
367
+ if (next.size === 0)
368
+ next.add('all');
369
+ return next;
370
+ });
371
+ }}>
372
+ <react_native_1.View style={[
373
+ styles_1.default.statusFilterChip,
374
+ active && {
375
+ borderColor: AppColors_1.AppColors.skyBlue,
376
+ backgroundColor: `${AppColors_1.AppColors.skyBlue}15`,
377
+ },
378
+ ]}>
379
+ {/* #7 */}
380
+ <react_native_1.View style={{
381
+ flexDirection: 'row',
382
+ alignItems: 'center',
383
+ gap: 5,
384
+ }}>
385
+ <NetworkIcons_1.AnalyticsIcon size={12} color={active
386
+ ? AppColors_1.AppColors.skyBlue
387
+ : AppColors_1.AppColors.grayTextStrong}/>
388
+ <react_native_1.Text numberOfLines={1} style={[
389
+ styles_1.default.statusFilterText,
390
+ active && {
391
+ color: AppColors_1.AppColors.skyBlue,
392
+ fontFamily: AppFonts_1.AppFonts.interBold,
393
+ },
394
+ ]}>
395
+ Analytics ({logCounts.analytics})
396
+ </react_native_1.Text>
397
+ </react_native_1.View>
398
+ </react_native_1.View>
399
+ </TouchableScale_1.default>);
400
+ })()}
401
+ </react_native_1.ScrollView>
402
+ </react_native_1.View>
403
+
404
+ <react_native_1.FlatList data={filteredConsoleLogs} keyExtractor={keyExtractor} ListHeaderComponent={listHeader} renderItem={renderItem} initialNumToRender={15} maxToRenderPerBatch={15} windowSize={7} removeClippedSubviews={true} ListEmptyComponent={<EmptyState_1.default isSearch={logSearch.length > 0 || logFilters.size > 0}/>} ListFooterComponent={filteredConsoleLogs.length > 0 ? (<EndOfListFooter_1.default count={filteredConsoleLogs.length} label="logs"/>) : null} contentContainerStyle={[
405
+ styles_1.default.listContent,
406
+ filteredConsoleLogs.length === 0 && { flexGrow: 1 },
407
+ ]} keyboardShouldPersistTaps="handled"/>
408
+ </react_native_1.View>);
409
+ };
410
+ exports.default = ConsoleTab;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const FabLauncher: () => React.JSX.Element;
3
+ export default FabLauncher;
@@ -0,0 +1,54 @@
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 react_native_linear_gradient_1 = __importDefault(require("react-native-linear-gradient"));
9
+ const InspectorContext_1 = require("./InspectorContext");
10
+ const TouchableScale_1 = __importDefault(require("../TouchableScale"));
11
+ const BrandCircleIcon_1 = __importDefault(require("../BrandCircleIcon"));
12
+ const AppColors_1 = require("../../styles/AppColors");
13
+ const styles_1 = __importDefault(require("../../styles"));
14
+ const FabLauncher = () => {
15
+ const { setVisible, fabPan, fabPanResponder, fabDraggedRef, pulseAnim, fabShineAnim, unreadPulseAnim, logs, analyticsEvents, } = (0, InspectorContext_1.useInspector)();
16
+ return (<react_native_1.Animated.View style={[styles_1.default.fabWrapper, { transform: fabPan.getTranslateTransform() }]} {...fabPanResponder.panHandlers}>
17
+ <TouchableScale_1.default style={{ alignItems: 'center', justifyContent: 'center' }} onPress={() => {
18
+ if (fabDraggedRef.current)
19
+ return;
20
+ setVisible(true);
21
+ }} hitSlop={10}>
22
+ <react_native_1.Animated.View style={[styles_1.default.fabPulseRing, { transform: [{ scale: pulseAnim }] }]}/>
23
+ <BrandCircleIcon_1.default size={62}/>
24
+ {/* #4 — shining sweep, clipped inside the circular launcher */}
25
+ <react_native_1.View pointerEvents="none" style={styles_1.default.fabShineClip}>
26
+ <react_native_1.Animated.View style={[
27
+ styles_1.default.fabShineStreak,
28
+ {
29
+ transform: [
30
+ {
31
+ translateX: fabShineAnim.interpolate({
32
+ inputRange: [0, 1],
33
+ outputRange: [-48, 96],
34
+ }),
35
+ },
36
+ { rotate: '25deg' },
37
+ ],
38
+ },
39
+ ]}>
40
+ <react_native_linear_gradient_1.default colors={[
41
+ `${AppColors_1.AppColors.white}00`,
42
+ `${AppColors_1.AppColors.white}8C`,
43
+ `${AppColors_1.AppColors.white}00`,
44
+ ]} start={{ x: 0, y: 0.5 }} end={{ x: 1, y: 0.5 }} style={{ flex: 1 }}/>
45
+ </react_native_1.Animated.View>
46
+ </react_native_1.View>
47
+ {(logs.length > 0 || analyticsEvents.length > 0) && (<react_native_1.Animated.View style={[
48
+ styles_1.default.fabGreenDot,
49
+ { transform: [{ scale: unreadPulseAnim }] },
50
+ ]}/>)}
51
+ </TouchableScale_1.default>
52
+ </react_native_1.Animated.View>);
53
+ };
54
+ exports.default = FabLauncher;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const InsightsDashboard: () => React.JSX.Element;
3
+ export default InsightsDashboard;