rn-backstage 1.1.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.
Files changed (103) hide show
  1. package/README.md +41 -19
  2. package/lib/commonjs/Backstage.js +42 -31
  3. package/lib/commonjs/Backstage.js.map +1 -1
  4. package/lib/commonjs/ThemeContext.js +43 -0
  5. package/lib/commonjs/ThemeContext.js.map +1 -0
  6. package/lib/commonjs/components/BackstagePanel.js +38 -16
  7. package/lib/commonjs/components/BackstagePanel.js.map +1 -1
  8. package/lib/commonjs/components/FlagsTab.js +256 -0
  9. package/lib/commonjs/components/FlagsTab.js.map +1 -0
  10. package/lib/commonjs/components/FloatingPill.js +4 -2
  11. package/lib/commonjs/components/FloatingPill.js.map +1 -1
  12. package/lib/commonjs/components/InfoTab.js +73 -107
  13. package/lib/commonjs/components/InfoTab.js.map +1 -1
  14. package/lib/commonjs/components/JsonTreeView.js +39 -34
  15. package/lib/commonjs/components/JsonTreeView.js.map +1 -1
  16. package/lib/commonjs/components/LogItem.js +33 -29
  17. package/lib/commonjs/components/LogItem.js.map +1 -1
  18. package/lib/commonjs/components/LogsTab.js +37 -42
  19. package/lib/commonjs/components/LogsTab.js.map +1 -1
  20. package/lib/commonjs/components/NetworkItem.js +111 -135
  21. package/lib/commonjs/components/NetworkItem.js.map +1 -1
  22. package/lib/commonjs/components/NetworkTab.js +48 -49
  23. package/lib/commonjs/components/NetworkTab.js.map +1 -1
  24. package/lib/commonjs/components/TabBar.js +8 -5
  25. package/lib/commonjs/components/TabBar.js.map +1 -1
  26. package/lib/commonjs/constants.js +24 -1
  27. package/lib/commonjs/constants.js.map +1 -1
  28. package/lib/commonjs/index.js +19 -0
  29. package/lib/commonjs/index.js.map +1 -1
  30. package/lib/commonjs/types.js +1 -0
  31. package/lib/commonjs/types.js.map +1 -1
  32. package/lib/module/Backstage.js +42 -31
  33. package/lib/module/Backstage.js.map +1 -1
  34. package/lib/module/ThemeContext.js +37 -0
  35. package/lib/module/ThemeContext.js.map +1 -0
  36. package/lib/module/components/BackstagePanel.js +40 -18
  37. package/lib/module/components/BackstagePanel.js.map +1 -1
  38. package/lib/module/components/FlagsTab.js +251 -0
  39. package/lib/module/components/FlagsTab.js.map +1 -0
  40. package/lib/module/components/FloatingPill.js +5 -3
  41. package/lib/module/components/FloatingPill.js.map +1 -1
  42. package/lib/module/components/InfoTab.js +73 -107
  43. package/lib/module/components/InfoTab.js.map +1 -1
  44. package/lib/module/components/JsonTreeView.js +42 -38
  45. package/lib/module/components/JsonTreeView.js.map +1 -1
  46. package/lib/module/components/LogItem.js +35 -31
  47. package/lib/module/components/LogItem.js.map +1 -1
  48. package/lib/module/components/LogsTab.js +38 -43
  49. package/lib/module/components/LogsTab.js.map +1 -1
  50. package/lib/module/components/NetworkItem.js +113 -137
  51. package/lib/module/components/NetworkItem.js.map +1 -1
  52. package/lib/module/components/NetworkTab.js +49 -50
  53. package/lib/module/components/NetworkTab.js.map +1 -1
  54. package/lib/module/components/TabBar.js +10 -7
  55. package/lib/module/components/TabBar.js.map +1 -1
  56. package/lib/module/constants.js +23 -0
  57. package/lib/module/constants.js.map +1 -1
  58. package/lib/module/index.js +1 -0
  59. package/lib/module/index.js.map +1 -1
  60. package/lib/module/types.js +2 -0
  61. package/lib/module/types.js.map +1 -1
  62. package/lib/typescript/Backstage.d.ts.map +1 -1
  63. package/lib/typescript/ThemeContext.d.ts +11 -0
  64. package/lib/typescript/ThemeContext.d.ts.map +1 -0
  65. package/lib/typescript/components/BackstagePanel.d.ts +4 -1
  66. package/lib/typescript/components/BackstagePanel.d.ts.map +1 -1
  67. package/lib/typescript/components/FlagsTab.d.ts +9 -0
  68. package/lib/typescript/components/FlagsTab.d.ts.map +1 -0
  69. package/lib/typescript/components/FloatingPill.d.ts.map +1 -1
  70. package/lib/typescript/components/InfoTab.d.ts +1 -0
  71. package/lib/typescript/components/InfoTab.d.ts.map +1 -1
  72. package/lib/typescript/components/JsonTreeView.d.ts.map +1 -1
  73. package/lib/typescript/components/LogItem.d.ts +1 -0
  74. package/lib/typescript/components/LogItem.d.ts.map +1 -1
  75. package/lib/typescript/components/LogsTab.d.ts +1 -0
  76. package/lib/typescript/components/LogsTab.d.ts.map +1 -1
  77. package/lib/typescript/components/NetworkItem.d.ts +1 -0
  78. package/lib/typescript/components/NetworkItem.d.ts.map +1 -1
  79. package/lib/typescript/components/NetworkTab.d.ts +1 -0
  80. package/lib/typescript/components/NetworkTab.d.ts.map +1 -1
  81. package/lib/typescript/components/TabBar.d.ts.map +1 -1
  82. package/lib/typescript/constants.d.ts +1 -0
  83. package/lib/typescript/constants.d.ts.map +1 -1
  84. package/lib/typescript/index.d.ts +3 -1
  85. package/lib/typescript/index.d.ts.map +1 -1
  86. package/lib/typescript/types.d.ts +18 -0
  87. package/lib/typescript/types.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. package/src/Backstage.tsx +41 -31
  90. package/src/ThemeContext.tsx +38 -0
  91. package/src/components/BackstagePanel.tsx +84 -56
  92. package/src/components/FlagsTab.tsx +198 -0
  93. package/src/components/FloatingPill.tsx +6 -3
  94. package/src/components/InfoTab.tsx +152 -186
  95. package/src/components/JsonTreeView.tsx +53 -73
  96. package/src/components/LogItem.tsx +55 -100
  97. package/src/components/LogsTab.tsx +110 -132
  98. package/src/components/NetworkItem.tsx +306 -417
  99. package/src/components/NetworkTab.tsx +129 -163
  100. package/src/components/TabBar.tsx +51 -47
  101. package/src/constants.ts +23 -0
  102. package/src/index.ts +3 -0
  103. package/src/types.ts +25 -0
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FlagsTab = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _constants = require("../constants");
10
+ var _ThemeContext = require("../ThemeContext");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ 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); }
13
+ // ─── Types ───────────────────────────────────────────────────────────────────
14
+
15
+ // ─── Component ───────────────────────────────────────────────────────────────
16
+
17
+ const FlagsTab = ({
18
+ flags,
19
+ onToggle
20
+ }) => {
21
+ const theme = (0, _ThemeContext.useBackstageTheme)();
22
+ const s = (0, _react.useMemo)(() => createStyles(theme), [theme]);
23
+ const [searchText, setSearchText] = (0, _react.useState)('');
24
+ const filteredFlags = (0, _react.useMemo)(() => {
25
+ if (!searchText.trim()) return flags;
26
+ const query = searchText.toLowerCase();
27
+ return flags.filter(f => f.label.toLowerCase().includes(query) || f.key.toLowerCase().includes(query) || f.description && f.description.toLowerCase().includes(query));
28
+ }, [flags, searchText]);
29
+ const enabledCount = flags.filter(f => f.value).length;
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
31
+ style: s.container,
32
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
33
+ style: s.searchContainer,
34
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
35
+ style: s.searchInputWrapper,
36
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
37
+ style: s.searchIcon,
38
+ children: "\u2315"
39
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
40
+ style: s.searchInput,
41
+ placeholder: "Filter flags...",
42
+ placeholderTextColor: theme.textMuted,
43
+ value: searchText,
44
+ onChangeText: setSearchText,
45
+ autoCapitalize: "none",
46
+ autoCorrect: false,
47
+ clearButtonMode: "while-editing",
48
+ returnKeyType: "search"
49
+ })]
50
+ })
51
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
52
+ style: s.statsBar,
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
54
+ style: s.statText,
55
+ children: filteredFlags.length === flags.length ? `${flags.length} flag${flags.length !== 1 ? 's' : ''}` : `${filteredFlags.length} of ${flags.length}`
56
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
57
+ style: s.statText,
58
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
59
+ style: s.statEnabled,
60
+ children: [enabledCount, " on"]
61
+ }), ' · ', /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
62
+ style: s.statDisabled,
63
+ children: [flags.length - enabledCount, " off"]
64
+ })]
65
+ })]
66
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
67
+ style: s.list,
68
+ contentContainerStyle: filteredFlags.length === 0 ? s.emptyContainer : s.listContent,
69
+ showsVerticalScrollIndicator: false,
70
+ children: filteredFlags.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
71
+ style: s.emptyState,
72
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
73
+ style: s.emptyIcon,
74
+ children: "\uD83C\uDF9A"
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
76
+ style: s.emptyTitle,
77
+ children: "No flags match"
78
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
79
+ style: s.emptySubtitle,
80
+ children: "Try adjusting your search"
81
+ })]
82
+ }) : filteredFlags.map((flag, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
83
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
84
+ style: s.flagRow,
85
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
86
+ style: s.flagInfo,
87
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
88
+ style: s.flagHeader,
89
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
90
+ style: s.flagLabel,
91
+ children: flag.label
92
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
93
+ style: [s.flagKey, flag.value && s.flagKeyActive],
94
+ children: flag.key
95
+ })]
96
+ }), flag.description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
97
+ style: s.flagDescription,
98
+ children: flag.description
99
+ })]
100
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Switch, {
101
+ testID: `backstage.flag.${flag.key}`,
102
+ value: flag.value,
103
+ onValueChange: newValue => onToggle?.(flag.key, newValue),
104
+ trackColor: {
105
+ false: theme.border,
106
+ true: theme.accent
107
+ },
108
+ thumbColor: flag.value ? '#FFFFFF' : theme.textMuted,
109
+ ios_backgroundColor: theme.border
110
+ })]
111
+ }), index < filteredFlags.length - 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
112
+ style: s.divider
113
+ })]
114
+ }, flag.key))
115
+ })]
116
+ });
117
+ };
118
+
119
+ // ─── Styles ──────────────────────────────────────────────────────────────────
120
+ exports.FlagsTab = FlagsTab;
121
+ const createStyles = t => _reactNative.StyleSheet.create({
122
+ container: {
123
+ flex: 1
124
+ },
125
+ searchContainer: {
126
+ paddingHorizontal: 14,
127
+ paddingVertical: 10,
128
+ borderBottomWidth: 1,
129
+ borderBottomColor: t.border
130
+ },
131
+ searchInputWrapper: {
132
+ flexDirection: 'row',
133
+ alignItems: 'center',
134
+ backgroundColor: t.surfaceElevated,
135
+ borderRadius: 10,
136
+ borderWidth: 1,
137
+ borderColor: t.border,
138
+ paddingHorizontal: 12,
139
+ height: 38
140
+ },
141
+ searchIcon: {
142
+ fontSize: 16,
143
+ color: t.textMuted,
144
+ marginRight: 8
145
+ },
146
+ searchInput: {
147
+ flex: 1,
148
+ fontFamily: _constants.MonospaceFont,
149
+ fontSize: 13,
150
+ color: t.text,
151
+ padding: 0
152
+ },
153
+ statsBar: {
154
+ flexDirection: 'row',
155
+ justifyContent: 'space-between',
156
+ alignItems: 'center',
157
+ paddingHorizontal: 16,
158
+ paddingVertical: 6,
159
+ backgroundColor: t.surface
160
+ },
161
+ statText: {
162
+ fontFamily: _constants.MonospaceFont,
163
+ fontSize: 11,
164
+ color: t.textMuted
165
+ },
166
+ statEnabled: {
167
+ color: t.success,
168
+ fontWeight: '700'
169
+ },
170
+ statDisabled: {
171
+ color: t.textMuted
172
+ },
173
+ list: {
174
+ flex: 1
175
+ },
176
+ listContent: {
177
+ paddingHorizontal: 16,
178
+ paddingVertical: 8
179
+ },
180
+ emptyContainer: {
181
+ flex: 1,
182
+ justifyContent: 'center'
183
+ },
184
+ emptyState: {
185
+ alignItems: 'center',
186
+ justifyContent: 'center',
187
+ padding: 40
188
+ },
189
+ emptyIcon: {
190
+ fontSize: 48,
191
+ marginBottom: 16,
192
+ opacity: 0.5
193
+ },
194
+ emptyTitle: {
195
+ fontFamily: _constants.MonospaceFont,
196
+ fontSize: 16,
197
+ fontWeight: '700',
198
+ color: t.textSecondary,
199
+ marginBottom: 8
200
+ },
201
+ emptySubtitle: {
202
+ fontFamily: _constants.MonospaceFont,
203
+ fontSize: 13,
204
+ color: t.textMuted,
205
+ textAlign: 'center'
206
+ },
207
+ flagRow: {
208
+ flexDirection: 'row',
209
+ justifyContent: 'space-between',
210
+ alignItems: 'center',
211
+ paddingVertical: 14,
212
+ paddingHorizontal: 4
213
+ },
214
+ flagInfo: {
215
+ flex: 1,
216
+ marginRight: 16
217
+ },
218
+ flagHeader: {
219
+ flexDirection: 'row',
220
+ alignItems: 'center',
221
+ gap: 8
222
+ },
223
+ flagLabel: {
224
+ fontFamily: _constants.MonospaceFont,
225
+ fontSize: 14,
226
+ color: t.text,
227
+ fontWeight: '600'
228
+ },
229
+ flagKey: {
230
+ fontFamily: _constants.MonospaceFont,
231
+ fontSize: 10,
232
+ color: t.textMuted,
233
+ backgroundColor: t.surfaceElevated,
234
+ borderRadius: 4,
235
+ paddingHorizontal: 6,
236
+ paddingVertical: 1,
237
+ overflow: 'hidden'
238
+ },
239
+ flagKeyActive: {
240
+ color: t.accent,
241
+ backgroundColor: t.accentDim
242
+ },
243
+ flagDescription: {
244
+ fontFamily: _constants.MonospaceFont,
245
+ fontSize: 12,
246
+ color: t.textMuted,
247
+ marginTop: 4,
248
+ lineHeight: 18
249
+ },
250
+ divider: {
251
+ height: 1,
252
+ backgroundColor: t.border,
253
+ marginHorizontal: 4
254
+ }
255
+ });
256
+ //# sourceMappingURL=FlagsTab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_ThemeContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FlagsTab","flags","onToggle","theme","useBackstageTheme","s","useMemo","createStyles","searchText","setSearchText","useState","filteredFlags","trim","query","toLowerCase","filter","label","includes","key","description","enabledCount","value","length","jsxs","View","style","container","children","jsx","searchContainer","searchInputWrapper","Text","searchIcon","TextInput","searchInput","placeholder","placeholderTextColor","textMuted","onChangeText","autoCapitalize","autoCorrect","clearButtonMode","returnKeyType","statsBar","statText","statEnabled","statDisabled","ScrollView","list","contentContainerStyle","emptyContainer","listContent","showsVerticalScrollIndicator","emptyState","emptyIcon","emptyTitle","emptySubtitle","map","flag","index","flagRow","flagInfo","flagHeader","flagLabel","flagKey","flagKeyActive","flagDescription","Switch","testID","onValueChange","newValue","trackColor","false","border","true","accent","thumbColor","ios_backgroundColor","divider","exports","StyleSheet","create","flex","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","flexDirection","alignItems","backgroundColor","surfaceElevated","borderRadius","borderWidth","borderColor","height","fontSize","color","marginRight","fontFamily","MonospaceFont","text","padding","justifyContent","surface","success","fontWeight","marginBottom","opacity","textSecondary","textAlign","gap","overflow","accentDim","marginTop","lineHeight","marginHorizontal"],"sourceRoot":"../../../src","sources":["components/FlagsTab.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAAmD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGnD;;AAOA;;AAEO,MAAMkB,QAAiC,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAS,CAAC,KAAK;EACxE,MAAMC,KAAK,GAAG,IAAAC,+BAAiB,EAAC,CAAC;EACjC,MAAMC,CAAC,GAAG,IAAAC,cAAO,EAAC,MAAMC,YAAY,CAACJ,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACrD,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EAEhD,MAAMC,aAAa,GAAG,IAAAL,cAAO,EAAC,MAAM;IAClC,IAAI,CAACE,UAAU,CAACI,IAAI,CAAC,CAAC,EAAE,OAAOX,KAAK;IACpC,MAAMY,KAAK,GAAGL,UAAU,CAACM,WAAW,CAAC,CAAC;IACtC,OAAOb,KAAK,CAACc,MAAM,CACjB1B,CAAC,IACCA,CAAC,CAAC2B,KAAK,CAACF,WAAW,CAAC,CAAC,CAACG,QAAQ,CAACJ,KAAK,CAAC,IACrCxB,CAAC,CAAC6B,GAAG,CAACJ,WAAW,CAAC,CAAC,CAACG,QAAQ,CAACJ,KAAK,CAAC,IAClCxB,CAAC,CAAC8B,WAAW,IAAI9B,CAAC,CAAC8B,WAAW,CAACL,WAAW,CAAC,CAAC,CAACG,QAAQ,CAACJ,KAAK,CAChE,CAAC;EACH,CAAC,EAAE,CAACZ,KAAK,EAAEO,UAAU,CAAC,CAAC;EAEvB,MAAMY,YAAY,GAAGnB,KAAK,CAACc,MAAM,CAAC1B,CAAC,IAAIA,CAAC,CAACgC,KAAK,CAAC,CAACC,MAAM;EAEtD,oBACE,IAAA1C,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAA+C,IAAI;IAACC,KAAK,EAAEpB,CAAC,CAACqB,SAAU;IAAAC,QAAA,gBACvB,IAAA/C,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAA+C,IAAI;MAACC,KAAK,EAAEpB,CAAC,CAACwB,eAAgB;MAAAF,QAAA,eAC7B,IAAA/C,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAA+C,IAAI;QAACC,KAAK,EAAEpB,CAAC,CAACyB,kBAAmB;QAAAH,QAAA,gBAChC,IAAA/C,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAsD,IAAI;UAACN,KAAK,EAAEpB,CAAC,CAAC2B,UAAW;UAAAL,QAAA,EAAC;QAAC,CAAM,CAAC,eACnC,IAAA/C,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAwD,SAAS;UACRR,KAAK,EAAEpB,CAAC,CAAC6B,WAAY;UACrBC,WAAW,EAAC,iBAAiB;UAC7BC,oBAAoB,EAAEjC,KAAK,CAACkC,SAAU;UACtChB,KAAK,EAAEb,UAAW;UAClB8B,YAAY,EAAE7B,aAAc;UAC5B8B,cAAc,EAAC,MAAM;UACrBC,WAAW,EAAE,KAAM;UACnBC,eAAe,EAAC,eAAe;UAC/BC,aAAa,EAAC;QAAQ,CACvB,CAAC;MAAA,CACE;IAAC,CACH,CAAC,eAEP,IAAA9D,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAA+C,IAAI;MAACC,KAAK,EAAEpB,CAAC,CAACsC,QAAS;MAAAhB,QAAA,gBACtB,IAAA/C,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAsD,IAAI;QAACN,KAAK,EAAEpB,CAAC,CAACuC,QAAS;QAAAjB,QAAA,EACrBhB,aAAa,CAACW,MAAM,KAAKrB,KAAK,CAACqB,MAAM,GAClC,GAAGrB,KAAK,CAACqB,MAAM,QAAQrB,KAAK,CAACqB,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,GACtD,GAAGX,aAAa,CAACW,MAAM,OAAOrB,KAAK,CAACqB,MAAM;MAAE,CAC5C,CAAC,eACP,IAAA1C,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAAsD,IAAI;QAACN,KAAK,EAAEpB,CAAC,CAACuC,QAAS;QAAAjB,QAAA,gBACtB,IAAA/C,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAAsD,IAAI;UAACN,KAAK,EAAEpB,CAAC,CAACwC,WAAY;UAAAlB,QAAA,GAAEP,YAAY,EAAC,KAAG;QAAA,CAAM,CAAC,EACnD,KAAK,eACN,IAAAxC,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAAsD,IAAI;UAACN,KAAK,EAAEpB,CAAC,CAACyC,YAAa;UAAAnB,QAAA,GAAE1B,KAAK,CAACqB,MAAM,GAAGF,YAAY,EAAC,MAAI;QAAA,CAAM,CAAC;MAAA,CACjE,CAAC;IAAA,CACH,CAAC,eAEP,IAAAxC,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAsE,UAAU;MACTtB,KAAK,EAAEpB,CAAC,CAAC2C,IAAK;MACdC,qBAAqB,EAAEtC,aAAa,CAACW,MAAM,KAAK,CAAC,GAAGjB,CAAC,CAAC6C,cAAc,GAAG7C,CAAC,CAAC8C,WAAY;MACrFC,4BAA4B,EAAE,KAAM;MAAAzB,QAAA,EAEnChB,aAAa,CAACW,MAAM,KAAK,CAAC,gBACzB,IAAA1C,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAA+C,IAAI;QAACC,KAAK,EAAEpB,CAAC,CAACgD,UAAW;QAAA1B,QAAA,gBACxB,IAAA/C,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAsD,IAAI;UAACN,KAAK,EAAEpB,CAAC,CAACiD,SAAU;UAAA3B,QAAA,EAAC;QAAE,CAAM,CAAC,eACnC,IAAA/C,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAsD,IAAI;UAACN,KAAK,EAAEpB,CAAC,CAACkD,UAAW;UAAA5B,QAAA,EAAC;QAAc,CAAM,CAAC,eAChD,IAAA/C,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAsD,IAAI;UAACN,KAAK,EAAEpB,CAAC,CAACmD,aAAc;UAAA7B,QAAA,EAAC;QAAyB,CAAM,CAAC;MAAA,CAC1D,CAAC,GAEPhB,aAAa,CAAC8C,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,kBAC5B,IAAA/E,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAA+C,IAAI;QAAAG,QAAA,gBACH,IAAA/C,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAA+C,IAAI;UAACC,KAAK,EAAEpB,CAAC,CAACuD,OAAQ;UAAAjC,QAAA,gBACrB,IAAA/C,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAA+C,IAAI;YAACC,KAAK,EAAEpB,CAAC,CAACwD,QAAS;YAAAlC,QAAA,gBACtB,IAAA/C,WAAA,CAAA2C,IAAA,EAAC9C,YAAA,CAAA+C,IAAI;cAACC,KAAK,EAAEpB,CAAC,CAACyD,UAAW;cAAAnC,QAAA,gBACxB,IAAA/C,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAsD,IAAI;gBAACN,KAAK,EAAEpB,CAAC,CAAC0D,SAAU;gBAAApC,QAAA,EAAE+B,IAAI,CAAC1C;cAAK,CAAO,CAAC,eAC7C,IAAApC,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAsD,IAAI;gBAACN,KAAK,EAAE,CAACpB,CAAC,CAAC2D,OAAO,EAAEN,IAAI,CAACrC,KAAK,IAAIhB,CAAC,CAAC4D,aAAa,CAAE;gBAAAtC,QAAA,EAAE+B,IAAI,CAACxC;cAAG,CAAO,CAAC;YAAA,CACtE,CAAC,EACNwC,IAAI,CAACvC,WAAW,iBAAI,IAAAvC,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAAsD,IAAI;cAACN,KAAK,EAAEpB,CAAC,CAAC6D,eAAgB;cAAAvC,QAAA,EAAE+B,IAAI,CAACvC;YAAW,CAAO,CAAC;UAAA,CAC1E,CAAC,eACP,IAAAvC,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAA0F,MAAM;YACLC,MAAM,EAAE,kBAAkBV,IAAI,CAACxC,GAAG,EAAG;YACrCG,KAAK,EAAEqC,IAAI,CAACrC,KAAM;YAClBgD,aAAa,EAAGC,QAAiB,IAAKpE,QAAQ,GAAGwD,IAAI,CAACxC,GAAG,EAAEoD,QAAQ,CAAE;YACrEC,UAAU,EAAE;cAAEC,KAAK,EAAErE,KAAK,CAACsE,MAAM;cAAEC,IAAI,EAAEvE,KAAK,CAACwE;YAAO,CAAE;YACxDC,UAAU,EAAElB,IAAI,CAACrC,KAAK,GAAG,SAAS,GAAGlB,KAAK,CAACkC,SAAU;YACrDwC,mBAAmB,EAAE1E,KAAK,CAACsE;UAAO,CACnC,CAAC;QAAA,CACE,CAAC,EACNd,KAAK,GAAGhD,aAAa,CAACW,MAAM,GAAG,CAAC,iBAAI,IAAA1C,WAAA,CAAAgD,GAAA,EAACnD,YAAA,CAAA+C,IAAI;UAACC,KAAK,EAAEpB,CAAC,CAACyE;QAAQ,CAAE,CAAC;MAAA,GAlBtDpB,IAAI,CAACxC,GAmBV,CACP;IACF,CACS,CAAC;EAAA,CACT,CAAC;AAEX,CAAC;;AAED;AAAA6D,OAAA,CAAA/E,QAAA,GAAAA,QAAA;AAEA,MAAMO,YAAY,GAAIzB,CAAiB,IACrCkG,uBAAU,CAACC,MAAM,CAAC;EAChBvD,SAAS,EAAE;IAAEwD,IAAI,EAAE;EAAE,CAAC;EACtBrD,eAAe,EAAE;IACfsD,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAExG,CAAC,CAAC2F;EACvB,CAAC;EACD3C,kBAAkB,EAAE;IAClByD,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE3G,CAAC,CAAC4G,eAAe;IAClCC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE/G,CAAC,CAAC2F,MAAM;IACrBU,iBAAiB,EAAE,EAAE;IACrBW,MAAM,EAAE;EACV,CAAC;EACD9D,UAAU,EAAE;IAAE+D,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAElH,CAAC,CAACuD,SAAS;IAAE4D,WAAW,EAAE;EAAE,CAAC;EAChE/D,WAAW,EAAE;IACXgD,IAAI,EAAE,CAAC;IACPgB,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAElH,CAAC,CAACsH,IAAI;IACbC,OAAO,EAAE;EACX,CAAC;EACD1D,QAAQ,EAAE;IACR4C,aAAa,EAAE,KAAK;IACpBe,cAAc,EAAE,eAAe;IAC/Bd,UAAU,EAAE,QAAQ;IACpBL,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClBK,eAAe,EAAE3G,CAAC,CAACyH;EACrB,CAAC;EACD3D,QAAQ,EAAE;IAAEsD,UAAU,EAAEC,wBAAa;IAAEJ,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAElH,CAAC,CAACuD;EAAU,CAAC;EACzEQ,WAAW,EAAE;IAAEmD,KAAK,EAAElH,CAAC,CAAC0H,OAAO;IAAEC,UAAU,EAAE;EAAM,CAAC;EACpD3D,YAAY,EAAE;IAAEkD,KAAK,EAAElH,CAAC,CAACuD;EAAU,CAAC;EACpCW,IAAI,EAAE;IAAEkC,IAAI,EAAE;EAAE,CAAC;EACjB/B,WAAW,EAAE;IAAEgC,iBAAiB,EAAE,EAAE;IAAEC,eAAe,EAAE;EAAE,CAAC;EAC1DlC,cAAc,EAAE;IAAEgC,IAAI,EAAE,CAAC;IAAEoB,cAAc,EAAE;EAAS,CAAC;EACrDjD,UAAU,EAAE;IAAEmC,UAAU,EAAE,QAAQ;IAAEc,cAAc,EAAE,QAAQ;IAAED,OAAO,EAAE;EAAG,CAAC;EAC3E/C,SAAS,EAAE;IAAEyC,QAAQ,EAAE,EAAE;IAAEW,YAAY,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAI,CAAC;EAC3DpD,UAAU,EAAE;IACV2C,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZU,UAAU,EAAE,KAAK;IACjBT,KAAK,EAAElH,CAAC,CAAC8H,aAAa;IACtBF,YAAY,EAAE;EAChB,CAAC;EACDlD,aAAa,EAAE;IACb0C,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAElH,CAAC,CAACuD,SAAS;IAClBwE,SAAS,EAAE;EACb,CAAC;EACDjD,OAAO,EAAE;IACP2B,aAAa,EAAE,KAAK;IACpBe,cAAc,EAAE,eAAe;IAC/Bd,UAAU,EAAE,QAAQ;IACpBJ,eAAe,EAAE,EAAE;IACnBD,iBAAiB,EAAE;EACrB,CAAC;EACDtB,QAAQ,EAAE;IAAEqB,IAAI,EAAE,CAAC;IAAEe,WAAW,EAAE;EAAG,CAAC;EACtCnC,UAAU,EAAE;IAAEyB,aAAa,EAAE,KAAK;IAAEC,UAAU,EAAE,QAAQ;IAAEsB,GAAG,EAAE;EAAE,CAAC;EAClE/C,SAAS,EAAE;IACTmC,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAElH,CAAC,CAACsH,IAAI;IACbK,UAAU,EAAE;EACd,CAAC;EACDzC,OAAO,EAAE;IACPkC,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAElH,CAAC,CAACuD,SAAS;IAClBoD,eAAe,EAAE3G,CAAC,CAAC4G,eAAe;IAClCC,YAAY,EAAE,CAAC;IACfR,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClB2B,QAAQ,EAAE;EACZ,CAAC;EACD9C,aAAa,EAAE;IAAE+B,KAAK,EAAElH,CAAC,CAAC6F,MAAM;IAAEc,eAAe,EAAE3G,CAAC,CAACkI;EAAU,CAAC;EAChE9C,eAAe,EAAE;IACfgC,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAElH,CAAC,CAACuD,SAAS;IAClB4E,SAAS,EAAE,CAAC;IACZC,UAAU,EAAE;EACd,CAAC;EACDpC,OAAO,EAAE;IAAEgB,MAAM,EAAE,CAAC;IAAEL,eAAe,EAAE3G,CAAC,CAAC2F,MAAM;IAAE0C,gBAAgB,EAAE;EAAE;AACvE,CAAC,CAAC","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.FloatingPill = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _constants = require("../constants");
10
+ var _ThemeContext = require("../ThemeContext");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  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
13
  // ─── Types ───────────────────────────────────────────────────────────────────
@@ -99,8 +100,9 @@ const FloatingPill = ({
99
100
  }
100
101
  }
101
102
  })).current;
102
- const backgroundColor = hasError ? _constants.DarkTheme.error : _constants.DarkTheme.accent;
103
- const shadowColor = hasError ? _constants.DarkTheme.error : _constants.DarkTheme.accent;
103
+ const theme = (0, _ThemeContext.useBackstageTheme)();
104
+ const backgroundColor = hasError ? theme.error : theme.accent;
105
+ const shadowColor = hasError ? theme.error : theme.accent;
104
106
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
105
107
  ...panResponder.panHandlers,
106
108
  style: [styles.pill, {
@@ -1 +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","PILL_WIDTH","Metrics","pillWidth","PILL_HEIGHT","pillHeight","DRAG_THRESHOLD","clampPosition","x","y","width","height","Dimensions","Math","max","min","FloatingPill","text","hasError","onPress","initialX","initialY","styles","propStyles","screenW","screenH","defaultX","defaultY","pan","useRef","Animated","ValueXY","current","lastPosition","isDragging","dragDistance","panResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_","gestureState","abs","dx","dy","onPanResponderGrant","setOffset","setValue","onPanResponderMove","sqrt","event","useNativeDriver","onPanResponderRelease","flattenOffset","newPos","spring","toValue","friction","tension","start","backgroundColor","DarkTheme","error","accent","shadowColor","jsx","View","panHandlers","style","pill","transform","getTranslateTransform","pillStyle","children","Text","pillText","pillTextStyle","numberOfLines","exports","StyleSheet","position","minWidth","borderRadius","paddingHorizontal","alignItems","justifyContent","zIndex","elevation","shadowOffset","shadowOpacity","shadowRadius","fontFamily","MonospaceFont","fontSize","fontWeight","color","letterSpacing"],"sourceRoot":"../../../src","sources":["components/FloatingPill.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_ThemeContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PILL_WIDTH","Metrics","pillWidth","PILL_HEIGHT","pillHeight","DRAG_THRESHOLD","clampPosition","x","y","width","height","Dimensions","Math","max","min","FloatingPill","text","hasError","onPress","initialX","initialY","styles","propStyles","screenW","screenH","defaultX","defaultY","pan","useRef","Animated","ValueXY","current","lastPosition","isDragging","dragDistance","panResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_","gestureState","abs","dx","dy","onPanResponderGrant","setOffset","setValue","onPanResponderMove","sqrt","event","useNativeDriver","onPanResponderRelease","flattenOffset","newPos","spring","toValue","friction","tension","start","theme","useBackstageTheme","backgroundColor","error","accent","shadowColor","jsx","View","panHandlers","style","pill","transform","getTranslateTransform","pillStyle","children","Text","pillText","pillTextStyle","numberOfLines","exports","StyleSheet","position","minWidth","borderRadius","paddingHorizontal","alignItems","justifyContent","zIndex","elevation","shadowOffset","shadowOpacity","shadowRadius","fontFamily","MonospaceFont","fontSize","fontWeight","color","letterSpacing"],"sourceRoot":"../../../src","sources":["components/FloatingPill.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,74 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.InfoTab = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _constants = require("../constants");
10
+ var _ThemeContext = require("../ThemeContext");
10
11
  var _JsonTreeView = require("./JsonTreeView");
11
12
  var _jsxRuntime = require("react/jsx-runtime");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ 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); }
13
14
  // ─── Types ───────────────────────────────────────────────────────────────────
14
15
 
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
16
  // ─── Main Component ──────────────────────────────────────────────────────────
76
17
 
77
18
  const InfoTab = ({
@@ -81,10 +22,14 @@ const InfoTab = ({
81
22
  deviceInfo = [],
82
23
  state,
83
24
  quickActions = [],
25
+ jsonMaxDepth,
84
26
  onClosePanel,
85
27
  styles: propStyles,
86
28
  children
87
29
  }) => {
30
+ const theme = (0, _ThemeContext.useBackstageTheme)();
31
+ const s = (0, _react.useMemo)(() => createStyles(theme), [theme]);
32
+
88
33
  // Built-in device info from Platform API
89
34
  const builtInInfo = [{
90
35
  label: 'Platform',
@@ -113,55 +58,77 @@ const InfoTab = ({
113
58
  }
114
59
  const allInfo = [...builtInInfo, ...deviceInfo];
115
60
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
116
- style: styles.container,
117
- contentContainerStyle: styles.scrollContent,
61
+ style: s.container,
62
+ contentContainerStyle: s.scrollContent,
118
63
  showsVerticalScrollIndicator: false,
119
64
  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
65
+ style: s.section,
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
67
+ style: [s.sectionTitle, propStyles?.sectionTitleStyle],
68
+ children: "DEVICE INFO"
124
69
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
125
- style: styles.card,
70
+ style: s.card,
126
71
  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
72
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
73
+ style: s.infoRow,
74
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
75
+ style: [s.infoLabel, propStyles?.infoLabelStyle],
76
+ numberOfLines: 1,
77
+ children: item.label
78
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
79
+ style: [s.infoValue, propStyles?.infoValueStyle],
80
+ selectable: true,
81
+ children: item.value
82
+ })]
132
83
  }), index < allInfo.length - 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
133
- style: styles.divider
84
+ style: s.divider
134
85
  })]
135
86
  }, `info_${index}`))
136
87
  })]
137
88
  }), 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
89
+ style: s.section,
90
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
91
+ style: [s.sectionTitle, propStyles?.sectionTitleStyle],
92
+ children: "STATE TREE"
142
93
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
143
- style: styles.card,
94
+ style: s.card,
144
95
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_JsonTreeView.JsonTreeView, {
145
96
  data: state,
146
- hideRoot: true
97
+ hideRoot: true,
98
+ maxDepth: jsonMaxDepth
147
99
  })
148
100
  })]
149
101
  }), 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
102
+ style: s.section,
103
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
104
+ style: [s.sectionTitle, propStyles?.sectionTitleStyle],
105
+ children: "QUICK ACTIONS"
154
106
  }), /*#__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}`))
107
+ style: s.actionsGrid,
108
+ children: quickActions.map((action, index) => {
109
+ const handlePress = () => {
110
+ action.onPress();
111
+ if (action.closeOnPress && onClosePanel) {
112
+ onClosePanel();
113
+ }
114
+ };
115
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
116
+ testID: action.testID,
117
+ style: [s.actionButton, action.destructive && s.actionButtonDestructive, propStyles?.actionButtonStyle],
118
+ onPress: handlePress,
119
+ activeOpacity: 0.7,
120
+ children: [action.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
121
+ style: s.actionIcon,
122
+ children: action.icon
123
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
124
+ style: [s.actionButtonTitle, action.destructive && s.actionButtonTitleDestructive, propStyles?.actionButtonTitleStyle],
125
+ children: action.title
126
+ })]
127
+ }, `action_${index}`);
128
+ })
162
129
  })]
163
130
  }), children && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
164
- style: styles.section,
131
+ style: s.section,
165
132
  children: children
166
133
  })]
167
134
  });
@@ -169,7 +136,7 @@ const InfoTab = ({
169
136
 
170
137
  // ─── Styles ──────────────────────────────────────────────────────────────────
171
138
  exports.InfoTab = InfoTab;
172
- const styles = _reactNative.StyleSheet.create({
139
+ const createStyles = t => _reactNative.StyleSheet.create({
173
140
  container: {
174
141
  flex: 1
175
142
  },
@@ -184,16 +151,16 @@ const styles = _reactNative.StyleSheet.create({
184
151
  fontFamily: _constants.MonospaceFont,
185
152
  fontSize: 11,
186
153
  fontWeight: '700',
187
- color: _constants.DarkTheme.textMuted,
154
+ color: t.textMuted,
188
155
  letterSpacing: 1.5,
189
156
  marginBottom: 8,
190
157
  paddingLeft: 4
191
158
  },
192
159
  card: {
193
- backgroundColor: _constants.DarkTheme.surfaceElevated,
160
+ backgroundColor: t.surfaceElevated,
194
161
  borderRadius: 12,
195
162
  borderWidth: 1,
196
- borderColor: _constants.DarkTheme.border,
163
+ borderColor: t.border,
197
164
  padding: 12,
198
165
  overflow: 'hidden'
199
166
  },
@@ -207,13 +174,12 @@ const styles = _reactNative.StyleSheet.create({
207
174
  infoLabel: {
208
175
  fontFamily: _constants.MonospaceFont,
209
176
  fontSize: 13,
210
- color: _constants.DarkTheme.textSecondary,
211
- flex: 1
177
+ color: t.textSecondary
212
178
  },
213
179
  infoValue: {
214
180
  fontFamily: _constants.MonospaceFont,
215
181
  fontSize: 13,
216
- color: _constants.DarkTheme.text,
182
+ color: t.text,
217
183
  fontWeight: '600',
218
184
  textAlign: 'right',
219
185
  flex: 1,
@@ -221,7 +187,7 @@ const styles = _reactNative.StyleSheet.create({
221
187
  },
222
188
  divider: {
223
189
  height: 1,
224
- backgroundColor: _constants.DarkTheme.border,
190
+ backgroundColor: t.border,
225
191
  marginHorizontal: 4
226
192
  },
227
193
  actionsGrid: {
@@ -230,18 +196,18 @@ const styles = _reactNative.StyleSheet.create({
230
196
  gap: 10
231
197
  },
232
198
  actionButton: {
233
- backgroundColor: _constants.DarkTheme.accentDim,
199
+ backgroundColor: t.accentDim,
234
200
  borderRadius: 10,
235
201
  borderWidth: 1,
236
- borderColor: _constants.DarkTheme.accent,
202
+ borderColor: t.accent,
237
203
  paddingVertical: 10,
238
204
  paddingHorizontal: 18,
239
205
  flexDirection: 'row',
240
206
  alignItems: 'center'
241
207
  },
242
208
  actionButtonDestructive: {
243
- backgroundColor: _constants.DarkTheme.errorDim,
244
- borderColor: _constants.DarkTheme.error
209
+ backgroundColor: t.errorDim,
210
+ borderColor: t.error
245
211
  },
246
212
  actionIcon: {
247
213
  fontSize: 14,
@@ -251,10 +217,10 @@ const styles = _reactNative.StyleSheet.create({
251
217
  fontFamily: _constants.MonospaceFont,
252
218
  fontSize: 13,
253
219
  fontWeight: '600',
254
- color: _constants.DarkTheme.accent
220
+ color: t.accent
255
221
  },
256
222
  actionButtonTitleDestructive: {
257
- color: _constants.DarkTheme.error
223
+ color: t.error
258
224
  }
259
225
  });
260
226
  //# sourceMappingURL=InfoTab.js.map