rn-backstage 1.2.0 → 1.3.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 +84 -2
- package/lib/commonjs/Backstage.js +46 -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 +35 -12
- package/lib/commonjs/components/BackstagePanel.js.map +1 -1
- package/lib/commonjs/components/FlagsTab.js +60 -57
- package/lib/commonjs/components/FlagsTab.js.map +1 -1
- package/lib/commonjs/components/FloatingPill.js +86 -24
- package/lib/commonjs/components/FloatingPill.js.map +1 -1
- package/lib/commonjs/components/InfoTab.js +77 -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 +39 -29
- package/lib/commonjs/components/LogItem.js.map +1 -1
- package/lib/commonjs/components/LogsTab.js +39 -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 +50 -49
- package/lib/commonjs/components/NetworkTab.js.map +1 -1
- package/lib/commonjs/components/StorageTab.js +655 -0
- package/lib/commonjs/components/StorageTab.js.map +1 -0
- package/lib/commonjs/components/TabBar.js +8 -5
- package/lib/commonjs/components/TabBar.js.map +1 -1
- package/lib/commonjs/constants.js +96 -7
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/index.js +96 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/Backstage.js +46 -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 +37 -14
- package/lib/module/components/BackstagePanel.js.map +1 -1
- package/lib/module/components/FlagsTab.js +61 -58
- package/lib/module/components/FlagsTab.js.map +1 -1
- package/lib/module/components/FloatingPill.js +90 -28
- package/lib/module/components/FloatingPill.js.map +1 -1
- package/lib/module/components/InfoTab.js +77 -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 +41 -31
- package/lib/module/components/LogItem.js.map +1 -1
- package/lib/module/components/LogsTab.js +40 -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 +51 -50
- package/lib/module/components/NetworkTab.js.map +1 -1
- package/lib/module/components/StorageTab.js +650 -0
- package/lib/module/components/StorageTab.js.map +1 -0
- package/lib/module/components/TabBar.js +10 -7
- package/lib/module/components/TabBar.js.map +1 -1
- package/lib/module/constants.js +95 -6
- package/lib/module/constants.js.map +1 -1
- package/lib/module/index.js +14 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +2 -0
- 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 +3 -1
- 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 +2 -0
- 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/StorageTab.d.ts +9 -0
- package/lib/typescript/components/StorageTab.d.ts.map +1 -0
- package/lib/typescript/components/TabBar.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts +60 -4
- package/lib/typescript/constants.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +14 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +20 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +6 -4
- package/src/Backstage.tsx +45 -33
- package/src/ThemeContext.tsx +38 -0
- package/src/components/BackstagePanel.tsx +89 -61
- package/src/components/FlagsTab.tsx +125 -174
- package/src/components/FloatingPill.tsx +127 -30
- package/src/components/InfoTab.tsx +153 -186
- package/src/components/JsonTreeView.tsx +53 -73
- package/src/components/LogItem.tsx +64 -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/StorageTab.tsx +607 -0
- package/src/components/TabBar.tsx +51 -47
- package/src/constants.ts +103 -4
- package/src/index.ts +17 -0
- package/src/types.ts +28 -0
|
@@ -7,6 +7,7 @@ exports.LogItem = 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 _types = require("../types");
|
|
11
12
|
var _formatTimestamp = require("../utils/formatTimestamp");
|
|
12
13
|
var _JsonTreeView = require("./JsonTreeView");
|
|
@@ -16,40 +17,40 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
16
17
|
|
|
17
18
|
// ─── Badge Colors ────────────────────────────────────────────────────────────
|
|
18
19
|
|
|
19
|
-
function getBadgeConfig(level) {
|
|
20
|
+
function getBadgeConfig(level, t) {
|
|
20
21
|
switch (level) {
|
|
21
22
|
case _types.LogLevel.error:
|
|
22
23
|
return {
|
|
23
24
|
label: 'ERROR',
|
|
24
|
-
color:
|
|
25
|
-
bgColor:
|
|
25
|
+
color: t.error,
|
|
26
|
+
bgColor: t.errorDim,
|
|
26
27
|
rowBg: 'rgba(255, 77, 106, 0.06)'
|
|
27
28
|
};
|
|
28
29
|
case _types.LogLevel.warn:
|
|
29
30
|
return {
|
|
30
31
|
label: 'WARN',
|
|
31
|
-
color:
|
|
32
|
-
bgColor:
|
|
32
|
+
color: t.warning,
|
|
33
|
+
bgColor: t.warningDim,
|
|
33
34
|
rowBg: 'rgba(255, 178, 36, 0.06)'
|
|
34
35
|
};
|
|
35
36
|
case _types.LogLevel.info:
|
|
36
37
|
return {
|
|
37
38
|
label: 'INFO',
|
|
38
|
-
color:
|
|
39
|
-
bgColor:
|
|
39
|
+
color: t.info,
|
|
40
|
+
bgColor: t.infoDim,
|
|
40
41
|
rowBg: 'transparent'
|
|
41
42
|
};
|
|
42
43
|
case _types.LogLevel.debug:
|
|
43
44
|
return {
|
|
44
45
|
label: 'DEBUG',
|
|
45
|
-
color:
|
|
46
|
-
bgColor:
|
|
46
|
+
color: t.debugColor,
|
|
47
|
+
bgColor: t.debugDim,
|
|
47
48
|
rowBg: 'transparent'
|
|
48
49
|
};
|
|
49
50
|
default:
|
|
50
51
|
return {
|
|
51
52
|
label: 'LOG',
|
|
52
|
-
color:
|
|
53
|
+
color: t.textSecondary,
|
|
53
54
|
bgColor: 'rgba(160, 160, 176, 0.1)',
|
|
54
55
|
rowBg: 'transparent'
|
|
55
56
|
};
|
|
@@ -61,10 +62,13 @@ function getBadgeConfig(level) {
|
|
|
61
62
|
const LogItem = exports.LogItem = /*#__PURE__*/_react.default.memo(({
|
|
62
63
|
item,
|
|
63
64
|
onCopy,
|
|
65
|
+
jsonMaxDepth,
|
|
64
66
|
styles: propStyles
|
|
65
67
|
}) => {
|
|
68
|
+
const theme = (0, _ThemeContext.useBackstageTheme)();
|
|
69
|
+
const s = (0, _react.useMemo)(() => createStyles(theme), [theme]);
|
|
66
70
|
const [expanded, setExpanded] = (0, _react.useState)(false);
|
|
67
|
-
const badge = getBadgeConfig(item.level);
|
|
71
|
+
const badge = getBadgeConfig(item.level, theme);
|
|
68
72
|
const hasData = item.data !== undefined;
|
|
69
73
|
const toggleExpand = (0, _react.useCallback)(() => {
|
|
70
74
|
setExpanded(prev => !prev);
|
|
@@ -76,29 +80,33 @@ const LogItem = exports.LogItem = /*#__PURE__*/_react.default.memo(({
|
|
|
76
80
|
}
|
|
77
81
|
}, [item, badge.label, onCopy]);
|
|
78
82
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
79
|
-
|
|
83
|
+
testID: _constants.TestIDs.logItem.container(item.id),
|
|
84
|
+
style: [s.container, {
|
|
80
85
|
backgroundColor: badge.rowBg
|
|
81
86
|
}],
|
|
82
87
|
onPress: hasData ? toggleExpand : undefined,
|
|
83
88
|
onLongPress: handleCopy,
|
|
84
89
|
activeOpacity: hasData ? 0.7 : 1,
|
|
85
90
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
86
|
-
style:
|
|
91
|
+
style: s.headerRow,
|
|
87
92
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
88
|
-
|
|
93
|
+
testID: _constants.TestIDs.logItem.badge(item.id),
|
|
94
|
+
style: [s.badge, {
|
|
89
95
|
backgroundColor: badge.bgColor
|
|
90
96
|
}],
|
|
91
97
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
92
|
-
style: [
|
|
98
|
+
style: [s.badgeText, {
|
|
93
99
|
color: badge.color
|
|
94
100
|
}],
|
|
95
101
|
children: badge.label
|
|
96
102
|
})
|
|
97
103
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
98
|
-
|
|
104
|
+
testID: _constants.TestIDs.logItem.timestamp(item.id),
|
|
105
|
+
style: [s.timestamp, propStyles?.logTimestampStyle],
|
|
99
106
|
children: (0, _formatTimestamp.formatTimestamp)(item.timestamp)
|
|
100
107
|
}), onCopy && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
101
|
-
|
|
108
|
+
testID: _constants.TestIDs.logItem.copyButton(item.id),
|
|
109
|
+
style: s.copyButton,
|
|
102
110
|
onPress: handleCopy,
|
|
103
111
|
hitSlop: {
|
|
104
112
|
top: 8,
|
|
@@ -107,23 +115,25 @@ const LogItem = exports.LogItem = /*#__PURE__*/_react.default.memo(({
|
|
|
107
115
|
right: 8
|
|
108
116
|
},
|
|
109
117
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
110
|
-
style:
|
|
118
|
+
style: s.copyButtonText,
|
|
111
119
|
children: "\u29C9"
|
|
112
120
|
})
|
|
113
121
|
})]
|
|
114
122
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
115
|
-
|
|
123
|
+
testID: _constants.TestIDs.logItem.message(item.id),
|
|
124
|
+
style: [s.message, propStyles?.logMessageStyle],
|
|
116
125
|
numberOfLines: expanded ? undefined : 3,
|
|
117
126
|
children: item.message
|
|
118
127
|
}), expanded && hasData && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
119
|
-
|
|
128
|
+
testID: _constants.TestIDs.logItem.dataContainer(item.id),
|
|
129
|
+
style: s.dataContainer,
|
|
120
130
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_JsonTreeView.JsonTreeView, {
|
|
121
131
|
data: item.data,
|
|
122
132
|
hideRoot: true,
|
|
123
|
-
maxDepth:
|
|
133
|
+
maxDepth: jsonMaxDepth
|
|
124
134
|
})
|
|
125
135
|
}), hasData && !expanded && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
126
|
-
style:
|
|
136
|
+
style: s.expandHint,
|
|
127
137
|
children: "tap to expand \u25BE"
|
|
128
138
|
})]
|
|
129
139
|
});
|
|
@@ -131,12 +141,12 @@ const LogItem = exports.LogItem = /*#__PURE__*/_react.default.memo(({
|
|
|
131
141
|
|
|
132
142
|
// ─── Styles ──────────────────────────────────────────────────────────────────
|
|
133
143
|
|
|
134
|
-
const
|
|
144
|
+
const createStyles = t => _reactNative.StyleSheet.create({
|
|
135
145
|
container: {
|
|
136
146
|
paddingHorizontal: 14,
|
|
137
147
|
paddingVertical: 10,
|
|
138
148
|
borderBottomWidth: 1,
|
|
139
|
-
borderBottomColor:
|
|
149
|
+
borderBottomColor: t.border
|
|
140
150
|
},
|
|
141
151
|
headerRow: {
|
|
142
152
|
flexDirection: 'row',
|
|
@@ -158,7 +168,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
158
168
|
timestamp: {
|
|
159
169
|
fontFamily: _constants.MonospaceFont,
|
|
160
170
|
fontSize: 11,
|
|
161
|
-
color:
|
|
171
|
+
color: t.textMuted,
|
|
162
172
|
flex: 1
|
|
163
173
|
},
|
|
164
174
|
copyButton: {
|
|
@@ -166,24 +176,24 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
166
176
|
},
|
|
167
177
|
copyButtonText: {
|
|
168
178
|
fontSize: 16,
|
|
169
|
-
color:
|
|
179
|
+
color: t.textMuted
|
|
170
180
|
},
|
|
171
181
|
message: {
|
|
172
182
|
fontFamily: _constants.MonospaceFont,
|
|
173
183
|
fontSize: 12,
|
|
174
|
-
color:
|
|
184
|
+
color: t.text,
|
|
175
185
|
lineHeight: 18
|
|
176
186
|
},
|
|
177
187
|
dataContainer: {
|
|
178
188
|
marginTop: 8,
|
|
179
189
|
paddingTop: 8,
|
|
180
190
|
borderTopWidth: 1,
|
|
181
|
-
borderTopColor:
|
|
191
|
+
borderTopColor: t.border
|
|
182
192
|
},
|
|
183
193
|
expandHint: {
|
|
184
194
|
fontFamily: _constants.MonospaceFont,
|
|
185
195
|
fontSize: 10,
|
|
186
|
-
color:
|
|
196
|
+
color: t.textMuted,
|
|
187
197
|
marginTop: 4,
|
|
188
198
|
fontStyle: 'italic'
|
|
189
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_types","_formatTimestamp","_JsonTreeView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getBadgeConfig","level","LogLevel","error","label","color","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_ThemeContext","_types","_formatTimestamp","_JsonTreeView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getBadgeConfig","level","LogLevel","error","label","color","bgColor","errorDim","rowBg","warn","warning","warningDim","info","infoDim","debug","debugColor","debugDim","textSecondary","LogItem","exports","React","memo","item","onCopy","jsonMaxDepth","styles","propStyles","theme","useBackstageTheme","s","useMemo","createStyles","expanded","setExpanded","useState","badge","hasData","data","undefined","toggleExpand","useCallback","prev","handleCopy","text","formatTimestamp","timestamp","message","jsxs","TouchableOpacity","testID","TestIDs","logItem","container","id","style","backgroundColor","onPress","onLongPress","activeOpacity","children","View","headerRow","jsx","Text","badgeText","logTimestampStyle","copyButton","hitSlop","top","bottom","left","right","copyButtonText","logMessageStyle","numberOfLines","dataContainer","JsonTreeView","hideRoot","maxDepth","expandHint","StyleSheet","create","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","border","flexDirection","alignItems","marginBottom","borderRadius","marginRight","fontFamily","MonospaceFont","fontSize","fontWeight","letterSpacing","textMuted","flex","padding","lineHeight","marginTop","paddingTop","borderTopWidth","borderTopColor","fontStyle"],"sourceRoot":"../../../src","sources":["components/LogItem.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.LogsTab = 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 _LogItem = require("./LogItem");
|
|
11
12
|
var _formatTimestamp = require("../utils/formatTimestamp");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -19,11 +20,12 @@ const LogsTab = ({
|
|
|
19
20
|
logs,
|
|
20
21
|
onRefresh,
|
|
21
22
|
onCopyLogs,
|
|
23
|
+
jsonMaxDepth,
|
|
22
24
|
styles: propStyles
|
|
23
25
|
}) => {
|
|
26
|
+
const theme = (0, _ThemeContext.useBackstageTheme)();
|
|
27
|
+
const s = (0, _react.useMemo)(() => createStyles(theme), [theme]);
|
|
24
28
|
const [searchText, setSearchText] = (0, _react.useState)('');
|
|
25
|
-
|
|
26
|
-
// Filter logs based on search text
|
|
27
29
|
const filteredLogs = (0, _react.useMemo)(() => {
|
|
28
30
|
if (!searchText.trim()) return logs;
|
|
29
31
|
const query = searchText.toLowerCase();
|
|
@@ -31,44 +33,40 @@ const LogsTab = ({
|
|
|
31
33
|
return log.message.toLowerCase().includes(query) || log.level.toLowerCase().includes(query);
|
|
32
34
|
});
|
|
33
35
|
}, [logs, searchText]);
|
|
34
|
-
|
|
35
|
-
// Copy all visible logs to text
|
|
36
36
|
const handleCopyAll = (0, _react.useCallback)(() => {
|
|
37
37
|
if (!onCopyLogs) return;
|
|
38
38
|
const text = filteredLogs.map(log => `[${log.level.toUpperCase()}] ${(0, _formatTimestamp.formatTimestamp)(log.timestamp)} ${log.message}`).join('\n');
|
|
39
39
|
onCopyLogs(text);
|
|
40
40
|
}, [filteredLogs, onCopyLogs]);
|
|
41
|
-
|
|
42
|
-
// Copy individual log
|
|
43
41
|
const handleCopyItem = (0, _react.useCallback)(text => {
|
|
44
42
|
if (onCopyLogs) {
|
|
45
43
|
onCopyLogs(text);
|
|
46
44
|
}
|
|
47
45
|
}, [onCopyLogs]);
|
|
48
|
-
|
|
49
|
-
// Render log item
|
|
50
46
|
const renderItem = (0, _react.useCallback)(({
|
|
51
47
|
item
|
|
52
48
|
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_LogItem.LogItem, {
|
|
53
49
|
item: item,
|
|
54
50
|
onCopy: onCopyLogs ? handleCopyItem : undefined,
|
|
51
|
+
jsonMaxDepth: jsonMaxDepth,
|
|
55
52
|
styles: propStyles
|
|
56
53
|
}), [handleCopyItem, onCopyLogs, propStyles]);
|
|
57
54
|
const keyExtractor = (0, _react.useCallback)(item => item.id, []);
|
|
58
55
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
59
|
-
|
|
56
|
+
testID: _constants.TestIDs.logsTab.container,
|
|
57
|
+
style: s.container,
|
|
60
58
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
61
|
-
style:
|
|
59
|
+
style: s.searchContainer,
|
|
62
60
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
63
|
-
style:
|
|
61
|
+
style: s.searchInputWrapper,
|
|
64
62
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
65
|
-
style:
|
|
63
|
+
style: s.searchIcon,
|
|
66
64
|
children: "\u2315"
|
|
67
65
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
68
66
|
testID: _constants.TestIDs.logsTab.searchInput,
|
|
69
|
-
style:
|
|
67
|
+
style: s.searchInput,
|
|
70
68
|
placeholder: "Filter logs...",
|
|
71
|
-
placeholderTextColor:
|
|
69
|
+
placeholderTextColor: theme.textMuted,
|
|
72
70
|
value: searchText,
|
|
73
71
|
onChangeText: setSearchText,
|
|
74
72
|
autoCapitalize: "none",
|
|
@@ -78,21 +76,22 @@ const LogsTab = ({
|
|
|
78
76
|
})]
|
|
79
77
|
}), onCopyLogs && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
80
78
|
testID: _constants.TestIDs.logsTab.copyButton,
|
|
81
|
-
style:
|
|
79
|
+
style: s.copyAllButton,
|
|
82
80
|
onPress: handleCopyAll,
|
|
83
81
|
activeOpacity: 0.7,
|
|
84
82
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
85
|
-
style:
|
|
83
|
+
style: s.copyAllText,
|
|
86
84
|
children: "Copy All"
|
|
87
85
|
})
|
|
88
86
|
})]
|
|
89
87
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
90
|
-
|
|
88
|
+
testID: _constants.TestIDs.logsTab.statsBar,
|
|
89
|
+
style: s.countBar,
|
|
91
90
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
92
|
-
style:
|
|
91
|
+
style: s.countText,
|
|
93
92
|
children: filteredLogs.length === logs.length ? `${logs.length} log${logs.length !== 1 ? 's' : ''}` : `${filteredLogs.length} of ${logs.length} logs`
|
|
94
93
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
95
|
-
style:
|
|
94
|
+
style: s.pullHint,
|
|
96
95
|
children: "\u2193 pull to refresh"
|
|
97
96
|
})]
|
|
98
97
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.FlatList, {
|
|
@@ -102,23 +101,21 @@ const LogsTab = ({
|
|
|
102
101
|
keyExtractor: keyExtractor,
|
|
103
102
|
refreshing: false,
|
|
104
103
|
onRefresh: onRefresh,
|
|
105
|
-
style:
|
|
106
|
-
contentContainerStyle: filteredLogs.length === 0 ?
|
|
104
|
+
style: s.list,
|
|
105
|
+
contentContainerStyle: filteredLogs.length === 0 ? s.emptyContainer : undefined,
|
|
107
106
|
ListEmptyComponent: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
108
|
-
style:
|
|
107
|
+
style: s.emptyState,
|
|
109
108
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
110
|
-
style:
|
|
109
|
+
style: s.emptyIcon,
|
|
111
110
|
children: "\uD83D\uDCCB"
|
|
112
111
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
113
|
-
style:
|
|
112
|
+
style: s.emptyTitle,
|
|
114
113
|
children: "No logs yet"
|
|
115
114
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
116
|
-
style:
|
|
115
|
+
style: s.emptySubtitle,
|
|
117
116
|
children: "Console output will appear here"
|
|
118
117
|
})]
|
|
119
|
-
})
|
|
120
|
-
// Perf optimizations
|
|
121
|
-
,
|
|
118
|
+
}),
|
|
122
119
|
maxToRenderPerBatch: 20,
|
|
123
120
|
windowSize: 10,
|
|
124
121
|
initialNumToRender: 20,
|
|
@@ -130,7 +127,7 @@ const LogsTab = ({
|
|
|
130
127
|
|
|
131
128
|
// ─── Styles ──────────────────────────────────────────────────────────────────
|
|
132
129
|
exports.LogsTab = LogsTab;
|
|
133
|
-
const
|
|
130
|
+
const createStyles = t => _reactNative.StyleSheet.create({
|
|
134
131
|
container: {
|
|
135
132
|
flex: 1
|
|
136
133
|
},
|
|
@@ -141,36 +138,36 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
141
138
|
paddingVertical: 10,
|
|
142
139
|
gap: 10,
|
|
143
140
|
borderBottomWidth: 1,
|
|
144
|
-
borderBottomColor:
|
|
141
|
+
borderBottomColor: t.border
|
|
145
142
|
},
|
|
146
143
|
searchInputWrapper: {
|
|
147
144
|
flex: 1,
|
|
148
145
|
flexDirection: 'row',
|
|
149
146
|
alignItems: 'center',
|
|
150
|
-
backgroundColor:
|
|
147
|
+
backgroundColor: t.surfaceElevated,
|
|
151
148
|
borderRadius: 10,
|
|
152
149
|
borderWidth: 1,
|
|
153
|
-
borderColor:
|
|
150
|
+
borderColor: t.border,
|
|
154
151
|
paddingHorizontal: 12,
|
|
155
152
|
height: 38
|
|
156
153
|
},
|
|
157
154
|
searchIcon: {
|
|
158
155
|
fontSize: 16,
|
|
159
|
-
color:
|
|
156
|
+
color: t.textMuted,
|
|
160
157
|
marginRight: 8
|
|
161
158
|
},
|
|
162
159
|
searchInput: {
|
|
163
160
|
flex: 1,
|
|
164
161
|
fontFamily: _constants.MonospaceFont,
|
|
165
162
|
fontSize: 13,
|
|
166
|
-
color:
|
|
163
|
+
color: t.text,
|
|
167
164
|
padding: 0
|
|
168
165
|
},
|
|
169
166
|
copyAllButton: {
|
|
170
|
-
backgroundColor:
|
|
167
|
+
backgroundColor: t.accentDim,
|
|
171
168
|
borderRadius: 8,
|
|
172
169
|
borderWidth: 1,
|
|
173
|
-
borderColor:
|
|
170
|
+
borderColor: t.accent,
|
|
174
171
|
paddingHorizontal: 14,
|
|
175
172
|
height: 38,
|
|
176
173
|
justifyContent: 'center'
|
|
@@ -179,7 +176,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
179
176
|
fontFamily: _constants.MonospaceFont,
|
|
180
177
|
fontSize: 12,
|
|
181
178
|
fontWeight: '700',
|
|
182
|
-
color:
|
|
179
|
+
color: t.accent,
|
|
183
180
|
letterSpacing: 0.5
|
|
184
181
|
},
|
|
185
182
|
countBar: {
|
|
@@ -188,17 +185,17 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
188
185
|
alignItems: 'center',
|
|
189
186
|
paddingHorizontal: 16,
|
|
190
187
|
paddingVertical: 6,
|
|
191
|
-
backgroundColor:
|
|
188
|
+
backgroundColor: t.surface
|
|
192
189
|
},
|
|
193
190
|
countText: {
|
|
194
191
|
fontFamily: _constants.MonospaceFont,
|
|
195
192
|
fontSize: 11,
|
|
196
|
-
color:
|
|
193
|
+
color: t.textMuted
|
|
197
194
|
},
|
|
198
195
|
pullHint: {
|
|
199
196
|
fontFamily: _constants.MonospaceFont,
|
|
200
197
|
fontSize: 10,
|
|
201
|
-
color:
|
|
198
|
+
color: t.textMuted,
|
|
202
199
|
fontStyle: 'italic'
|
|
203
200
|
},
|
|
204
201
|
list: {
|
|
@@ -222,13 +219,13 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
222
219
|
fontFamily: _constants.MonospaceFont,
|
|
223
220
|
fontSize: 16,
|
|
224
221
|
fontWeight: '700',
|
|
225
|
-
color:
|
|
222
|
+
color: t.textSecondary,
|
|
226
223
|
marginBottom: 8
|
|
227
224
|
},
|
|
228
225
|
emptySubtitle: {
|
|
229
226
|
fontFamily: _constants.MonospaceFont,
|
|
230
227
|
fontSize: 13,
|
|
231
|
-
color:
|
|
228
|
+
color: t.textMuted,
|
|
232
229
|
textAlign: 'center'
|
|
233
230
|
}
|
|
234
231
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_LogItem","_formatTimestamp","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LogsTab","logs","onRefresh","onCopyLogs","styles","propStyles","searchText","setSearchText","useState","filteredLogs","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_ThemeContext","_LogItem","_formatTimestamp","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LogsTab","logs","onRefresh","onCopyLogs","jsonMaxDepth","styles","propStyles","theme","useBackstageTheme","s","useMemo","createStyles","searchText","setSearchText","useState","filteredLogs","trim","query","toLowerCase","filter","log","message","includes","level","handleCopyAll","useCallback","text","map","toUpperCase","formatTimestamp","timestamp","join","handleCopyItem","renderItem","item","jsx","LogItem","onCopy","undefined","keyExtractor","id","jsxs","View","testID","TestIDs","logsTab","container","style","children","searchContainer","searchInputWrapper","Text","searchIcon","TextInput","searchInput","placeholder","placeholderTextColor","textMuted","value","onChangeText","autoCapitalize","autoCorrect","clearButtonMode","returnKeyType","TouchableOpacity","copyButton","copyAllButton","onPress","activeOpacity","copyAllText","statsBar","countBar","countText","length","pullHint","FlatList","list","data","refreshing","contentContainerStyle","emptyContainer","ListEmptyComponent","emptyState","emptyIcon","emptyTitle","emptySubtitle","maxToRenderPerBatch","windowSize","initialNumToRender","removeClippedSubviews","getItemLayout","exports","StyleSheet","create","flex","flexDirection","alignItems","paddingHorizontal","paddingVertical","gap","borderBottomWidth","borderBottomColor","border","backgroundColor","surfaceElevated","borderRadius","borderWidth","borderColor","height","fontSize","color","marginRight","fontFamily","MonospaceFont","padding","accentDim","accent","justifyContent","fontWeight","letterSpacing","surface","fontStyle","marginBottom","opacity","textSecondary","textAlign"],"sourceRoot":"../../../src","sources":["components/LogsTab.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAA0D,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,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;AAE1D;;AAUA;;AAEO,MAAMkB,OAA+B,GAAGA,CAAC;EAC9CC,IAAI;EACJC,SAAS;EACTC,UAAU;EACVC,YAAY;EACZC,MAAM,EAAEC;AACV,CAAC,KAAK;EACJ,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,YAAY,GAAG,IAAAL,cAAO,EAAC,MAAM;IACjC,IAAI,CAACE,UAAU,CAACI,IAAI,CAAC,CAAC,EAAE,OAAOf,IAAI;IACnC,MAAMgB,KAAK,GAAGL,UAAU,CAACM,WAAW,CAAC,CAAC;IACtC,OAAOjB,IAAI,CAACkB,MAAM,CAACC,GAAG,IAAI;MACxB,OAAOA,GAAG,CAACC,OAAO,CAACH,WAAW,CAAC,CAAC,CAACI,QAAQ,CAACL,KAAK,CAAC,IAAIG,GAAG,CAACG,KAAK,CAACL,WAAW,CAAC,CAAC,CAACI,QAAQ,CAACL,KAAK,CAAC;IAC7F,CAAC,CAAC;EACJ,CAAC,EAAE,CAAChB,IAAI,EAAEW,UAAU,CAAC,CAAC;EAEtB,MAAMY,aAAa,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACtC,IAAI,CAACtB,UAAU,EAAE;IACjB,MAAMuB,IAAI,GAAGX,YAAY,CACtBY,GAAG,CAACP,GAAG,IAAI,IAAIA,GAAG,CAACG,KAAK,CAACK,WAAW,CAAC,CAAC,KAAK,IAAAC,gCAAe,EAACT,GAAG,CAACU,SAAS,CAAC,IAAIV,GAAG,CAACC,OAAO,EAAE,CAAC,CAC3FU,IAAI,CAAC,IAAI,CAAC;IACb5B,UAAU,CAACuB,IAAI,CAAC;EAClB,CAAC,EAAE,CAACX,YAAY,EAAEZ,UAAU,CAAC,CAAC;EAE9B,MAAM6B,cAAc,GAAG,IAAAP,kBAAW,EAC/BC,IAAY,IAAK;IAChB,IAAIvB,UAAU,EAAE;MACdA,UAAU,CAACuB,IAAI,CAAC;IAClB;EACF,CAAC,EACD,CAACvB,UAAU,CACb,CAAC;EAED,MAAM8B,UAAU,GAAG,IAAAR,kBAAW,EAC5B,CAAC;IAAES;EAAyB,CAAC,kBAC3B,IAAAtD,WAAA,CAAAuD,GAAA,EAACzD,QAAA,CAAA0D,OAAO;IACNF,IAAI,EAAEA,IAAK;IACXG,MAAM,EAAElC,UAAU,GAAG6B,cAAc,GAAGM,SAAU;IAChDlC,YAAY,EAAEA,YAAa;IAC3BC,MAAM,EAAEC;EAAW,CACpB,CACF,EACD,CAAC0B,cAAc,EAAE7B,UAAU,EAAEG,UAAU,CACzC,CAAC;EAED,MAAMiC,YAAY,GAAG,IAAAd,kBAAW,EAAES,IAAc,IAAKA,IAAI,CAACM,EAAE,EAAE,EAAE,CAAC;EAEjE,oBACE,IAAA5D,WAAA,CAAA6D,IAAA,EAAClE,YAAA,CAAAmE,IAAI;IAACC,MAAM,EAAEC,kBAAO,CAACC,OAAO,CAACC,SAAU;IAACC,KAAK,EAAEtC,CAAC,CAACqC,SAAU;IAAAE,QAAA,gBAC1D,IAAApE,WAAA,CAAA6D,IAAA,EAAClE,YAAA,CAAAmE,IAAI;MAACK,KAAK,EAAEtC,CAAC,CAACwC,eAAgB;MAAAD,QAAA,gBAC7B,IAAApE,WAAA,CAAA6D,IAAA,EAAClE,YAAA,CAAAmE,IAAI;QAACK,KAAK,EAAEtC,CAAC,CAACyC,kBAAmB;QAAAF,QAAA,gBAChC,IAAApE,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAA4E,IAAI;UAACJ,KAAK,EAAEtC,CAAC,CAAC2C,UAAW;UAAAJ,QAAA,EAAC;QAAC,CAAM,CAAC,eACnC,IAAApE,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAA8E,SAAS;UACRV,MAAM,EAAEC,kBAAO,CAACC,OAAO,CAACS,WAAY;UACpCP,KAAK,EAAEtC,CAAC,CAAC6C,WAAY;UACrBC,WAAW,EAAC,gBAAgB;UAC5BC,oBAAoB,EAAEjD,KAAK,CAACkD,SAAU;UACtCC,KAAK,EAAE9C,UAAW;UAClB+C,YAAY,EAAE9C,aAAc;UAC5B+C,cAAc,EAAC,MAAM;UACrBC,WAAW,EAAE,KAAM;UACnBC,eAAe,EAAC,eAAe;UAC/BC,aAAa,EAAC;QAAQ,CACvB,CAAC;MAAA,CACE,CAAC,EACN5D,UAAU,iBACT,IAAAvB,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAAyF,gBAAgB;QACfrB,MAAM,EAAEC,kBAAO,CAACC,OAAO,CAACoB,UAAW;QACnClB,KAAK,EAAEtC,CAAC,CAACyD,aAAc;QACvBC,OAAO,EAAE3C,aAAc;QACvB4C,aAAa,EAAE,GAAI;QAAApB,QAAA,eAEnB,IAAApE,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAA4E,IAAI;UAACJ,KAAK,EAAEtC,CAAC,CAAC4D,WAAY;UAAArB,QAAA,EAAC;QAAQ,CAAM;MAAC,CAC3B,CACnB;IAAA,CACG,CAAC,eAEP,IAAApE,WAAA,CAAA6D,IAAA,EAAClE,YAAA,CAAAmE,IAAI;MAACC,MAAM,EAAEC,kBAAO,CAACC,OAAO,CAACyB,QAAS;MAACvB,KAAK,EAAEtC,CAAC,CAAC8D,QAAS;MAAAvB,QAAA,gBACxD,IAAApE,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAA4E,IAAI;QAACJ,KAAK,EAAEtC,CAAC,CAAC+D,SAAU;QAAAxB,QAAA,EACtBjC,YAAY,CAAC0D,MAAM,KAAKxE,IAAI,CAACwE,MAAM,GAChC,GAAGxE,IAAI,CAACwE,MAAM,OAAOxE,IAAI,CAACwE,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,GACnD,GAAG1D,YAAY,CAAC0D,MAAM,OAAOxE,IAAI,CAACwE,MAAM;MAAO,CAC/C,CAAC,eACP,IAAA7F,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAA4E,IAAI;QAACJ,KAAK,EAAEtC,CAAC,CAACiE,QAAS;QAAA1B,QAAA,EAAC;MAAiB,CAAM,CAAC;IAAA,CAC7C,CAAC,eAEP,IAAApE,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAAoG,QAAQ;MACPhC,MAAM,EAAEC,kBAAO,CAACC,OAAO,CAAC+B,IAAK;MAC7BC,IAAI,EAAE9D,YAAa;MACnBkB,UAAU,EAAEA,UAAW;MACvBM,YAAY,EAAEA,YAAa;MAC3BuC,UAAU,EAAE,KAAM;MAClB5E,SAAS,EAAEA,SAAU;MACrB6C,KAAK,EAAEtC,CAAC,CAACmE,IAAK;MACdG,qBAAqB,EAAEhE,YAAY,CAAC0D,MAAM,KAAK,CAAC,GAAGhE,CAAC,CAACuE,cAAc,GAAG1C,SAAU;MAChF2C,kBAAkB,eAChB,IAAArG,WAAA,CAAA6D,IAAA,EAAClE,YAAA,CAAAmE,IAAI;QAACK,KAAK,EAAEtC,CAAC,CAACyE,UAAW;QAAAlC,QAAA,gBACxB,IAAApE,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAA4E,IAAI;UAACJ,KAAK,EAAEtC,CAAC,CAAC0E,SAAU;UAAAnC,QAAA,EAAC;QAAE,CAAM,CAAC,eACnC,IAAApE,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAA4E,IAAI;UAACJ,KAAK,EAAEtC,CAAC,CAAC2E,UAAW;UAAApC,QAAA,EAAC;QAAW,CAAM,CAAC,eAC7C,IAAApE,WAAA,CAAAuD,GAAA,EAAC5D,YAAA,CAAA4E,IAAI;UAACJ,KAAK,EAAEtC,CAAC,CAAC4E,aAAc;UAAArC,QAAA,EAAC;QAA+B,CAAM,CAAC;MAAA,CAChE,CACP;MACDsC,mBAAmB,EAAE,EAAG;MACxBC,UAAU,EAAE,EAAG;MACfC,kBAAkB,EAAE,EAAG;MACvBC,qBAAqB,EAAE,IAAK;MAC5BC,aAAa,EAAEpD;IAAU,CAC1B,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;;AAED;AAAAqD,OAAA,CAAA3F,OAAA,GAAAA,OAAA;AAEA,MAAMW,YAAY,GAAI7B,CAAiB,IACrC8G,uBAAU,CAACC,MAAM,CAAC;EAChB/C,SAAS,EAAE;IAAEgD,IAAI,EAAE;EAAE,CAAC;EACtB7C,eAAe,EAAE;IACf8C,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,GAAG,EAAE,EAAE;IACPC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAEvH,CAAC,CAACwH;EACvB,CAAC;EACDpD,kBAAkB,EAAE;IAClB4C,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBO,eAAe,EAAEzH,CAAC,CAAC0H,eAAe;IAClCC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE7H,CAAC,CAACwH,MAAM;IACrBL,iBAAiB,EAAE,EAAE;IACrBW,MAAM,EAAE;EACV,CAAC;EACDxD,UAAU,EAAE;IAAEyD,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAEhI,CAAC,CAAC2E,SAAS;IAAEsD,WAAW,EAAE;EAAE,CAAC;EAChEzD,WAAW,EAAE;IACXwC,IAAI,EAAE,CAAC;IACPkB,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEhI,CAAC,CAAC4C,IAAI;IACbwF,OAAO,EAAE;EACX,CAAC;EACDhD,aAAa,EAAE;IACbqC,eAAe,EAAEzH,CAAC,CAACqI,SAAS;IAC5BV,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE7H,CAAC,CAACsI,MAAM;IACrBnB,iBAAiB,EAAE,EAAE;IACrBW,MAAM,EAAE,EAAE;IACVS,cAAc,EAAE;EAClB,CAAC;EACDhD,WAAW,EAAE;IACX2C,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZS,UAAU,EAAE,KAAK;IACjBR,KAAK,EAAEhI,CAAC,CAACsI,MAAM;IACfG,aAAa,EAAE;EACjB,CAAC;EACDhD,QAAQ,EAAE;IACRwB,aAAa,EAAE,KAAK;IACpBsB,cAAc,EAAE,eAAe;IAC/BrB,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClBK,eAAe,EAAEzH,CAAC,CAAC0I;EACrB,CAAC;EACDhD,SAAS,EAAE;IAAEwC,UAAU,EAAEC,wBAAa;IAAEJ,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAEhI,CAAC,CAAC2E;EAAU,CAAC;EAC1EiB,QAAQ,EAAE;IACRsC,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEhI,CAAC,CAAC2E,SAAS;IAClBgE,SAAS,EAAE;EACb,CAAC;EACD7C,IAAI,EAAE;IAAEkB,IAAI,EAAE;EAAE,CAAC;EACjBd,cAAc,EAAE;IAAEc,IAAI,EAAE,CAAC;IAAEuB,cAAc,EAAE;EAAS,CAAC;EACrDnC,UAAU,EAAE;IAAEc,UAAU,EAAE,QAAQ;IAAEqB,cAAc,EAAE,QAAQ;IAAEH,OAAO,EAAE;EAAG,CAAC;EAC3E/B,SAAS,EAAE;IAAE0B,QAAQ,EAAE,EAAE;IAAEa,YAAY,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAI,CAAC;EAC3DvC,UAAU,EAAE;IACV4B,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZS,UAAU,EAAE,KAAK;IACjBR,KAAK,EAAEhI,CAAC,CAAC8I,aAAa;IACtBF,YAAY,EAAE;EAChB,CAAC;EACDrC,aAAa,EAAE;IACb2B,UAAU,EAAEC,wBAAa;IACzBJ,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEhI,CAAC,CAAC2E,SAAS;IAClBoE,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|