rn-backstage 1.0.0 → 1.2.0

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 (72) hide show
  1. package/README.md +74 -23
  2. package/lib/commonjs/Backstage.js +55 -5
  3. package/lib/commonjs/Backstage.js.map +1 -1
  4. package/lib/commonjs/components/BackstagePanel.js +36 -5
  5. package/lib/commonjs/components/BackstagePanel.js.map +1 -1
  6. package/lib/commonjs/components/FlagsTab.js +255 -0
  7. package/lib/commonjs/components/FlagsTab.js.map +1 -0
  8. package/lib/commonjs/components/NetworkItem.js +537 -0
  9. package/lib/commonjs/components/NetworkItem.js.map +1 -0
  10. package/lib/commonjs/components/NetworkTab.js +274 -0
  11. package/lib/commonjs/components/NetworkTab.js.map +1 -0
  12. package/lib/commonjs/constants.js +11 -3
  13. package/lib/commonjs/constants.js.map +1 -1
  14. package/lib/commonjs/index.js +6 -0
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/log-interceptor.js +8 -1
  17. package/lib/commonjs/log-interceptor.js.map +1 -1
  18. package/lib/commonjs/network-interceptor.js +417 -0
  19. package/lib/commonjs/network-interceptor.js.map +1 -0
  20. package/lib/commonjs/types.js +9 -1
  21. package/lib/commonjs/types.js.map +1 -1
  22. package/lib/module/Backstage.js +56 -6
  23. package/lib/module/Backstage.js.map +1 -1
  24. package/lib/module/components/BackstagePanel.js +36 -5
  25. package/lib/module/components/BackstagePanel.js.map +1 -1
  26. package/lib/module/components/FlagsTab.js +250 -0
  27. package/lib/module/components/FlagsTab.js.map +1 -0
  28. package/lib/module/components/NetworkItem.js +532 -0
  29. package/lib/module/components/NetworkItem.js.map +1 -0
  30. package/lib/module/components/NetworkTab.js +269 -0
  31. package/lib/module/components/NetworkTab.js.map +1 -0
  32. package/lib/module/constants.js +10 -2
  33. package/lib/module/constants.js.map +1 -1
  34. package/lib/module/index.js +1 -1
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/log-interceptor.js +8 -1
  37. package/lib/module/log-interceptor.js.map +1 -1
  38. package/lib/module/network-interceptor.js +409 -0
  39. package/lib/module/network-interceptor.js.map +1 -0
  40. package/lib/module/types.js +10 -0
  41. package/lib/module/types.js.map +1 -1
  42. package/lib/typescript/Backstage.d.ts.map +1 -1
  43. package/lib/typescript/components/BackstagePanel.d.ts +7 -1
  44. package/lib/typescript/components/BackstagePanel.d.ts.map +1 -1
  45. package/lib/typescript/components/FlagsTab.d.ts +9 -0
  46. package/lib/typescript/components/FlagsTab.d.ts.map +1 -0
  47. package/lib/typescript/components/NetworkItem.d.ts +9 -0
  48. package/lib/typescript/components/NetworkItem.d.ts.map +1 -0
  49. package/lib/typescript/components/NetworkTab.d.ts +11 -0
  50. package/lib/typescript/components/NetworkTab.d.ts.map +1 -0
  51. package/lib/typescript/constants.d.ts +8 -0
  52. package/lib/typescript/constants.d.ts.map +1 -1
  53. package/lib/typescript/index.d.ts +2 -2
  54. package/lib/typescript/index.d.ts.map +1 -1
  55. package/lib/typescript/log-interceptor.d.ts +3 -1
  56. package/lib/typescript/log-interceptor.d.ts.map +1 -1
  57. package/lib/typescript/network-interceptor.d.ts +35 -0
  58. package/lib/typescript/network-interceptor.d.ts.map +1 -0
  59. package/lib/typescript/types.d.ts +46 -0
  60. package/lib/typescript/types.d.ts.map +1 -1
  61. package/package.json +1 -1
  62. package/src/Backstage.tsx +64 -6
  63. package/src/components/BackstagePanel.tsx +46 -5
  64. package/src/components/FlagsTab.tsx +249 -0
  65. package/src/components/InfoTab.tsx +1 -1
  66. package/src/components/NetworkItem.tsx +536 -0
  67. package/src/components/NetworkTab.tsx +274 -0
  68. package/src/constants.ts +11 -2
  69. package/src/index.ts +3 -1
  70. package/src/log-interceptor.ts +12 -1
  71. package/src/network-interceptor.ts +468 -0
  72. package/src/types.ts +60 -0
@@ -0,0 +1,532 @@
1
+ "use strict";
2
+
3
+ import React, { useCallback, useState } from 'react';
4
+ import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
5
+ import { DarkTheme, MonospaceFont } from '../constants';
6
+ import { NetworkState } from '../types';
7
+ import { formatTimestamp } from '../utils/formatTimestamp';
8
+ import { JsonTreeView } from './JsonTreeView';
9
+ import { toCurl } from '../network-interceptor';
10
+
11
+ // ─── Types ───────────────────────────────────────────────────────────────────
12
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
+ // ─── Status Badge Config ─────────────────────────────────────────────────────
14
+
15
+ function getStatusConfig(entry) {
16
+ if (entry.state === NetworkState.pending) {
17
+ return {
18
+ label: '…',
19
+ color: DarkTheme.warning,
20
+ bgColor: DarkTheme.warningDim,
21
+ rowBg: 'transparent'
22
+ };
23
+ }
24
+ if (entry.state === NetworkState.error) {
25
+ return {
26
+ label: 'ERR',
27
+ color: DarkTheme.error,
28
+ bgColor: DarkTheme.errorDim,
29
+ rowBg: 'rgba(255, 77, 106, 0.06)'
30
+ };
31
+ }
32
+ const status = entry.status ?? 0;
33
+ if (status >= 200 && status < 300) {
34
+ return {
35
+ label: String(status),
36
+ color: DarkTheme.success,
37
+ bgColor: 'rgba(52, 211, 153, 0.12)',
38
+ rowBg: 'transparent'
39
+ };
40
+ }
41
+ if (status >= 300 && status < 400) {
42
+ return {
43
+ label: String(status),
44
+ color: DarkTheme.info,
45
+ bgColor: DarkTheme.infoDim,
46
+ rowBg: 'transparent'
47
+ };
48
+ }
49
+ if (status >= 400 && status < 500) {
50
+ return {
51
+ label: String(status),
52
+ color: DarkTheme.warning,
53
+ bgColor: DarkTheme.warningDim,
54
+ rowBg: 'rgba(255, 178, 36, 0.06)'
55
+ };
56
+ }
57
+
58
+ // 5xx
59
+ return {
60
+ label: String(status),
61
+ color: DarkTheme.error,
62
+ bgColor: DarkTheme.errorDim,
63
+ rowBg: 'rgba(255, 77, 106, 0.06)'
64
+ };
65
+ }
66
+
67
+ // ─── Method Badge Colors ─────────────────────────────────────────────────────
68
+
69
+ function getMethodColor(method) {
70
+ switch (method) {
71
+ case 'GET':
72
+ return DarkTheme.success;
73
+ case 'POST':
74
+ return DarkTheme.info;
75
+ case 'PUT':
76
+ case 'PATCH':
77
+ return DarkTheme.warning;
78
+ case 'DELETE':
79
+ return DarkTheme.error;
80
+ default:
81
+ return DarkTheme.textSecondary;
82
+ }
83
+ }
84
+
85
+ // ─── URL Helpers ─────────────────────────────────────────────────────────────
86
+
87
+ function extractPath(url) {
88
+ try {
89
+ const parsed = new URL(url);
90
+ const path = parsed.pathname + parsed.search;
91
+ return path.length > 60 ? path.substring(0, 57) + '...' : path;
92
+ } catch {
93
+ return url.length > 60 ? url.substring(0, 57) + '...' : url;
94
+ }
95
+ }
96
+ function extractHost(url) {
97
+ try {
98
+ return new URL(url).host;
99
+ } catch {
100
+ return '';
101
+ }
102
+ }
103
+
104
+ // ─── Format Duration ─────────────────────────────────────────────────────────
105
+
106
+ function formatDuration(ms) {
107
+ if (ms === undefined) return '—';
108
+ if (ms < 1000) return `${ms}ms`;
109
+ return `${(ms / 1000).toFixed(2)}s`;
110
+ }
111
+ function formatSize(bytes) {
112
+ if (bytes === undefined) return '';
113
+ if (bytes < 1024) return `${bytes}B`;
114
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)}KB`;
115
+ return `${(bytes / (1024 * 1024)).toFixed(2)}MB`;
116
+ }
117
+
118
+ // ─── Try Parse JSON ──────────────────────────────────────────────────────────
119
+
120
+ function tryParseJSON(text) {
121
+ if (!text) return null;
122
+ try {
123
+ return JSON.parse(text);
124
+ } catch {
125
+ return null;
126
+ }
127
+ }
128
+
129
+ // ─── Component ───────────────────────────────────────────────────────────────
130
+
131
+ export const NetworkItem = /*#__PURE__*/React.memo(({
132
+ item,
133
+ onCopy
134
+ }) => {
135
+ const [expanded, setExpanded] = useState(false);
136
+ const [detailSection, setDetailSection] = useState('general');
137
+ const config = getStatusConfig(item);
138
+ const methodColor = getMethodColor(item.method);
139
+ const isPending = item.state === NetworkState.pending;
140
+ const toggleExpand = useCallback(() => {
141
+ setExpanded(prev => !prev);
142
+ }, []);
143
+ const handleCopyCurl = useCallback(() => {
144
+ if (onCopy) {
145
+ onCopy(toCurl(item));
146
+ }
147
+ }, [item, onCopy]);
148
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
149
+ style: [styles.container, {
150
+ backgroundColor: config.rowBg
151
+ }],
152
+ onPress: toggleExpand,
153
+ onLongPress: handleCopyCurl,
154
+ activeOpacity: 0.7,
155
+ children: [/*#__PURE__*/_jsxs(View, {
156
+ style: styles.headerRow,
157
+ children: [/*#__PURE__*/_jsx(View, {
158
+ style: [styles.methodBadge, {
159
+ borderColor: methodColor
160
+ }],
161
+ children: /*#__PURE__*/_jsx(Text, {
162
+ style: [styles.methodText, {
163
+ color: methodColor
164
+ }],
165
+ children: item.method
166
+ })
167
+ }), /*#__PURE__*/_jsx(View, {
168
+ style: [styles.statusBadge, {
169
+ backgroundColor: config.bgColor
170
+ }],
171
+ children: /*#__PURE__*/_jsx(Text, {
172
+ style: [styles.statusText, {
173
+ color: config.color
174
+ }],
175
+ children: config.label
176
+ })
177
+ }), !isPending && /*#__PURE__*/_jsx(Text, {
178
+ style: styles.duration,
179
+ children: formatDuration(item.duration)
180
+ }), isPending && /*#__PURE__*/_jsx(Text, {
181
+ style: [styles.duration, {
182
+ color: DarkTheme.warning
183
+ }],
184
+ children: "pending"
185
+ }), item.responseSize !== undefined && /*#__PURE__*/_jsx(Text, {
186
+ style: styles.size,
187
+ children: formatSize(item.responseSize)
188
+ }), /*#__PURE__*/_jsx(Text, {
189
+ style: styles.timestamp,
190
+ children: formatTimestamp(item.startTime)
191
+ })]
192
+ }), /*#__PURE__*/_jsx(Text, {
193
+ style: styles.path,
194
+ numberOfLines: expanded ? undefined : 1,
195
+ children: extractPath(item.url)
196
+ }), /*#__PURE__*/_jsx(Text, {
197
+ style: styles.host,
198
+ numberOfLines: 1,
199
+ children: extractHost(item.url)
200
+ }), item.error && /*#__PURE__*/_jsxs(Text, {
201
+ style: styles.errorText,
202
+ numberOfLines: expanded ? undefined : 1,
203
+ children: ["\u2715 ", item.error]
204
+ }), expanded && /*#__PURE__*/_jsxs(View, {
205
+ style: styles.detailContainer,
206
+ children: [/*#__PURE__*/_jsx(View, {
207
+ style: styles.sectionTabs,
208
+ children: ['general', 'request', 'response'].map(section => /*#__PURE__*/_jsx(TouchableOpacity, {
209
+ style: [styles.sectionTab, detailSection === section && styles.sectionTabActive],
210
+ onPress: () => setDetailSection(section),
211
+ children: /*#__PURE__*/_jsx(Text, {
212
+ style: [styles.sectionTabText, detailSection === section && styles.sectionTabTextActive],
213
+ children: section.charAt(0).toUpperCase() + section.slice(1)
214
+ })
215
+ }, section))
216
+ }), detailSection === 'general' && /*#__PURE__*/_jsxs(View, {
217
+ style: styles.sectionContent,
218
+ children: [/*#__PURE__*/_jsx(DetailRow, {
219
+ label: "Method",
220
+ value: item.method
221
+ }), /*#__PURE__*/_jsx(DetailRow, {
222
+ label: "URL",
223
+ value: item.url,
224
+ selectable: true
225
+ }), /*#__PURE__*/_jsx(DetailRow, {
226
+ label: "Status",
227
+ value: item.status ? `${item.status} ${item.statusText || ''}` : '—'
228
+ }), /*#__PURE__*/_jsx(DetailRow, {
229
+ label: "Duration",
230
+ value: formatDuration(item.duration)
231
+ }), item.responseSize !== undefined && /*#__PURE__*/_jsx(DetailRow, {
232
+ label: "Size",
233
+ value: formatSize(item.responseSize)
234
+ }), item.error && /*#__PURE__*/_jsx(DetailRow, {
235
+ label: "Error",
236
+ value: item.error,
237
+ isError: true
238
+ })]
239
+ }), detailSection === 'request' && /*#__PURE__*/_jsxs(View, {
240
+ style: styles.sectionContent,
241
+ children: [item.requestHeaders && Object.keys(item.requestHeaders).length > 0 ? /*#__PURE__*/_jsxs(_Fragment, {
242
+ children: [/*#__PURE__*/_jsx(Text, {
243
+ style: styles.subsectionTitle,
244
+ children: "HEADERS"
245
+ }), /*#__PURE__*/_jsx(View, {
246
+ style: styles.jsonContainer,
247
+ children: /*#__PURE__*/_jsx(JsonTreeView, {
248
+ data: item.requestHeaders,
249
+ hideRoot: true,
250
+ maxDepth: 3
251
+ })
252
+ })]
253
+ }) : /*#__PURE__*/_jsx(Text, {
254
+ style: styles.emptyNote,
255
+ children: "No request headers captured"
256
+ }), item.requestBody ? /*#__PURE__*/_jsxs(_Fragment, {
257
+ children: [/*#__PURE__*/_jsx(Text, {
258
+ style: styles.subsectionTitle,
259
+ children: "BODY"
260
+ }), tryParseJSON(item.requestBody) ? /*#__PURE__*/_jsx(View, {
261
+ style: styles.jsonContainer,
262
+ children: /*#__PURE__*/_jsx(JsonTreeView, {
263
+ data: tryParseJSON(item.requestBody),
264
+ hideRoot: true,
265
+ maxDepth: 5
266
+ })
267
+ }) : /*#__PURE__*/_jsx(Text, {
268
+ style: styles.bodyText,
269
+ selectable: true,
270
+ children: item.requestBody
271
+ })]
272
+ }) : null]
273
+ }), detailSection === 'response' && /*#__PURE__*/_jsxs(View, {
274
+ style: styles.sectionContent,
275
+ children: [item.responseHeaders && Object.keys(item.responseHeaders).length > 0 ? /*#__PURE__*/_jsxs(_Fragment, {
276
+ children: [/*#__PURE__*/_jsx(Text, {
277
+ style: styles.subsectionTitle,
278
+ children: "HEADERS"
279
+ }), /*#__PURE__*/_jsx(View, {
280
+ style: styles.jsonContainer,
281
+ children: /*#__PURE__*/_jsx(JsonTreeView, {
282
+ data: item.responseHeaders,
283
+ hideRoot: true,
284
+ maxDepth: 3
285
+ })
286
+ })]
287
+ }) : /*#__PURE__*/_jsx(Text, {
288
+ style: styles.emptyNote,
289
+ children: "No response headers captured"
290
+ }), item.responseBody ? /*#__PURE__*/_jsxs(_Fragment, {
291
+ children: [/*#__PURE__*/_jsx(Text, {
292
+ style: styles.subsectionTitle,
293
+ children: "BODY"
294
+ }), tryParseJSON(item.responseBody) ? /*#__PURE__*/_jsx(View, {
295
+ style: styles.jsonContainer,
296
+ children: /*#__PURE__*/_jsx(JsonTreeView, {
297
+ data: tryParseJSON(item.responseBody),
298
+ hideRoot: true,
299
+ maxDepth: 5
300
+ })
301
+ }) : /*#__PURE__*/_jsx(Text, {
302
+ style: styles.bodyText,
303
+ selectable: true,
304
+ children: item.responseBody
305
+ })]
306
+ }) : /*#__PURE__*/_jsx(Text, {
307
+ style: styles.emptyNote,
308
+ children: isPending ? 'Awaiting response…' : 'No response body'
309
+ })]
310
+ }), onCopy && /*#__PURE__*/_jsx(TouchableOpacity, {
311
+ style: styles.curlButton,
312
+ onPress: handleCopyCurl,
313
+ activeOpacity: 0.7,
314
+ children: /*#__PURE__*/_jsx(Text, {
315
+ style: styles.curlButtonText,
316
+ children: "\u29C9 Copy as cURL"
317
+ })
318
+ })]
319
+ }), !expanded && /*#__PURE__*/_jsx(Text, {
320
+ style: styles.expandHint,
321
+ children: "tap to inspect \u25BE"
322
+ })]
323
+ });
324
+ });
325
+
326
+ // ─── Detail Row ──────────────────────────────────────────────────────────────
327
+
328
+ const DetailRow = ({
329
+ label,
330
+ value,
331
+ selectable,
332
+ isError
333
+ }) => /*#__PURE__*/_jsxs(View, {
334
+ style: styles.detailRow,
335
+ children: [/*#__PURE__*/_jsx(Text, {
336
+ style: styles.detailLabel,
337
+ children: label
338
+ }), /*#__PURE__*/_jsx(Text, {
339
+ style: [styles.detailValue, isError && {
340
+ color: DarkTheme.error
341
+ }],
342
+ numberOfLines: 3,
343
+ selectable: selectable,
344
+ children: value
345
+ })]
346
+ });
347
+
348
+ // ─── Styles ──────────────────────────────────────────────────────────────────
349
+
350
+ const styles = StyleSheet.create({
351
+ container: {
352
+ paddingHorizontal: 14,
353
+ paddingVertical: 10,
354
+ borderBottomWidth: 1,
355
+ borderBottomColor: DarkTheme.border
356
+ },
357
+ headerRow: {
358
+ flexDirection: 'row',
359
+ alignItems: 'center',
360
+ marginBottom: 4,
361
+ gap: 6
362
+ },
363
+ methodBadge: {
364
+ borderRadius: 4,
365
+ borderWidth: 1,
366
+ paddingHorizontal: 6,
367
+ paddingVertical: 1
368
+ },
369
+ methodText: {
370
+ fontFamily: MonospaceFont,
371
+ fontSize: 10,
372
+ fontWeight: '800',
373
+ letterSpacing: 0.5
374
+ },
375
+ statusBadge: {
376
+ borderRadius: 4,
377
+ paddingHorizontal: 6,
378
+ paddingVertical: 2
379
+ },
380
+ statusText: {
381
+ fontFamily: MonospaceFont,
382
+ fontSize: 10,
383
+ fontWeight: '800',
384
+ letterSpacing: 0.5
385
+ },
386
+ duration: {
387
+ fontFamily: MonospaceFont,
388
+ fontSize: 11,
389
+ color: DarkTheme.textMuted
390
+ },
391
+ size: {
392
+ fontFamily: MonospaceFont,
393
+ fontSize: 10,
394
+ color: DarkTheme.textMuted,
395
+ opacity: 0.7
396
+ },
397
+ timestamp: {
398
+ fontFamily: MonospaceFont,
399
+ fontSize: 10,
400
+ color: DarkTheme.textMuted,
401
+ marginLeft: 'auto'
402
+ },
403
+ path: {
404
+ fontFamily: MonospaceFont,
405
+ fontSize: 12,
406
+ color: DarkTheme.text,
407
+ lineHeight: 18
408
+ },
409
+ host: {
410
+ fontFamily: MonospaceFont,
411
+ fontSize: 10,
412
+ color: DarkTheme.textMuted,
413
+ marginTop: 1
414
+ },
415
+ errorText: {
416
+ fontFamily: MonospaceFont,
417
+ fontSize: 11,
418
+ color: DarkTheme.error,
419
+ marginTop: 4
420
+ },
421
+ expandHint: {
422
+ fontFamily: MonospaceFont,
423
+ fontSize: 10,
424
+ color: DarkTheme.textMuted,
425
+ marginTop: 4,
426
+ fontStyle: 'italic'
427
+ },
428
+ // ── Detail Section ──────────────────────────────
429
+ detailContainer: {
430
+ marginTop: 10,
431
+ paddingTop: 10,
432
+ borderTopWidth: 1,
433
+ borderTopColor: DarkTheme.border
434
+ },
435
+ sectionTabs: {
436
+ flexDirection: 'row',
437
+ gap: 4,
438
+ marginBottom: 10
439
+ },
440
+ sectionTab: {
441
+ paddingHorizontal: 12,
442
+ paddingVertical: 6,
443
+ borderRadius: 6,
444
+ backgroundColor: DarkTheme.surfaceElevated,
445
+ borderWidth: 1,
446
+ borderColor: DarkTheme.border
447
+ },
448
+ sectionTabActive: {
449
+ backgroundColor: DarkTheme.accentDim,
450
+ borderColor: DarkTheme.accent
451
+ },
452
+ sectionTabText: {
453
+ fontFamily: MonospaceFont,
454
+ fontSize: 11,
455
+ fontWeight: '600',
456
+ color: DarkTheme.textMuted
457
+ },
458
+ sectionTabTextActive: {
459
+ color: DarkTheme.accent
460
+ },
461
+ sectionContent: {
462
+ marginBottom: 8
463
+ },
464
+ subsectionTitle: {
465
+ fontFamily: MonospaceFont,
466
+ fontSize: 10,
467
+ fontWeight: '700',
468
+ color: DarkTheme.textMuted,
469
+ letterSpacing: 1.2,
470
+ marginBottom: 6,
471
+ marginTop: 8
472
+ },
473
+ jsonContainer: {
474
+ backgroundColor: DarkTheme.surfaceElevated,
475
+ borderRadius: 8,
476
+ borderWidth: 1,
477
+ borderColor: DarkTheme.border,
478
+ padding: 8
479
+ },
480
+ bodyText: {
481
+ fontFamily: MonospaceFont,
482
+ fontSize: 11,
483
+ color: DarkTheme.text,
484
+ lineHeight: 16,
485
+ backgroundColor: DarkTheme.surfaceElevated,
486
+ borderRadius: 8,
487
+ borderWidth: 1,
488
+ borderColor: DarkTheme.border,
489
+ padding: 8,
490
+ overflow: 'hidden'
491
+ },
492
+ emptyNote: {
493
+ fontFamily: MonospaceFont,
494
+ fontSize: 11,
495
+ color: DarkTheme.textMuted,
496
+ fontStyle: 'italic',
497
+ paddingVertical: 8
498
+ },
499
+ detailRow: {
500
+ flexDirection: 'row',
501
+ paddingVertical: 4
502
+ },
503
+ detailLabel: {
504
+ fontFamily: MonospaceFont,
505
+ fontSize: 11,
506
+ color: DarkTheme.textMuted,
507
+ width: 70
508
+ },
509
+ detailValue: {
510
+ fontFamily: MonospaceFont,
511
+ fontSize: 11,
512
+ color: DarkTheme.text,
513
+ flex: 1
514
+ },
515
+ curlButton: {
516
+ marginTop: 10,
517
+ backgroundColor: DarkTheme.accentDim,
518
+ borderRadius: 8,
519
+ borderWidth: 1,
520
+ borderColor: DarkTheme.accent,
521
+ paddingVertical: 8,
522
+ paddingHorizontal: 14,
523
+ alignSelf: 'flex-start'
524
+ },
525
+ curlButtonText: {
526
+ fontFamily: MonospaceFont,
527
+ fontSize: 12,
528
+ fontWeight: '700',
529
+ color: DarkTheme.accent
530
+ }
531
+ });
532
+ //# sourceMappingURL=NetworkItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useState","StyleSheet","Text","TouchableOpacity","View","DarkTheme","MonospaceFont","NetworkState","formatTimestamp","JsonTreeView","toCurl","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getStatusConfig","entry","state","pending","label","color","warning","bgColor","warningDim","rowBg","error","errorDim","status","String","success","info","infoDim","getMethodColor","method","textSecondary","extractPath","url","parsed","URL","path","pathname","search","length","substring","extractHost","host","formatDuration","ms","undefined","toFixed","formatSize","bytes","tryParseJSON","text","JSON","parse","NetworkItem","memo","item","onCopy","expanded","setExpanded","detailSection","setDetailSection","config","methodColor","isPending","toggleExpand","prev","handleCopyCurl","style","styles","container","backgroundColor","onPress","onLongPress","activeOpacity","children","headerRow","methodBadge","borderColor","methodText","statusBadge","statusText","duration","responseSize","size","timestamp","startTime","numberOfLines","errorText","detailContainer","sectionTabs","map","section","sectionTab","sectionTabActive","sectionTabText","sectionTabTextActive","charAt","toUpperCase","slice","sectionContent","DetailRow","value","selectable","isError","requestHeaders","Object","keys","subsectionTitle","jsonContainer","data","hideRoot","maxDepth","emptyNote","requestBody","bodyText","responseHeaders","responseBody","curlButton","curlButtonText","expandHint","detailRow","detailLabel","detailValue","create","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","border","flexDirection","alignItems","marginBottom","gap","borderRadius","borderWidth","fontFamily","fontSize","fontWeight","letterSpacing","textMuted","opacity","marginLeft","lineHeight","marginTop","fontStyle","paddingTop","borderTopWidth","borderTopColor","surfaceElevated","accentDim","accent","padding","overflow","width","flex","alignSelf"],"sourceRoot":"../../../src","sources":["components/NetworkItem.tsx"],"mappings":"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","ignoreList":[]}