react-native-inapp-inspector 1.1.28 → 1.1.31
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.
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.java +29 -80
- package/dist/commonjs/components/AnalyticsDetail.js +668 -108
- package/dist/commonjs/components/AppHeaderLogo.js +15 -15
- package/dist/commonjs/components/ConsoleLogCard.js +112 -66
- package/dist/commonjs/components/CopyButton.js +15 -1
- package/dist/commonjs/components/DomainHeader.js +64 -32
- package/dist/commonjs/components/HighlightText.js +7 -1
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +332 -221
- package/dist/commonjs/components/Inspector/ConsoleTab.js +162 -56
- package/dist/commonjs/components/Inspector/InspectorHeader.js +70 -119
- package/dist/commonjs/components/Inspector/LogDetail.js +53 -17
- package/dist/commonjs/components/Inspector/MainScreen.js +4 -0
- package/dist/commonjs/components/Inspector/NetworkDetail.js +24 -24
- package/dist/commonjs/components/Inspector/NetworkTab.js +4 -1
- package/dist/commonjs/components/Inspector/ReduxDetail.js +237 -42
- package/dist/commonjs/components/Inspector/ReduxTab.js +456 -35
- package/dist/commonjs/components/JsonViewer.js +26 -4
- package/dist/commonjs/components/LogCard.js +103 -11
- package/dist/commonjs/components/NetworkIcons.js +19 -10
- package/dist/commonjs/components/Toast.d.ts +3 -0
- package/dist/commonjs/components/Toast.js +152 -0
- package/dist/commonjs/components/TouchableScale.d.ts +1 -0
- package/dist/commonjs/components/TouchableScale.js +3 -3
- package/dist/commonjs/components/TreeNode.js +12 -2
- package/dist/commonjs/constants/index.js +6 -6
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/reduxLogger.js +128 -5
- package/dist/commonjs/helpers/index.d.ts +4 -0
- package/dist/commonjs/helpers/index.js +107 -92
- package/dist/commonjs/helpers/toast.d.ts +4 -0
- package/dist/commonjs/helpers/toast.js +20 -0
- package/dist/commonjs/i18n/locales/en.json +49 -3
- package/dist/commonjs/styles/AppColors.d.ts +6 -0
- package/dist/commonjs/styles/AppColors.js +6 -0
- package/dist/commonjs/styles/index.d.ts +82 -15
- package/dist/commonjs/styles/index.js +92 -26
- package/dist/commonjs/types/interfaces.d.ts +7 -0
- package/dist/esm/components/AnalyticsDetail.js +670 -110
- package/dist/esm/components/AppHeaderLogo.js +15 -15
- package/dist/esm/components/ConsoleLogCard.js +114 -68
- package/dist/esm/components/CopyButton.js +15 -1
- package/dist/esm/components/DomainHeader.js +64 -32
- package/dist/esm/components/HighlightText.js +7 -1
- package/dist/esm/components/Inspector/AnalyticsTab.js +334 -223
- package/dist/esm/components/Inspector/ConsoleTab.js +163 -57
- package/dist/esm/components/Inspector/InspectorHeader.js +71 -120
- package/dist/esm/components/Inspector/LogDetail.js +55 -19
- package/dist/esm/components/Inspector/MainScreen.js +4 -0
- package/dist/esm/components/Inspector/NetworkDetail.js +25 -25
- package/dist/esm/components/Inspector/NetworkTab.js +4 -1
- package/dist/esm/components/Inspector/ReduxDetail.js +239 -44
- package/dist/esm/components/Inspector/ReduxTab.js +458 -37
- package/dist/esm/components/JsonViewer.js +26 -4
- package/dist/esm/components/LogCard.js +105 -13
- package/dist/esm/components/NetworkIcons.js +19 -10
- package/dist/esm/components/Toast.d.ts +3 -0
- package/dist/esm/components/Toast.js +117 -0
- package/dist/esm/components/TouchableScale.d.ts +1 -0
- package/dist/esm/components/TouchableScale.js +3 -3
- package/dist/esm/components/TreeNode.js +12 -2
- package/dist/esm/constants/index.js +6 -6
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/reduxLogger.js +128 -5
- package/dist/esm/helpers/index.d.ts +4 -0
- package/dist/esm/helpers/index.js +102 -92
- package/dist/esm/helpers/toast.d.ts +4 -0
- package/dist/esm/helpers/toast.js +15 -0
- package/dist/esm/i18n/locales/en.json +49 -3
- package/dist/esm/styles/AppColors.d.ts +6 -0
- package/dist/esm/styles/AppColors.js +6 -0
- package/dist/esm/styles/index.d.ts +82 -15
- package/dist/esm/styles/index.js +92 -26
- package/dist/esm/types/interfaces.d.ts +7 -0
- package/ios/NetworkInspectorModule.m +0 -10
- package/package.json +13 -10
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Platform, ToastAndroid, Alert, NativeModules, Linking, } from 'react-native';
|
|
2
|
+
import Clipboard from '@react-native-clipboard/clipboard';
|
|
3
|
+
import { showToast } from './toast';
|
|
2
4
|
// Stylesheet
|
|
3
5
|
import { AppColors } from '../styles/AppColors';
|
|
4
6
|
// Constants
|
|
@@ -23,6 +25,19 @@ export const formatDateTime = (timestamp) => {
|
|
|
23
25
|
const seconds = pad(date.getSeconds());
|
|
24
26
|
return `${day}/${month}/${year} ${hours}:${minutes}:${seconds}`;
|
|
25
27
|
};
|
|
28
|
+
export const formatTimestamp = (timestamp) => {
|
|
29
|
+
try {
|
|
30
|
+
const date = new Date(timestamp);
|
|
31
|
+
const hours = date.getHours().toString().padStart(2, '0');
|
|
32
|
+
const minutes = date.getMinutes().toString().padStart(2, '0');
|
|
33
|
+
const seconds = date.getSeconds().toString().padStart(2, '0');
|
|
34
|
+
const ms = date.getMilliseconds().toString().padStart(3, '0');
|
|
35
|
+
return `${hours}:${minutes}:${seconds}.${ms}`;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return '—';
|
|
39
|
+
}
|
|
40
|
+
};
|
|
26
41
|
export const getStatusColor = (status) => {
|
|
27
42
|
if (!status || status === 0)
|
|
28
43
|
return AppColors.errorColor;
|
|
@@ -52,104 +67,43 @@ export const getSize = (data) => {
|
|
|
52
67
|
return '—';
|
|
53
68
|
}
|
|
54
69
|
};
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const inspectorMod = NativeModules?.NetworkInspectorModule ||
|
|
61
|
-
(tmReg?.get ? tmReg.get('NetworkInspectorModule') : null);
|
|
62
|
-
if (inspectorMod && typeof inspectorMod.copyToClipboard === 'function') {
|
|
63
|
-
return {
|
|
64
|
-
setString: (str) => inspectorMod.copyToClipboard(str),
|
|
65
|
-
setStringAsync: (str) => inspectorMod.copyToClipboard(str),
|
|
66
|
-
};
|
|
67
|
-
}
|
|
70
|
+
export const copyToClipboard = (value, label) => {
|
|
71
|
+
const resolved = typeof value === 'function' ? value() : value;
|
|
72
|
+
let textToCopy = '';
|
|
73
|
+
if (typeof resolved === 'string') {
|
|
74
|
+
textToCopy = resolved;
|
|
68
75
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
tmReg.get('NativeClipboard') ||
|
|
76
|
-
tmReg.get('ExpoClipboard');
|
|
77
|
-
if (tm &&
|
|
78
|
-
(typeof tm.setString === 'function' ||
|
|
79
|
-
typeof tm.setStringAsync === 'function')) {
|
|
80
|
-
return tm;
|
|
81
|
-
}
|
|
76
|
+
else {
|
|
77
|
+
try {
|
|
78
|
+
textToCopy = JSON.stringify(resolved, null, 2);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
textToCopy = String(resolved);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
|
|
85
|
-
// 3. Check legacy NativeModules table (Bridge / Old Architecture)
|
|
84
|
+
// Use @react-native-clipboard/clipboard npm package
|
|
86
85
|
try {
|
|
87
|
-
if (
|
|
88
|
-
|
|
89
|
-
return NativeModules.RNCClipboard;
|
|
86
|
+
if (typeof Clipboard?.setString === 'function') {
|
|
87
|
+
Clipboard.setString(textToCopy);
|
|
90
88
|
}
|
|
91
|
-
if (
|
|
92
|
-
|
|
93
|
-
return NativeModules.ExpoClipboard;
|
|
94
|
-
}
|
|
95
|
-
if (NativeModules?.Clipboard &&
|
|
96
|
-
typeof NativeModules.Clipboard.setString === 'function') {
|
|
97
|
-
return NativeModules.Clipboard;
|
|
89
|
+
else if (typeof Clipboard?.default?.setString === 'function') {
|
|
90
|
+
Clipboard.default.setString(textToCopy);
|
|
98
91
|
}
|
|
99
92
|
}
|
|
100
|
-
catch {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (Clipboard && typeof Clipboard.setString === 'function') {
|
|
104
|
-
return Clipboard;
|
|
93
|
+
catch (err) {
|
|
94
|
+
if (__DEV__) {
|
|
95
|
+
console.warn('[NetworkInspector] Clipboard.setString failed:', err);
|
|
105
96
|
}
|
|
106
97
|
}
|
|
107
|
-
|
|
108
|
-
return null;
|
|
109
|
-
};
|
|
110
|
-
export const copyToClipboard = (value, label) => {
|
|
111
|
-
const resolved = typeof value === 'function' ? value() : value;
|
|
112
|
-
const text = typeof resolved === 'string' ? resolved : JSON.stringify(resolved, null, 2);
|
|
113
|
-
const textToCopy = text ?? '';
|
|
114
|
-
let copied = false;
|
|
98
|
+
// Trigger floating in-app bottom toast notification
|
|
115
99
|
try {
|
|
116
|
-
|
|
117
|
-
if (cb) {
|
|
118
|
-
if (typeof cb.setStringAsync === 'function') {
|
|
119
|
-
cb.setStringAsync(textToCopy);
|
|
120
|
-
copied = true;
|
|
121
|
-
}
|
|
122
|
-
else if (typeof cb.setString === 'function') {
|
|
123
|
-
cb.setString(textToCopy);
|
|
124
|
-
copied = true;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
100
|
+
showToast(label ? `${label} copied to clipboard` : 'Copied to clipboard');
|
|
127
101
|
}
|
|
128
102
|
catch { }
|
|
129
|
-
//
|
|
130
|
-
if (!copied) {
|
|
131
|
-
try {
|
|
132
|
-
const inspectorMod = NativeModules?.NetworkInspectorModule;
|
|
133
|
-
if (inspectorMod && typeof inspectorMod.copyToClipboard === 'function') {
|
|
134
|
-
inspectorMod.copyToClipboard(textToCopy);
|
|
135
|
-
copied = true;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch { }
|
|
139
|
-
}
|
|
140
|
-
if (!copied) {
|
|
141
|
-
try {
|
|
142
|
-
if (typeof navigator !== 'undefined' && navigator?.clipboard?.writeText) {
|
|
143
|
-
navigator.clipboard.writeText(textToCopy);
|
|
144
|
-
copied = true;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
catch { }
|
|
148
|
-
}
|
|
149
|
-
// Visual toast feedback on Android if ToastAndroid exists
|
|
103
|
+
// Native Android Toast fallback
|
|
150
104
|
try {
|
|
151
105
|
if (Platform.OS === 'android' && ToastAndroid?.show) {
|
|
152
|
-
ToastAndroid.show(`${label} copied
|
|
106
|
+
ToastAndroid.show(label ? `${label} copied to clipboard` : 'Copied to clipboard', ToastAndroid.SHORT);
|
|
153
107
|
}
|
|
154
108
|
}
|
|
155
109
|
catch { }
|
|
@@ -535,11 +489,16 @@ export const parseStackLine = (rawLine, isOrigin = false) => {
|
|
|
535
489
|
(functionName === 'next' && isNative);
|
|
536
490
|
const isDependency = cleanPath.includes('node_modules') ||
|
|
537
491
|
cleanPath.includes('react-native/Libraries') ||
|
|
538
|
-
(cleanPath.includes('react-native-inapp-inspector') &&
|
|
492
|
+
(cleanPath.includes('react-native-inapp-inspector') &&
|
|
493
|
+
!cleanPath.includes('/example/'));
|
|
539
494
|
const isUserCode = !isNative &&
|
|
540
495
|
!isInternalBytecode &&
|
|
541
496
|
!isDependency &&
|
|
542
|
-
(fileExt === 'tsx' ||
|
|
497
|
+
(fileExt === 'tsx' ||
|
|
498
|
+
fileExt === 'jsx' ||
|
|
499
|
+
fileExt === 'ts' ||
|
|
500
|
+
fileExt === 'js' ||
|
|
501
|
+
!fileName.includes('.bundle'));
|
|
543
502
|
const frameType = isUserCode
|
|
544
503
|
? 'app'
|
|
545
504
|
: isDependency
|
|
@@ -547,7 +506,10 @@ export const parseStackLine = (rawLine, isOrigin = false) => {
|
|
|
547
506
|
: isNative
|
|
548
507
|
? 'native'
|
|
549
508
|
: 'runtime';
|
|
550
|
-
const isRuntimeNoise = isInternalBytecode ||
|
|
509
|
+
const isRuntimeNoise = isInternalBytecode ||
|
|
510
|
+
isNative ||
|
|
511
|
+
functionName === 'asyncGeneratorStep' ||
|
|
512
|
+
functionName === '_next';
|
|
551
513
|
// Format clean relative project path
|
|
552
514
|
let relativePath = cleanPath;
|
|
553
515
|
if (relativePath.includes('/example/')) {
|
|
@@ -567,6 +529,7 @@ export const parseStackLine = (rawLine, isOrigin = false) => {
|
|
|
567
529
|
functionName,
|
|
568
530
|
fileName,
|
|
569
531
|
fullPath: relativePath,
|
|
532
|
+
rawFilePath: fullPath,
|
|
570
533
|
fileExt,
|
|
571
534
|
frameType,
|
|
572
535
|
isUserCode,
|
|
@@ -577,6 +540,46 @@ export const parseStackLine = (rawLine, isOrigin = false) => {
|
|
|
577
540
|
copyableLocation,
|
|
578
541
|
};
|
|
579
542
|
};
|
|
543
|
+
/** Opens a file and line number directly in VS Code / system editor */
|
|
544
|
+
export const openInVSCode = (filePath, lineNumber, columnNumber) => {
|
|
545
|
+
const numLine = lineNumber ? Number(lineNumber) : 1;
|
|
546
|
+
const numCol = columnNumber ? Number(columnNumber) : 1;
|
|
547
|
+
const line = lineNumber ? `:${lineNumber}` : '';
|
|
548
|
+
const col = columnNumber ? `:${columnNumber}` : '';
|
|
549
|
+
const cleanPath = filePath.replace(/^file:\/\//, '');
|
|
550
|
+
// 1. Notify Metro dev server on host to launch editor directly on local system
|
|
551
|
+
const metroHosts = [
|
|
552
|
+
'http://localhost:8081',
|
|
553
|
+
'http://127.0.0.1:8081',
|
|
554
|
+
'http://10.0.2.2:8081',
|
|
555
|
+
];
|
|
556
|
+
metroHosts.forEach(host => {
|
|
557
|
+
try {
|
|
558
|
+
fetch(`${host}/open-stack-frame`, {
|
|
559
|
+
method: 'POST',
|
|
560
|
+
headers: { 'Content-Type': 'application/json' },
|
|
561
|
+
body: JSON.stringify({
|
|
562
|
+
file: cleanPath,
|
|
563
|
+
lineNumber: numLine,
|
|
564
|
+
column: numCol,
|
|
565
|
+
}),
|
|
566
|
+
}).catch(() => { });
|
|
567
|
+
}
|
|
568
|
+
catch { }
|
|
569
|
+
});
|
|
570
|
+
// 2. Also invoke native URL scheme handlers
|
|
571
|
+
const vscodeUrl = `vscode://file/${cleanPath.replace(/^\/+/, '')}${line}${col}`;
|
|
572
|
+
const cursorUrl = `cursor://file/${cleanPath.replace(/^\/+/, '')}${line}${col}`;
|
|
573
|
+
const vscodeInsidersUrl = `vscode-insiders://file/${cleanPath.replace(/^\/+/, '')}${line}${col}`;
|
|
574
|
+
Linking.openURL(vscodeUrl).catch(() => {
|
|
575
|
+
Linking.openURL(cursorUrl).catch(() => {
|
|
576
|
+
Linking.openURL(vscodeInsidersUrl).catch(() => {
|
|
577
|
+
// Fallback: Copy to clipboard so user can jump immediately
|
|
578
|
+
copyToClipboard(`${cleanPath}${line}${col}`, 'Location');
|
|
579
|
+
});
|
|
580
|
+
});
|
|
581
|
+
});
|
|
582
|
+
};
|
|
580
583
|
// ─── Analytics Helpers ────────────────────────────────────────────────────────
|
|
581
584
|
export const ANALYTICS_EVENT_PALETTE = [
|
|
582
585
|
AppColors.googleBlue,
|
|
@@ -631,7 +634,11 @@ export const getCategoryColors = (category) => {
|
|
|
631
634
|
export const getRuntimeDiagnostics = () => {
|
|
632
635
|
const isHermes = typeof global.HermesInternal !== 'undefined';
|
|
633
636
|
const isV8 = typeof global._v8runtime !== 'undefined';
|
|
634
|
-
const engineType = isHermes
|
|
637
|
+
const engineType = isHermes
|
|
638
|
+
? 'hermes'
|
|
639
|
+
: isV8
|
|
640
|
+
? 'v8'
|
|
641
|
+
: 'jsc';
|
|
635
642
|
const isFabric = typeof global.nativeFabricUIManager !== 'undefined' ||
|
|
636
643
|
Boolean(global.__turboModuleProxy);
|
|
637
644
|
const archType = isFabric ? 'fabric' : 'paper';
|
|
@@ -641,11 +648,14 @@ export const getRuntimeDiagnostics = () => {
|
|
|
641
648
|
const hermesStats = global.HermesInternal?.getInstrumentedStats?.();
|
|
642
649
|
if (hermesStats?.js_heap_size) {
|
|
643
650
|
usedHeapMb = Number((hermesStats.js_heap_size / (1024 * 1024)).toFixed(1));
|
|
644
|
-
totalAllocMb = Number(((hermesStats.js_allocated_bytes || hermesStats.js_heap_size * 1.6) /
|
|
651
|
+
totalAllocMb = Number(((hermesStats.js_allocated_bytes || hermesStats.js_heap_size * 1.6) /
|
|
652
|
+
(1024 * 1024)).toFixed(1));
|
|
645
653
|
}
|
|
646
654
|
else if (global.performance?.memory?.usedJSHeapSize) {
|
|
647
|
-
usedHeapMb = Number((global.performance.memory.usedJSHeapSize /
|
|
648
|
-
|
|
655
|
+
usedHeapMb = Number((global.performance.memory.usedJSHeapSize /
|
|
656
|
+
(1024 * 1024)).toFixed(1));
|
|
657
|
+
totalAllocMb = Number((global.performance.memory.totalJSHeapSize /
|
|
658
|
+
(1024 * 1024)).toFixed(1));
|
|
649
659
|
}
|
|
650
660
|
}
|
|
651
661
|
catch { }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const listeners = new Set();
|
|
2
|
+
export const showToast = (message) => {
|
|
3
|
+
listeners.forEach(fn => {
|
|
4
|
+
try {
|
|
5
|
+
fn(message);
|
|
6
|
+
}
|
|
7
|
+
catch { }
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
export const subscribeToast = (listener) => {
|
|
11
|
+
listeners.add(listener);
|
|
12
|
+
return () => {
|
|
13
|
+
listeners.delete(listener);
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
"expandAll": "Expand All",
|
|
16
16
|
"viewOnNpm": "View on NPM",
|
|
17
17
|
"later": "Later",
|
|
18
|
-
"source": "SOURCE"
|
|
18
|
+
"source": "SOURCE",
|
|
19
|
+
"open": "Open",
|
|
20
|
+
"openInBrowser": "Open in Browser",
|
|
21
|
+
"openInBrowserPrompt": "Are you sure you want to open this URL in your external browser?"
|
|
19
22
|
},
|
|
20
23
|
"header": {
|
|
21
24
|
"updateAvailableTitle": "Update Available",
|
|
@@ -279,7 +282,19 @@
|
|
|
279
282
|
"timeNow": "NOW",
|
|
280
283
|
"selectedBucket": "Bucket: {{time}} ({{count}} events)",
|
|
281
284
|
"totalRevenue": "Revenue",
|
|
282
|
-
"activeDistribution": "Category Split"
|
|
285
|
+
"activeDistribution": "Category Split",
|
|
286
|
+
"allCategory": "All",
|
|
287
|
+
"screensCategory": "Screens",
|
|
288
|
+
"overviewTab": "Overview",
|
|
289
|
+
"jsonTreeTab": "JSON Tree",
|
|
290
|
+
"rawPayloadTab": "Raw Payload",
|
|
291
|
+
"sessionContext": "Session Context",
|
|
292
|
+
"userPropertiesSnapshot": "User Properties Snapshot",
|
|
293
|
+
"parameterKeys": "Parameters ({{count}})",
|
|
294
|
+
"searchParameters": "Search parameters...",
|
|
295
|
+
"noParamsFound": "No parameters match your search",
|
|
296
|
+
"sourceFirebase": "FIREBASE GA4",
|
|
297
|
+
"sourceCustom": "CUSTOM / MANUAL"
|
|
283
298
|
},
|
|
284
299
|
"redux": {
|
|
285
300
|
"title": "Redux",
|
|
@@ -305,7 +320,38 @@
|
|
|
305
320
|
"connectionStatus": "Connected",
|
|
306
321
|
"connectionStatusNone": "Not connected",
|
|
307
322
|
"autoRefresh": "Auto-refresh",
|
|
308
|
-
"paused": "Paused"
|
|
323
|
+
"paused": "Paused",
|
|
324
|
+
"liveState": "Live State",
|
|
325
|
+
"timeline": "Timeline",
|
|
326
|
+
"persisted": "Persisted",
|
|
327
|
+
"storage": "Storage",
|
|
328
|
+
"metadata": "Metadata",
|
|
329
|
+
"inMemory": "In-Memory",
|
|
330
|
+
"slice": "SLICE",
|
|
331
|
+
"rootKeys": "Root Keys",
|
|
332
|
+
"size": "Size",
|
|
333
|
+
"actions": "actions",
|
|
334
|
+
"keys": "Keys",
|
|
335
|
+
"last": "Last",
|
|
336
|
+
"live": "Live",
|
|
337
|
+
"loading": "Loading",
|
|
338
|
+
"error": "Error",
|
|
339
|
+
"empty": "Empty",
|
|
340
|
+
"payload": "Payload",
|
|
341
|
+
"actionPayload": "Action Payload:",
|
|
342
|
+
"stateChangesDiff": "State Changes (Diff):",
|
|
343
|
+
"tapToInspectAction": "Tap to inspect action payload & diff changes",
|
|
344
|
+
"noDispatchedActions": "No dispatched actions recorded for this slice yet.",
|
|
345
|
+
"sliceJson": "Slice JSON",
|
|
346
|
+
"originSaga": "SAGA",
|
|
347
|
+
"originThunk": "THUNK",
|
|
348
|
+
"originUi": "UI",
|
|
349
|
+
"originDirect": "DIRECT",
|
|
350
|
+
"originListener": "LISTENER",
|
|
351
|
+
"triggeredFrom": "Triggered From:",
|
|
352
|
+
"openInEditor": "Open in Editor",
|
|
353
|
+
"callStack": "Call Stack Trace",
|
|
354
|
+
"sliceOrigin": "Slice / Origin"
|
|
309
355
|
},
|
|
310
356
|
"performance": {
|
|
311
357
|
"title": "Performance",
|
|
@@ -124,6 +124,9 @@ declare const LightColors: {
|
|
|
124
124
|
emerald700: string;
|
|
125
125
|
pink100: string;
|
|
126
126
|
sky100: string;
|
|
127
|
+
teal100: string;
|
|
128
|
+
teal700: string;
|
|
129
|
+
purple700: string;
|
|
127
130
|
indigo50: string;
|
|
128
131
|
gray100: string;
|
|
129
132
|
gray200: string;
|
|
@@ -279,6 +282,9 @@ export declare const getThemeColors: (isDark: boolean) => {
|
|
|
279
282
|
emerald700: string;
|
|
280
283
|
pink100: string;
|
|
281
284
|
sky100: string;
|
|
285
|
+
teal100: string;
|
|
286
|
+
teal700: string;
|
|
287
|
+
purple700: string;
|
|
282
288
|
indigo50: string;
|
|
283
289
|
gray100: string;
|
|
284
290
|
gray200: string;
|
|
@@ -130,6 +130,9 @@ const LightColors = {
|
|
|
130
130
|
emerald700: '#047857',
|
|
131
131
|
pink100: '#FCE7F3',
|
|
132
132
|
sky100: '#E0F2FE',
|
|
133
|
+
teal100: '#CCFBF1',
|
|
134
|
+
teal700: '#0F766E',
|
|
135
|
+
purple700: '#6D28D9',
|
|
133
136
|
indigo50: '#EEF2FF',
|
|
134
137
|
gray100: '#F3F4F6',
|
|
135
138
|
gray200: '#E5E7EB',
|
|
@@ -300,6 +303,9 @@ const DarkColors = {
|
|
|
300
303
|
emerald700: '#34D399',
|
|
301
304
|
pink100: '#341626',
|
|
302
305
|
sky100: '#0C2744',
|
|
306
|
+
teal100: '#134E4A',
|
|
307
|
+
teal700: '#2DD4BF',
|
|
308
|
+
purple700: '#8B5CF6',
|
|
303
309
|
indigo50: '#1E1B3A',
|
|
304
310
|
gray100: '#2A2438',
|
|
305
311
|
gray200: '#362C4E',
|
|
@@ -20,17 +20,22 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
20
20
|
};
|
|
21
21
|
headerLeft: {
|
|
22
22
|
flex: number;
|
|
23
|
+
minWidth: number;
|
|
23
24
|
alignItems: string;
|
|
24
25
|
};
|
|
25
26
|
headerCenter: {
|
|
26
27
|
flex: number;
|
|
28
|
+
minWidth: number;
|
|
27
29
|
alignItems: string;
|
|
30
|
+
justifyContent: string;
|
|
31
|
+
paddingHorizontal: number;
|
|
28
32
|
};
|
|
29
33
|
headerRight: {
|
|
30
|
-
|
|
34
|
+
flexShrink: number;
|
|
31
35
|
flexDirection: string;
|
|
32
36
|
alignItems: string;
|
|
33
37
|
justifyContent: string;
|
|
38
|
+
gap: number;
|
|
34
39
|
};
|
|
35
40
|
headerTitle: {
|
|
36
41
|
fontFamily: string;
|
|
@@ -176,6 +181,7 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
176
181
|
justifyContent: string;
|
|
177
182
|
borderWidth: number;
|
|
178
183
|
borderColor: string;
|
|
184
|
+
overflow: string;
|
|
179
185
|
};
|
|
180
186
|
fabWrapper: {
|
|
181
187
|
position: string;
|
|
@@ -250,6 +256,13 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
250
256
|
gap: number;
|
|
251
257
|
};
|
|
252
258
|
toolbarBtn: {
|
|
259
|
+
shadowColor: string;
|
|
260
|
+
shadowOffset: {
|
|
261
|
+
width: number;
|
|
262
|
+
height: number;
|
|
263
|
+
};
|
|
264
|
+
shadowOpacity: number;
|
|
265
|
+
shadowRadius: number;
|
|
253
266
|
width: number;
|
|
254
267
|
height: number;
|
|
255
268
|
borderRadius: number;
|
|
@@ -258,14 +271,16 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
258
271
|
backgroundColor: string;
|
|
259
272
|
borderWidth: number;
|
|
260
273
|
borderColor: string;
|
|
261
|
-
|
|
262
|
-
shadowOffset: {
|
|
263
|
-
width: number;
|
|
264
|
-
height: number;
|
|
265
|
-
};
|
|
266
|
-
shadowOpacity: number;
|
|
267
|
-
shadowRadius: number;
|
|
274
|
+
} | {
|
|
268
275
|
elevation: number;
|
|
276
|
+
width: number;
|
|
277
|
+
height: number;
|
|
278
|
+
borderRadius: number;
|
|
279
|
+
alignItems: string;
|
|
280
|
+
justifyContent: string;
|
|
281
|
+
backgroundColor: string;
|
|
282
|
+
borderWidth: number;
|
|
283
|
+
borderColor: string;
|
|
269
284
|
};
|
|
270
285
|
toolbarBtnActive: {
|
|
271
286
|
borderColor: string;
|
|
@@ -412,6 +427,12 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
412
427
|
borderWidth: number;
|
|
413
428
|
borderColor: string;
|
|
414
429
|
};
|
|
430
|
+
domainHeaderCardExpanded: {
|
|
431
|
+
borderBottomLeftRadius: number;
|
|
432
|
+
borderBottomRightRadius: number;
|
|
433
|
+
borderBottomWidth: number;
|
|
434
|
+
marginBottom: number;
|
|
435
|
+
};
|
|
415
436
|
domainHeaderTopRow: {
|
|
416
437
|
flexDirection: string;
|
|
417
438
|
alignItems: string;
|
|
@@ -421,6 +442,8 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
421
442
|
flexDirection: string;
|
|
422
443
|
alignItems: string;
|
|
423
444
|
flex: number;
|
|
445
|
+
minWidth: number;
|
|
446
|
+
marginRight: number;
|
|
424
447
|
gap: number;
|
|
425
448
|
};
|
|
426
449
|
domainIconWrap: {
|
|
@@ -452,21 +475,42 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
452
475
|
fontFamily: string;
|
|
453
476
|
fontSize: number;
|
|
454
477
|
};
|
|
478
|
+
domainProgressSection: {
|
|
479
|
+
marginTop: number;
|
|
480
|
+
gap: number;
|
|
481
|
+
width: string;
|
|
482
|
+
};
|
|
455
483
|
domainProgressTrack: {
|
|
456
484
|
flexDirection: string;
|
|
457
485
|
height: number;
|
|
458
486
|
borderRadius: number;
|
|
459
487
|
overflow: string;
|
|
460
488
|
backgroundColor: string;
|
|
461
|
-
marginTop: number;
|
|
462
489
|
width: string;
|
|
463
490
|
};
|
|
464
491
|
domainProgressSegment: {
|
|
465
492
|
height: string;
|
|
466
493
|
};
|
|
494
|
+
domainProgressLabelsRow: {
|
|
495
|
+
flexDirection: string;
|
|
496
|
+
alignItems: string;
|
|
497
|
+
justifyContent: string;
|
|
498
|
+
paddingHorizontal: number;
|
|
499
|
+
};
|
|
500
|
+
domainProgressRateText: {
|
|
501
|
+
fontFamily: string;
|
|
502
|
+
fontSize: number;
|
|
503
|
+
color: string;
|
|
504
|
+
};
|
|
505
|
+
domainProgressSummaryText: {
|
|
506
|
+
fontFamily: string;
|
|
507
|
+
fontSize: number;
|
|
508
|
+
color: string;
|
|
509
|
+
};
|
|
467
510
|
domainStatsGroup: {
|
|
468
511
|
flexDirection: string;
|
|
469
512
|
alignItems: string;
|
|
513
|
+
flexShrink: number;
|
|
470
514
|
gap: number;
|
|
471
515
|
};
|
|
472
516
|
domainStatPill: {
|
|
@@ -487,8 +531,20 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
487
531
|
treeNodeRow: {
|
|
488
532
|
flexDirection: string;
|
|
489
533
|
alignItems: string;
|
|
490
|
-
|
|
534
|
+
marginHorizontal: number;
|
|
491
535
|
paddingRight: number;
|
|
536
|
+
paddingLeft: number;
|
|
537
|
+
backgroundColor: string;
|
|
538
|
+
borderLeftWidth: number;
|
|
539
|
+
borderRightWidth: number;
|
|
540
|
+
borderColor: string;
|
|
541
|
+
};
|
|
542
|
+
treeNodeRowLast: {
|
|
543
|
+
borderBottomWidth: number;
|
|
544
|
+
borderBottomLeftRadius: number;
|
|
545
|
+
borderBottomRightRadius: number;
|
|
546
|
+
marginBottom: number;
|
|
547
|
+
paddingBottom: number;
|
|
492
548
|
};
|
|
493
549
|
treeLines: {
|
|
494
550
|
width: number;
|
|
@@ -580,11 +636,6 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
580
636
|
fontSize: number;
|
|
581
637
|
};
|
|
582
638
|
methodBadge: {
|
|
583
|
-
paddingHorizontal: number;
|
|
584
|
-
paddingVertical: number;
|
|
585
|
-
borderRadius: number;
|
|
586
|
-
alignItems: string;
|
|
587
|
-
justifyContent: string;
|
|
588
639
|
shadowColor: string;
|
|
589
640
|
shadowOffset: {
|
|
590
641
|
width: number;
|
|
@@ -592,12 +643,28 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
|
|
|
592
643
|
};
|
|
593
644
|
shadowOpacity: number;
|
|
594
645
|
shadowRadius: number;
|
|
646
|
+
paddingHorizontal: number;
|
|
647
|
+
paddingVertical: number;
|
|
648
|
+
borderRadius: number;
|
|
649
|
+
alignItems: string;
|
|
650
|
+
justifyContent: string;
|
|
651
|
+
borderWidth: number;
|
|
652
|
+
borderColor: string;
|
|
653
|
+
} | {
|
|
595
654
|
elevation: number;
|
|
655
|
+
paddingHorizontal: number;
|
|
656
|
+
paddingVertical: number;
|
|
657
|
+
borderRadius: number;
|
|
658
|
+
alignItems: string;
|
|
659
|
+
justifyContent: string;
|
|
660
|
+
borderWidth: number;
|
|
661
|
+
borderColor: string;
|
|
596
662
|
};
|
|
597
663
|
methodBadgeText: {
|
|
598
664
|
fontFamily: string;
|
|
599
665
|
fontSize: number;
|
|
600
666
|
letterSpacing: number;
|
|
667
|
+
color: string;
|
|
601
668
|
};
|
|
602
669
|
cardHostText: {
|
|
603
670
|
fontFamily: string;
|