rn-backstage 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/lib/commonjs/Backstage.js +40 -33
- package/lib/commonjs/Backstage.js.map +1 -1
- package/lib/commonjs/ThemeContext.js +43 -0
- package/lib/commonjs/ThemeContext.js.map +1 -0
- package/lib/commonjs/components/BackstagePanel.js +17 -10
- package/lib/commonjs/components/BackstagePanel.js.map +1 -1
- package/lib/commonjs/components/FlagsTab.js +50 -49
- package/lib/commonjs/components/FlagsTab.js.map +1 -1
- package/lib/commonjs/components/FloatingPill.js +4 -2
- package/lib/commonjs/components/FloatingPill.js.map +1 -1
- package/lib/commonjs/components/InfoTab.js +73 -107
- package/lib/commonjs/components/InfoTab.js.map +1 -1
- package/lib/commonjs/components/JsonTreeView.js +39 -34
- package/lib/commonjs/components/JsonTreeView.js.map +1 -1
- package/lib/commonjs/components/LogItem.js +33 -29
- package/lib/commonjs/components/LogItem.js.map +1 -1
- package/lib/commonjs/components/LogsTab.js +37 -42
- package/lib/commonjs/components/LogsTab.js.map +1 -1
- package/lib/commonjs/components/NetworkItem.js +111 -135
- package/lib/commonjs/components/NetworkItem.js.map +1 -1
- package/lib/commonjs/components/NetworkTab.js +48 -49
- package/lib/commonjs/components/NetworkTab.js.map +1 -1
- package/lib/commonjs/components/TabBar.js +8 -5
- package/lib/commonjs/components/TabBar.js.map +1 -1
- package/lib/commonjs/constants.js +24 -1
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/index.js +19 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/Backstage.js +40 -33
- package/lib/module/Backstage.js.map +1 -1
- package/lib/module/ThemeContext.js +37 -0
- package/lib/module/ThemeContext.js.map +1 -0
- package/lib/module/components/BackstagePanel.js +19 -12
- package/lib/module/components/BackstagePanel.js.map +1 -1
- package/lib/module/components/FlagsTab.js +51 -50
- package/lib/module/components/FlagsTab.js.map +1 -1
- package/lib/module/components/FloatingPill.js +5 -3
- package/lib/module/components/FloatingPill.js.map +1 -1
- package/lib/module/components/InfoTab.js +73 -107
- package/lib/module/components/InfoTab.js.map +1 -1
- package/lib/module/components/JsonTreeView.js +42 -38
- package/lib/module/components/JsonTreeView.js.map +1 -1
- package/lib/module/components/LogItem.js +35 -31
- package/lib/module/components/LogItem.js.map +1 -1
- package/lib/module/components/LogsTab.js +38 -43
- package/lib/module/components/LogsTab.js.map +1 -1
- package/lib/module/components/NetworkItem.js +113 -137
- package/lib/module/components/NetworkItem.js.map +1 -1
- package/lib/module/components/NetworkTab.js +49 -50
- package/lib/module/components/NetworkTab.js.map +1 -1
- package/lib/module/components/TabBar.js +10 -7
- package/lib/module/components/TabBar.js.map +1 -1
- package/lib/module/constants.js +23 -0
- package/lib/module/constants.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/Backstage.d.ts.map +1 -1
- package/lib/typescript/ThemeContext.d.ts +11 -0
- package/lib/typescript/ThemeContext.d.ts.map +1 -0
- package/lib/typescript/components/BackstagePanel.d.ts +1 -0
- package/lib/typescript/components/BackstagePanel.d.ts.map +1 -1
- package/lib/typescript/components/FlagsTab.d.ts.map +1 -1
- package/lib/typescript/components/FloatingPill.d.ts.map +1 -1
- package/lib/typescript/components/InfoTab.d.ts +1 -0
- package/lib/typescript/components/InfoTab.d.ts.map +1 -1
- package/lib/typescript/components/JsonTreeView.d.ts.map +1 -1
- package/lib/typescript/components/LogItem.d.ts +1 -0
- package/lib/typescript/components/LogItem.d.ts.map +1 -1
- package/lib/typescript/components/LogsTab.d.ts +1 -0
- package/lib/typescript/components/LogsTab.d.ts.map +1 -1
- package/lib/typescript/components/NetworkItem.d.ts +1 -0
- package/lib/typescript/components/NetworkItem.d.ts.map +1 -1
- package/lib/typescript/components/NetworkTab.d.ts +1 -0
- package/lib/typescript/components/NetworkTab.d.ts.map +1 -1
- package/lib/typescript/components/TabBar.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts +1 -0
- package/lib/typescript/constants.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +4 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Backstage.tsx +39 -33
- package/src/ThemeContext.tsx +38 -0
- package/src/components/BackstagePanel.tsx +66 -57
- package/src/components/FlagsTab.tsx +123 -174
- package/src/components/FloatingPill.tsx +6 -3
- package/src/components/InfoTab.tsx +152 -186
- package/src/components/JsonTreeView.tsx +53 -73
- package/src/components/LogItem.tsx +55 -100
- package/src/components/LogsTab.tsx +110 -132
- package/src/components/NetworkItem.tsx +306 -417
- package/src/components/NetworkTab.tsx +129 -163
- package/src/components/TabBar.tsx +51 -47
- package/src/constants.ts +23 -0
- package/src/index.ts +2 -0
- package/src/types.ts +6 -0
|
@@ -1,72 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React from 'react';
|
|
3
|
+
import React, { useMemo } from 'react';
|
|
4
4
|
import { Platform, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
|
-
import {
|
|
5
|
+
import { MonospaceFont } from '../constants';
|
|
6
|
+
import { useBackstageTheme } from '../ThemeContext';
|
|
6
7
|
import { JsonTreeView } from './JsonTreeView';
|
|
7
8
|
|
|
8
9
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
// ─── Info Row ────────────────────────────────────────────────────────────────
|
|
11
|
-
|
|
12
|
-
const InfoRow = ({
|
|
13
|
-
label,
|
|
14
|
-
value,
|
|
15
|
-
labelStyle,
|
|
16
|
-
valueStyle
|
|
17
|
-
}) => /*#__PURE__*/_jsxs(View, {
|
|
18
|
-
style: styles.infoRow,
|
|
19
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
20
|
-
style: [styles.infoLabel, labelStyle],
|
|
21
|
-
numberOfLines: 1,
|
|
22
|
-
children: label
|
|
23
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
24
|
-
style: [styles.infoValue, valueStyle],
|
|
25
|
-
numberOfLines: 2,
|
|
26
|
-
selectable: true,
|
|
27
|
-
children: value
|
|
28
|
-
})]
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
// ─── Section Header ──────────────────────────────────────────────────────────
|
|
32
|
-
|
|
33
|
-
const SectionHeader = ({
|
|
34
|
-
title,
|
|
35
|
-
titleStyle
|
|
36
|
-
}) => /*#__PURE__*/_jsx(Text, {
|
|
37
|
-
style: [styles.sectionTitle, titleStyle],
|
|
38
|
-
children: title
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
// ─── Action Button ───────────────────────────────────────────────────────────
|
|
42
|
-
|
|
43
|
-
const ActionButton = ({
|
|
44
|
-
action,
|
|
45
|
-
onClosePanel,
|
|
46
|
-
buttonStyle,
|
|
47
|
-
buttonTitleStyle
|
|
48
|
-
}) => {
|
|
49
|
-
const handlePress = () => {
|
|
50
|
-
action.onPress();
|
|
51
|
-
if (action.closeOnPress && onClosePanel) {
|
|
52
|
-
onClosePanel();
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
56
|
-
testID: action.testID,
|
|
57
|
-
style: [styles.actionButton, action.destructive && styles.actionButtonDestructive, buttonStyle],
|
|
58
|
-
onPress: handlePress,
|
|
59
|
-
activeOpacity: 0.7,
|
|
60
|
-
children: [action.icon && /*#__PURE__*/_jsx(Text, {
|
|
61
|
-
style: styles.actionIcon,
|
|
62
|
-
children: action.icon
|
|
63
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
64
|
-
style: [styles.actionButtonTitle, action.destructive && styles.actionButtonTitleDestructive, buttonTitleStyle],
|
|
65
|
-
children: action.title
|
|
66
|
-
})]
|
|
67
|
-
});
|
|
68
|
-
};
|
|
69
|
-
|
|
70
11
|
// ─── Main Component ──────────────────────────────────────────────────────────
|
|
71
12
|
|
|
72
13
|
export const InfoTab = ({
|
|
@@ -76,10 +17,14 @@ export const InfoTab = ({
|
|
|
76
17
|
deviceInfo = [],
|
|
77
18
|
state,
|
|
78
19
|
quickActions = [],
|
|
20
|
+
jsonMaxDepth,
|
|
79
21
|
onClosePanel,
|
|
80
22
|
styles: propStyles,
|
|
81
23
|
children
|
|
82
24
|
}) => {
|
|
25
|
+
const theme = useBackstageTheme();
|
|
26
|
+
const s = useMemo(() => createStyles(theme), [theme]);
|
|
27
|
+
|
|
83
28
|
// Built-in device info from Platform API
|
|
84
29
|
const builtInInfo = [{
|
|
85
30
|
label: 'Platform',
|
|
@@ -108,55 +53,77 @@ export const InfoTab = ({
|
|
|
108
53
|
}
|
|
109
54
|
const allInfo = [...builtInInfo, ...deviceInfo];
|
|
110
55
|
return /*#__PURE__*/_jsxs(ScrollView, {
|
|
111
|
-
style:
|
|
112
|
-
contentContainerStyle:
|
|
56
|
+
style: s.container,
|
|
57
|
+
contentContainerStyle: s.scrollContent,
|
|
113
58
|
showsVerticalScrollIndicator: false,
|
|
114
59
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
115
|
-
style:
|
|
116
|
-
children: [/*#__PURE__*/_jsx(
|
|
117
|
-
|
|
118
|
-
|
|
60
|
+
style: s.section,
|
|
61
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
62
|
+
style: [s.sectionTitle, propStyles?.sectionTitleStyle],
|
|
63
|
+
children: "DEVICE INFO"
|
|
119
64
|
}), /*#__PURE__*/_jsx(View, {
|
|
120
|
-
style:
|
|
65
|
+
style: s.card,
|
|
121
66
|
children: allInfo.map((item, index) => /*#__PURE__*/_jsxs(React.Fragment, {
|
|
122
|
-
children: [/*#__PURE__*/
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
67
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
68
|
+
style: s.infoRow,
|
|
69
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
70
|
+
style: [s.infoLabel, propStyles?.infoLabelStyle],
|
|
71
|
+
numberOfLines: 1,
|
|
72
|
+
children: item.label
|
|
73
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
74
|
+
style: [s.infoValue, propStyles?.infoValueStyle],
|
|
75
|
+
selectable: true,
|
|
76
|
+
children: item.value
|
|
77
|
+
})]
|
|
127
78
|
}), index < allInfo.length - 1 && /*#__PURE__*/_jsx(View, {
|
|
128
|
-
style:
|
|
79
|
+
style: s.divider
|
|
129
80
|
})]
|
|
130
81
|
}, `info_${index}`))
|
|
131
82
|
})]
|
|
132
83
|
}), state && Object.keys(state).length > 0 && /*#__PURE__*/_jsxs(View, {
|
|
133
|
-
style:
|
|
134
|
-
children: [/*#__PURE__*/_jsx(
|
|
135
|
-
|
|
136
|
-
|
|
84
|
+
style: s.section,
|
|
85
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
86
|
+
style: [s.sectionTitle, propStyles?.sectionTitleStyle],
|
|
87
|
+
children: "STATE TREE"
|
|
137
88
|
}), /*#__PURE__*/_jsx(View, {
|
|
138
|
-
style:
|
|
89
|
+
style: s.card,
|
|
139
90
|
children: /*#__PURE__*/_jsx(JsonTreeView, {
|
|
140
91
|
data: state,
|
|
141
|
-
hideRoot: true
|
|
92
|
+
hideRoot: true,
|
|
93
|
+
maxDepth: jsonMaxDepth
|
|
142
94
|
})
|
|
143
95
|
})]
|
|
144
96
|
}), quickActions.length > 0 && /*#__PURE__*/_jsxs(View, {
|
|
145
|
-
style:
|
|
146
|
-
children: [/*#__PURE__*/_jsx(
|
|
147
|
-
|
|
148
|
-
|
|
97
|
+
style: s.section,
|
|
98
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
99
|
+
style: [s.sectionTitle, propStyles?.sectionTitleStyle],
|
|
100
|
+
children: "QUICK ACTIONS"
|
|
149
101
|
}), /*#__PURE__*/_jsx(View, {
|
|
150
|
-
style:
|
|
151
|
-
children: quickActions.map((action, index) =>
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
102
|
+
style: s.actionsGrid,
|
|
103
|
+
children: quickActions.map((action, index) => {
|
|
104
|
+
const handlePress = () => {
|
|
105
|
+
action.onPress();
|
|
106
|
+
if (action.closeOnPress && onClosePanel) {
|
|
107
|
+
onClosePanel();
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
111
|
+
testID: action.testID,
|
|
112
|
+
style: [s.actionButton, action.destructive && s.actionButtonDestructive, propStyles?.actionButtonStyle],
|
|
113
|
+
onPress: handlePress,
|
|
114
|
+
activeOpacity: 0.7,
|
|
115
|
+
children: [action.icon && /*#__PURE__*/_jsx(Text, {
|
|
116
|
+
style: s.actionIcon,
|
|
117
|
+
children: action.icon
|
|
118
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
119
|
+
style: [s.actionButtonTitle, action.destructive && s.actionButtonTitleDestructive, propStyles?.actionButtonTitleStyle],
|
|
120
|
+
children: action.title
|
|
121
|
+
})]
|
|
122
|
+
}, `action_${index}`);
|
|
123
|
+
})
|
|
157
124
|
})]
|
|
158
125
|
}), children && /*#__PURE__*/_jsx(View, {
|
|
159
|
-
style:
|
|
126
|
+
style: s.section,
|
|
160
127
|
children: children
|
|
161
128
|
})]
|
|
162
129
|
});
|
|
@@ -164,7 +131,7 @@ export const InfoTab = ({
|
|
|
164
131
|
|
|
165
132
|
// ─── Styles ──────────────────────────────────────────────────────────────────
|
|
166
133
|
|
|
167
|
-
const
|
|
134
|
+
const createStyles = t => StyleSheet.create({
|
|
168
135
|
container: {
|
|
169
136
|
flex: 1
|
|
170
137
|
},
|
|
@@ -179,16 +146,16 @@ const styles = StyleSheet.create({
|
|
|
179
146
|
fontFamily: MonospaceFont,
|
|
180
147
|
fontSize: 11,
|
|
181
148
|
fontWeight: '700',
|
|
182
|
-
color:
|
|
149
|
+
color: t.textMuted,
|
|
183
150
|
letterSpacing: 1.5,
|
|
184
151
|
marginBottom: 8,
|
|
185
152
|
paddingLeft: 4
|
|
186
153
|
},
|
|
187
154
|
card: {
|
|
188
|
-
backgroundColor:
|
|
155
|
+
backgroundColor: t.surfaceElevated,
|
|
189
156
|
borderRadius: 12,
|
|
190
157
|
borderWidth: 1,
|
|
191
|
-
borderColor:
|
|
158
|
+
borderColor: t.border,
|
|
192
159
|
padding: 12,
|
|
193
160
|
overflow: 'hidden'
|
|
194
161
|
},
|
|
@@ -202,13 +169,12 @@ const styles = StyleSheet.create({
|
|
|
202
169
|
infoLabel: {
|
|
203
170
|
fontFamily: MonospaceFont,
|
|
204
171
|
fontSize: 13,
|
|
205
|
-
color:
|
|
206
|
-
flex: 1
|
|
172
|
+
color: t.textSecondary
|
|
207
173
|
},
|
|
208
174
|
infoValue: {
|
|
209
175
|
fontFamily: MonospaceFont,
|
|
210
176
|
fontSize: 13,
|
|
211
|
-
color:
|
|
177
|
+
color: t.text,
|
|
212
178
|
fontWeight: '600',
|
|
213
179
|
textAlign: 'right',
|
|
214
180
|
flex: 1,
|
|
@@ -216,7 +182,7 @@ const styles = StyleSheet.create({
|
|
|
216
182
|
},
|
|
217
183
|
divider: {
|
|
218
184
|
height: 1,
|
|
219
|
-
backgroundColor:
|
|
185
|
+
backgroundColor: t.border,
|
|
220
186
|
marginHorizontal: 4
|
|
221
187
|
},
|
|
222
188
|
actionsGrid: {
|
|
@@ -225,18 +191,18 @@ const styles = StyleSheet.create({
|
|
|
225
191
|
gap: 10
|
|
226
192
|
},
|
|
227
193
|
actionButton: {
|
|
228
|
-
backgroundColor:
|
|
194
|
+
backgroundColor: t.accentDim,
|
|
229
195
|
borderRadius: 10,
|
|
230
196
|
borderWidth: 1,
|
|
231
|
-
borderColor:
|
|
197
|
+
borderColor: t.accent,
|
|
232
198
|
paddingVertical: 10,
|
|
233
199
|
paddingHorizontal: 18,
|
|
234
200
|
flexDirection: 'row',
|
|
235
201
|
alignItems: 'center'
|
|
236
202
|
},
|
|
237
203
|
actionButtonDestructive: {
|
|
238
|
-
backgroundColor:
|
|
239
|
-
borderColor:
|
|
204
|
+
backgroundColor: t.errorDim,
|
|
205
|
+
borderColor: t.error
|
|
240
206
|
},
|
|
241
207
|
actionIcon: {
|
|
242
208
|
fontSize: 14,
|
|
@@ -246,10 +212,10 @@ const styles = StyleSheet.create({
|
|
|
246
212
|
fontFamily: MonospaceFont,
|
|
247
213
|
fontSize: 13,
|
|
248
214
|
fontWeight: '600',
|
|
249
|
-
color:
|
|
215
|
+
color: t.accent
|
|
250
216
|
},
|
|
251
217
|
actionButtonTitleDestructive: {
|
|
252
|
-
color:
|
|
218
|
+
color: t.error
|
|
253
219
|
}
|
|
254
220
|
});
|
|
255
221
|
//# sourceMappingURL=InfoTab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","ScrollView","StyleSheet","Text","TouchableOpacity","View","
|
|
1
|
+
{"version":3,"names":["React","useMemo","Platform","ScrollView","StyleSheet","Text","TouchableOpacity","View","MonospaceFont","useBackstageTheme","JsonTreeView","jsx","_jsx","jsxs","_jsxs","InfoTab","appVersion","buildNumber","bundleId","deviceInfo","state","quickActions","jsonMaxDepth","onClosePanel","styles","propStyles","children","theme","s","createStyles","builtInInfo","label","value","OS","toUpperCase","String","Version","push","allInfo","style","container","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","section","sectionTitle","sectionTitleStyle","card","map","item","index","Fragment","infoRow","infoLabel","infoLabelStyle","numberOfLines","infoValue","infoValueStyle","selectable","length","divider","Object","keys","data","hideRoot","maxDepth","actionsGrid","action","handlePress","onPress","closeOnPress","testID","actionButton","destructive","actionButtonDestructive","actionButtonStyle","activeOpacity","icon","actionIcon","actionButtonTitle","actionButtonTitleDestructive","actionButtonTitleStyle","title","t","create","flex","padding","paddingBottom","marginBottom","fontFamily","fontSize","fontWeight","color","textMuted","letterSpacing","paddingLeft","backgroundColor","surfaceElevated","borderRadius","borderWidth","borderColor","border","overflow","flexDirection","justifyContent","alignItems","paddingVertical","paddingHorizontal","textSecondary","text","textAlign","marginLeft","height","marginHorizontal","flexWrap","gap","accentDim","accent","errorDim","error","marginRight"],"sourceRoot":"../../../src","sources":["components/InfoTab.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useCallback, useState } from 'react';
|
|
3
|
+
import React, { useCallback, useMemo, useState } from 'react';
|
|
4
4
|
import { LayoutAnimation, Platform, StyleSheet, Text, TouchableOpacity, UIManager, View } from 'react-native';
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
// Enable LayoutAnimation on Android
|
|
5
|
+
import { MonospaceFont } from '../constants';
|
|
6
|
+
import { useBackstageTheme } from '../ThemeContext';
|
|
8
7
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
8
|
+
// Enable LayoutAnimation on Android
|
|
9
9
|
if (Platform.OS === 'android' && UIManager.setLayoutAnimationEnabledExperimental) {
|
|
10
10
|
UIManager.setLayoutAnimationEnabledExperimental(true);
|
|
11
11
|
}
|
|
@@ -14,12 +14,12 @@ if (Platform.OS === 'android' && UIManager.setLayoutAnimationEnabledExperimental
|
|
|
14
14
|
|
|
15
15
|
// ─── Color Mapping ───────────────────────────────────────────────────────────
|
|
16
16
|
|
|
17
|
-
function getValueColor(value) {
|
|
18
|
-
if (value === null || value === undefined) return
|
|
19
|
-
if (typeof value === 'string') return '#98C379';
|
|
20
|
-
if (typeof value === 'number') return '#61AFEF';
|
|
21
|
-
if (typeof value === 'boolean') return '#C678DD';
|
|
22
|
-
return
|
|
17
|
+
function getValueColor(value, t) {
|
|
18
|
+
if (value === null || value === undefined) return t.textMuted;
|
|
19
|
+
if (typeof value === 'string') return '#98C379';
|
|
20
|
+
if (typeof value === 'number') return '#61AFEF';
|
|
21
|
+
if (typeof value === 'boolean') return '#C678DD';
|
|
22
|
+
return t.text;
|
|
23
23
|
}
|
|
24
24
|
function getPreview(value) {
|
|
25
25
|
if (Array.isArray(value)) {
|
|
@@ -55,7 +55,9 @@ const JsonNode = ({
|
|
|
55
55
|
isLast,
|
|
56
56
|
hideKey = false
|
|
57
57
|
}) => {
|
|
58
|
-
const
|
|
58
|
+
const theme = useBackstageTheme();
|
|
59
|
+
const s = useMemo(() => createStyles(theme), [theme]);
|
|
60
|
+
const [expanded, setExpanded] = useState(false);
|
|
59
61
|
const expandable = isExpandable(value);
|
|
60
62
|
const reachedMaxDepth = depth >= maxDepth;
|
|
61
63
|
const toggleExpand = useCallback(() => {
|
|
@@ -68,20 +70,20 @@ const JsonNode = ({
|
|
|
68
70
|
if (!expandable || reachedMaxDepth) {
|
|
69
71
|
const displayValue = reachedMaxDepth && expandable ? getPreview(value) : formatValue(value);
|
|
70
72
|
return /*#__PURE__*/_jsxs(View, {
|
|
71
|
-
style: [
|
|
73
|
+
style: [s.row, {
|
|
72
74
|
paddingLeft: indent
|
|
73
75
|
}],
|
|
74
76
|
children: [!hideKey && keyName !== null && /*#__PURE__*/_jsx(Text, {
|
|
75
|
-
style:
|
|
77
|
+
style: s.key,
|
|
76
78
|
children: `${keyName}: `
|
|
77
79
|
}), /*#__PURE__*/_jsx(Text, {
|
|
78
|
-
style: [
|
|
79
|
-
color: reachedMaxDepth ?
|
|
80
|
+
style: [s.value, {
|
|
81
|
+
color: reachedMaxDepth ? theme.textMuted : getValueColor(value, theme)
|
|
80
82
|
}],
|
|
81
83
|
numberOfLines: 3,
|
|
82
84
|
children: displayValue
|
|
83
85
|
}), !isLast && /*#__PURE__*/_jsx(Text, {
|
|
84
|
-
style:
|
|
86
|
+
style: s.comma,
|
|
85
87
|
children: ","
|
|
86
88
|
})]
|
|
87
89
|
});
|
|
@@ -95,27 +97,27 @@ const JsonNode = ({
|
|
|
95
97
|
children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
96
98
|
onPress: toggleExpand,
|
|
97
99
|
activeOpacity: 0.7,
|
|
98
|
-
style: [
|
|
100
|
+
style: [s.row, {
|
|
99
101
|
paddingLeft: indent
|
|
100
102
|
}],
|
|
101
103
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
102
|
-
style:
|
|
104
|
+
style: s.chevron,
|
|
103
105
|
children: expanded ? '▼' : '▶'
|
|
104
106
|
}), !hideKey && keyName !== null && /*#__PURE__*/_jsx(Text, {
|
|
105
|
-
style:
|
|
107
|
+
style: s.key,
|
|
106
108
|
children: `${keyName}: `
|
|
107
109
|
}), /*#__PURE__*/_jsx(Text, {
|
|
108
|
-
style:
|
|
110
|
+
style: s.bracket,
|
|
109
111
|
children: bracketOpen
|
|
110
112
|
}), !expanded && /*#__PURE__*/_jsxs(_Fragment, {
|
|
111
113
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
112
|
-
style:
|
|
114
|
+
style: s.preview,
|
|
113
115
|
children: ` ${getPreview(value)} `
|
|
114
116
|
}), /*#__PURE__*/_jsx(Text, {
|
|
115
|
-
style:
|
|
117
|
+
style: s.bracket,
|
|
116
118
|
children: bracketClose
|
|
117
119
|
}), !isLast && /*#__PURE__*/_jsx(Text, {
|
|
118
|
-
style:
|
|
120
|
+
style: s.comma,
|
|
119
121
|
children: ","
|
|
120
122
|
})]
|
|
121
123
|
})]
|
|
@@ -127,14 +129,14 @@ const JsonNode = ({
|
|
|
127
129
|
maxDepth: maxDepth,
|
|
128
130
|
isLast: i === entries.length - 1
|
|
129
131
|
}, `${k}_${i}`)), /*#__PURE__*/_jsxs(View, {
|
|
130
|
-
style: [
|
|
132
|
+
style: [s.row, {
|
|
131
133
|
paddingLeft: indent
|
|
132
134
|
}],
|
|
133
135
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
134
|
-
style:
|
|
136
|
+
style: s.bracket,
|
|
135
137
|
children: bracketClose
|
|
136
138
|
}), !isLast && /*#__PURE__*/_jsx(Text, {
|
|
137
|
-
style:
|
|
139
|
+
style: s.comma,
|
|
138
140
|
children: ","
|
|
139
141
|
})]
|
|
140
142
|
})]
|
|
@@ -149,18 +151,20 @@ export const JsonTreeView = ({
|
|
|
149
151
|
hideRoot = false,
|
|
150
152
|
maxDepth = 10
|
|
151
153
|
}) => {
|
|
154
|
+
const theme = useBackstageTheme();
|
|
155
|
+
const s = useMemo(() => createStyles(theme), [theme]);
|
|
152
156
|
if (data === null || data === undefined) {
|
|
153
157
|
return /*#__PURE__*/_jsx(Text, {
|
|
154
|
-
style: [
|
|
155
|
-
color:
|
|
158
|
+
style: [s.value, {
|
|
159
|
+
color: theme.textMuted
|
|
156
160
|
}],
|
|
157
161
|
children: String(data)
|
|
158
162
|
});
|
|
159
163
|
}
|
|
160
164
|
if (!isExpandable(data)) {
|
|
161
165
|
return /*#__PURE__*/_jsx(Text, {
|
|
162
|
-
style: [
|
|
163
|
-
color: getValueColor(data)
|
|
166
|
+
style: [s.value, {
|
|
167
|
+
color: getValueColor(data, theme)
|
|
164
168
|
}],
|
|
165
169
|
children: formatValue(data)
|
|
166
170
|
});
|
|
@@ -168,7 +172,7 @@ export const JsonTreeView = ({
|
|
|
168
172
|
if (hideRoot) {
|
|
169
173
|
const entries = Array.isArray(data) ? data.map((v, i) => [String(i), v]) : Object.entries(data);
|
|
170
174
|
return /*#__PURE__*/_jsx(View, {
|
|
171
|
-
style:
|
|
175
|
+
style: s.container,
|
|
172
176
|
children: entries.map(([k, v], i) => /*#__PURE__*/_jsx(JsonNode, {
|
|
173
177
|
keyName: k,
|
|
174
178
|
value: v,
|
|
@@ -179,7 +183,7 @@ export const JsonTreeView = ({
|
|
|
179
183
|
});
|
|
180
184
|
}
|
|
181
185
|
return /*#__PURE__*/_jsx(View, {
|
|
182
|
-
style:
|
|
186
|
+
style: s.container,
|
|
183
187
|
children: /*#__PURE__*/_jsx(JsonNode, {
|
|
184
188
|
keyName: null,
|
|
185
189
|
value: data,
|
|
@@ -193,7 +197,7 @@ export const JsonTreeView = ({
|
|
|
193
197
|
|
|
194
198
|
// ─── Styles ──────────────────────────────────────────────────────────────────
|
|
195
199
|
|
|
196
|
-
const
|
|
200
|
+
const createStyles = t => StyleSheet.create({
|
|
197
201
|
container: {
|
|
198
202
|
paddingVertical: 4
|
|
199
203
|
},
|
|
@@ -206,7 +210,7 @@ const styles = StyleSheet.create({
|
|
|
206
210
|
chevron: {
|
|
207
211
|
fontFamily: MonospaceFont,
|
|
208
212
|
fontSize: 10,
|
|
209
|
-
color:
|
|
213
|
+
color: t.textMuted,
|
|
210
214
|
marginRight: 6,
|
|
211
215
|
marginTop: 2,
|
|
212
216
|
width: 12
|
|
@@ -214,7 +218,7 @@ const styles = StyleSheet.create({
|
|
|
214
218
|
key: {
|
|
215
219
|
fontFamily: MonospaceFont,
|
|
216
220
|
fontSize: 13,
|
|
217
|
-
color: '#E06C75'
|
|
221
|
+
color: '#E06C75'
|
|
218
222
|
},
|
|
219
223
|
value: {
|
|
220
224
|
fontFamily: MonospaceFont,
|
|
@@ -224,18 +228,18 @@ const styles = StyleSheet.create({
|
|
|
224
228
|
bracket: {
|
|
225
229
|
fontFamily: MonospaceFont,
|
|
226
230
|
fontSize: 13,
|
|
227
|
-
color:
|
|
231
|
+
color: t.textSecondary
|
|
228
232
|
},
|
|
229
233
|
preview: {
|
|
230
234
|
fontFamily: MonospaceFont,
|
|
231
235
|
fontSize: 13,
|
|
232
|
-
color:
|
|
236
|
+
color: t.textMuted,
|
|
233
237
|
fontStyle: 'italic'
|
|
234
238
|
},
|
|
235
239
|
comma: {
|
|
236
240
|
fontFamily: MonospaceFont,
|
|
237
241
|
fontSize: 13,
|
|
238
|
-
color:
|
|
242
|
+
color: t.textMuted
|
|
239
243
|
}
|
|
240
244
|
});
|
|
241
245
|
//# sourceMappingURL=JsonTreeView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useState","LayoutAnimation","Platform","StyleSheet","Text","TouchableOpacity","UIManager","View","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useState","LayoutAnimation","Platform","StyleSheet","Text","TouchableOpacity","UIManager","View","MonospaceFont","useBackstageTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","OS","setLayoutAnimationEnabledExperimental","getValueColor","value","t","undefined","textMuted","text","getPreview","Array","isArray","length","keys","Object","formatValue","String","name","toString","isExpandable","JsonNode","keyName","depth","maxDepth","isLast","hideKey","theme","s","createStyles","expanded","setExpanded","expandable","reachedMaxDepth","toggleExpand","configureNext","Presets","easeInEaseOut","prev","indent","displayValue","style","row","paddingLeft","children","key","color","numberOfLines","comma","entries","map","v","i","bracketOpen","bracketClose","onPress","activeOpacity","chevron","bracket","preview","k","JsonTreeView","data","hideRoot","container","create","paddingVertical","flexDirection","alignItems","flexWrap","fontFamily","fontSize","marginRight","marginTop","width","flexShrink","textSecondary","fontStyle"],"sourceRoot":"../../../src","sources":["components/JsonTreeView.tsx"],"mappings":"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","ignoreList":[]}
|