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