@buoy-gg/highlight-updates 7.0.33 → 7.0.35
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/lib/commonjs/highlight-updates/HighlightUpdatesOverlay.js +1 -1
- package/lib/commonjs/highlight-updates/components/HighlightFilterView.js +6 -6
- package/lib/commonjs/highlight-updates/components/IdentifierBadge.js +2 -2
- package/lib/commonjs/highlight-updates/components/ModalHeaderContent.js +17 -56
- package/lib/commonjs/highlight-updates/components/RenderCauseBadge.js +7 -7
- package/lib/commonjs/highlight-updates/components/RenderDetailView.js +6 -6
- package/lib/commonjs/highlight-updates/components/RenderHistoryViewer.js +8 -8
- package/lib/commonjs/highlight-updates/components/RenderListItem.js +2 -2
- package/lib/commonjs/highlight-updates/components/RendersCopySettingsView.js +29 -136
- package/lib/commonjs/highlight-updates/components/StatsDisplay.js +1 -1
- package/lib/commonjs/highlight-updates/utils/copySettingsStorage.js +11 -28
- package/lib/module/highlight-updates/HighlightUpdatesOverlay.js +2 -2
- package/lib/module/highlight-updates/components/HighlightFilterView.js +7 -7
- package/lib/module/highlight-updates/components/IdentifierBadge.js +3 -3
- package/lib/module/highlight-updates/components/ModalHeaderContent.js +19 -58
- package/lib/module/highlight-updates/components/RenderCauseBadge.js +8 -8
- package/lib/module/highlight-updates/components/RenderDetailView.js +7 -7
- package/lib/module/highlight-updates/components/RenderHistoryViewer.js +9 -9
- package/lib/module/highlight-updates/components/RenderListItem.js +3 -3
- package/lib/module/highlight-updates/components/RendersCopySettingsView.js +32 -139
- package/lib/module/highlight-updates/components/StatsDisplay.js +2 -2
- package/lib/module/highlight-updates/utils/copySettingsStorage.js +12 -29
- package/lib/typescript/highlight-updates/components/HighlightFilterView.d.ts.map +1 -1
- package/lib/typescript/highlight-updates/components/IdentifierBadge.d.ts.map +1 -1
- package/lib/typescript/highlight-updates/components/ModalHeaderContent.d.ts.map +1 -1
- package/lib/typescript/highlight-updates/components/RenderDetailView.d.ts.map +1 -1
- package/lib/typescript/highlight-updates/components/RenderHistoryViewer.d.ts.map +1 -1
- package/lib/typescript/highlight-updates/components/RendersCopySettingsView.d.ts.map +1 -1
- package/lib/typescript/highlight-updates/utils/copySettingsStorage.d.ts +2 -1
- package/lib/typescript/highlight-updates/utils/copySettingsStorage.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import React, { useState, useCallback } from "react";
|
|
12
12
|
import { View, Text, TouchableOpacity, TextInput, StyleSheet, ScrollView, Modal, Pressable, Switch } from "react-native";
|
|
13
|
-
import { Eye, Filter, Plus, X, Box, Settings, Hash, SectionHeader, night } from "@buoy-gg/shared-ui";
|
|
13
|
+
import { Eye, Filter, Plus, X, Box, Settings, Hash, SectionHeader, night, monoFont } from "@buoy-gg/shared-ui";
|
|
14
14
|
import { IdentifierBadge, IDENTIFIER_CONFIG } from "./IdentifierBadge";
|
|
15
15
|
import { detectedItemTestID, patternChipTestID, settingTestID } from "../utils/testIDs";
|
|
16
16
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -1095,7 +1095,7 @@ const styles = StyleSheet.create({
|
|
|
1095
1095
|
patternChipValue: {
|
|
1096
1096
|
fontSize: 11,
|
|
1097
1097
|
color: night.color.text,
|
|
1098
|
-
fontFamily:
|
|
1098
|
+
fontFamily: monoFont,
|
|
1099
1099
|
flexShrink: 1
|
|
1100
1100
|
},
|
|
1101
1101
|
patternChipX: {
|
|
@@ -1238,7 +1238,7 @@ const styles = StyleSheet.create({
|
|
|
1238
1238
|
detectedItemText: {
|
|
1239
1239
|
fontSize: 11,
|
|
1240
1240
|
color: night.color.text,
|
|
1241
|
-
fontFamily:
|
|
1241
|
+
fontFamily: monoFont
|
|
1242
1242
|
},
|
|
1243
1243
|
emptyText: {
|
|
1244
1244
|
fontSize: 11,
|
|
@@ -1256,7 +1256,7 @@ const styles = StyleSheet.create({
|
|
|
1256
1256
|
fontSize: 11,
|
|
1257
1257
|
color: night.color.textTertiary,
|
|
1258
1258
|
lineHeight: 18,
|
|
1259
|
-
fontFamily:
|
|
1259
|
+
fontFamily: monoFont
|
|
1260
1260
|
},
|
|
1261
1261
|
howItWorksBold: {
|
|
1262
1262
|
fontWeight: "700",
|
|
@@ -1356,7 +1356,7 @@ const styles = StyleSheet.create({
|
|
|
1356
1356
|
fontSize: 12,
|
|
1357
1357
|
fontWeight: "700",
|
|
1358
1358
|
color: night.color.textTertiary,
|
|
1359
|
-
fontFamily:
|
|
1359
|
+
fontFamily: monoFont
|
|
1360
1360
|
},
|
|
1361
1361
|
settingDescription: {
|
|
1362
1362
|
fontSize: 11,
|
|
@@ -1399,7 +1399,7 @@ const styles = StyleSheet.create({
|
|
|
1399
1399
|
fontSize: 12,
|
|
1400
1400
|
fontWeight: "500",
|
|
1401
1401
|
color: night.color.textSecondary,
|
|
1402
|
-
fontFamily:
|
|
1402
|
+
fontFamily: monoFont
|
|
1403
1403
|
},
|
|
1404
1404
|
batchSizePresetTextActive: {
|
|
1405
1405
|
color: night.color.textTertiary,
|
|
@@ -1438,7 +1438,7 @@ const styles = StyleSheet.create({
|
|
|
1438
1438
|
fontSize: 14,
|
|
1439
1439
|
fontWeight: "600",
|
|
1440
1440
|
color: night.color.text,
|
|
1441
|
-
fontFamily:
|
|
1441
|
+
fontFamily: monoFont,
|
|
1442
1442
|
textAlign: "center"
|
|
1443
1443
|
},
|
|
1444
1444
|
renderCountSeparator: {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
import React from "react";
|
|
11
11
|
import { View, Text, StyleSheet } from "react-native";
|
|
12
|
-
import { Box, Hash, Layers, Eye, Search, FileCode, buoyColors, night } from "@buoy-gg/shared-ui";
|
|
12
|
+
import { Box, Hash, Layers, Eye, Search, FileCode, buoyColors, night, monoFont } from "@buoy-gg/shared-ui";
|
|
13
13
|
|
|
14
14
|
// All possible identifier types
|
|
15
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -198,7 +198,7 @@ const styles = StyleSheet.create({
|
|
|
198
198
|
value: {
|
|
199
199
|
fontSize: 12,
|
|
200
200
|
color: night.color.text,
|
|
201
|
-
fontFamily:
|
|
201
|
+
fontFamily: monoFont,
|
|
202
202
|
flex: 1
|
|
203
203
|
},
|
|
204
204
|
valueCompact: {
|
|
@@ -231,7 +231,7 @@ const styles = StyleSheet.create({
|
|
|
231
231
|
// Value only
|
|
232
232
|
valueOnly: {
|
|
233
233
|
fontSize: 12,
|
|
234
|
-
fontFamily:
|
|
234
|
+
fontFamily: monoFont
|
|
235
235
|
},
|
|
236
236
|
valueOnlyCompact: {
|
|
237
237
|
fontSize: 11
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import React, { memo } from "react";
|
|
13
|
-
import {
|
|
14
|
-
import { Trash2, Search, Filter,
|
|
13
|
+
import { TouchableOpacity, StyleSheet } from "react-native";
|
|
14
|
+
import { Trash2, Search, Filter, Pause, Copy, ModalHeader, TabSelector, night, PowerToggleButton } from "@buoy-gg/shared-ui";
|
|
15
15
|
import { StatsDisplay } from "./StatsDisplay";
|
|
16
16
|
|
|
17
17
|
// ============================================================================
|
|
@@ -25,41 +25,23 @@ const SearchSectionInner = /*#__PURE__*/memo(function SearchSection({
|
|
|
25
25
|
onSearchClose
|
|
26
26
|
}) {
|
|
27
27
|
if (!isActive) return null;
|
|
28
|
-
return /*#__PURE__*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
autoCapitalize: "none",
|
|
46
|
-
autoCorrect: false,
|
|
47
|
-
returnKeyType: "search",
|
|
48
|
-
autoFocus: true
|
|
49
|
-
}), searchText.length > 0 ? /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
50
|
-
testID: "buoy-highlight-search-clear",
|
|
51
|
-
accessibilityRole: "button",
|
|
52
|
-
accessibilityLabel: "Clear search",
|
|
53
|
-
onPress: () => {
|
|
54
|
-
onSearchChange("");
|
|
55
|
-
onSearchClose();
|
|
56
|
-
},
|
|
57
|
-
style: styles.headerSearchClear,
|
|
58
|
-
children: /*#__PURE__*/_jsx(X, {
|
|
59
|
-
size: 14,
|
|
60
|
-
color: night.color.textSecondary
|
|
61
|
-
})
|
|
62
|
-
}) : null]
|
|
28
|
+
return /*#__PURE__*/_jsx(ModalHeader.Search, {
|
|
29
|
+
value: searchText,
|
|
30
|
+
onChangeText: onSearchChange,
|
|
31
|
+
onCancel: () => {
|
|
32
|
+
onSearchChange("");
|
|
33
|
+
onSearchClose();
|
|
34
|
+
},
|
|
35
|
+
onDismiss: onSearchClose,
|
|
36
|
+
dismissOnBlur: true,
|
|
37
|
+
clearOnlyWhenText: true,
|
|
38
|
+
placeholder: "Search testID, nativeID, component...",
|
|
39
|
+
accessibilityLabel: "Search renders",
|
|
40
|
+
iconSize: 14,
|
|
41
|
+
testID: "buoy-highlight-search-field",
|
|
42
|
+
containerTestID: "buoy-highlight-search-container",
|
|
43
|
+
containerNativeID: "__rn_buoy__search-container",
|
|
44
|
+
clearTestID: "buoy-highlight-search-clear"
|
|
63
45
|
});
|
|
64
46
|
});
|
|
65
47
|
export const SearchSection = SearchSectionInner;
|
|
@@ -282,27 +264,6 @@ export const CopySettingsViewHeader = /*#__PURE__*/memo(function CopySettingsVie
|
|
|
282
264
|
// ============================================================================
|
|
283
265
|
|
|
284
266
|
const styles = StyleSheet.create({
|
|
285
|
-
headerSearchContainer: {
|
|
286
|
-
flexDirection: "row",
|
|
287
|
-
alignItems: "center",
|
|
288
|
-
backgroundColor: night.color.surfaceElevated,
|
|
289
|
-
borderRadius: 10,
|
|
290
|
-
borderWidth: 1,
|
|
291
|
-
borderColor: night.color.border,
|
|
292
|
-
paddingHorizontal: 12,
|
|
293
|
-
paddingVertical: 5
|
|
294
|
-
},
|
|
295
|
-
headerSearchInput: {
|
|
296
|
-
flex: 1,
|
|
297
|
-
color: night.color.text,
|
|
298
|
-
fontSize: 13,
|
|
299
|
-
marginLeft: 6,
|
|
300
|
-
paddingVertical: 2
|
|
301
|
-
},
|
|
302
|
-
headerSearchClear: {
|
|
303
|
-
marginLeft: 6,
|
|
304
|
-
padding: 4
|
|
305
|
-
},
|
|
306
267
|
headerActionButton: {
|
|
307
268
|
width: 32,
|
|
308
269
|
height: 32,
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
import React from "react";
|
|
15
15
|
import { View, Text, StyleSheet } from "react-native";
|
|
16
|
-
import { buoyColors, night } from "@buoy-gg/shared-ui";
|
|
16
|
+
import { buoyColors, night, monoFont } from "@buoy-gg/shared-ui";
|
|
17
17
|
|
|
18
18
|
// Badge configuration for each cause type
|
|
19
19
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -367,7 +367,7 @@ const styles = StyleSheet.create({
|
|
|
367
367
|
keysText: {
|
|
368
368
|
fontSize: 11,
|
|
369
369
|
color: night.color.textSecondary,
|
|
370
|
-
fontFamily:
|
|
370
|
+
fontFamily: monoFont,
|
|
371
371
|
flex: 1
|
|
372
372
|
},
|
|
373
373
|
keysTextCompact: {
|
|
@@ -393,7 +393,7 @@ const styles = StyleSheet.create({
|
|
|
393
393
|
fontSize: 11,
|
|
394
394
|
fontWeight: "600",
|
|
395
395
|
color: night.color.text,
|
|
396
|
-
fontFamily:
|
|
396
|
+
fontFamily: monoFont
|
|
397
397
|
},
|
|
398
398
|
twoLevelText: {
|
|
399
399
|
fontSize: 11,
|
|
@@ -402,7 +402,7 @@ const styles = StyleSheet.create({
|
|
|
402
402
|
twoLevelKeys: {
|
|
403
403
|
fontSize: 10,
|
|
404
404
|
color: night.color.textSecondary,
|
|
405
|
-
fontFamily:
|
|
405
|
+
fontFamily: monoFont
|
|
406
406
|
},
|
|
407
407
|
// Enhanced cause display styles (Phase 5)
|
|
408
408
|
enhancedContainer: {
|
|
@@ -418,7 +418,7 @@ const styles = StyleSheet.create({
|
|
|
418
418
|
fontSize: 14,
|
|
419
419
|
fontWeight: "700",
|
|
420
420
|
color: night.color.text,
|
|
421
|
-
fontFamily:
|
|
421
|
+
fontFamily: monoFont
|
|
422
422
|
},
|
|
423
423
|
enhancedNativeTag: {
|
|
424
424
|
// Inset display chip — the night track color.
|
|
@@ -431,7 +431,7 @@ const styles = StyleSheet.create({
|
|
|
431
431
|
fontSize: 10,
|
|
432
432
|
fontWeight: "600",
|
|
433
433
|
color: night.color.textTertiary,
|
|
434
|
-
fontFamily:
|
|
434
|
+
fontFamily: monoFont
|
|
435
435
|
},
|
|
436
436
|
enhancedFlowContainer: {
|
|
437
437
|
flexDirection: "row",
|
|
@@ -480,13 +480,13 @@ const styles = StyleSheet.create({
|
|
|
480
480
|
enhancedChangeIcon: {
|
|
481
481
|
fontSize: 12,
|
|
482
482
|
color: night.color.warning,
|
|
483
|
-
fontFamily:
|
|
483
|
+
fontFamily: monoFont,
|
|
484
484
|
width: 16
|
|
485
485
|
},
|
|
486
486
|
enhancedChangeText: {
|
|
487
487
|
fontSize: 12,
|
|
488
488
|
color: night.color.text,
|
|
489
|
-
fontFamily:
|
|
489
|
+
fontFamily: monoFont,
|
|
490
490
|
flex: 1
|
|
491
491
|
},
|
|
492
492
|
enhancedNoChanges: {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
import React, { useMemo, useState, useCallback } from "react";
|
|
16
16
|
import { View, Text, TouchableOpacity, ScrollView, StyleSheet } from "react-native";
|
|
17
|
-
import { CopyButton, formatRelativeTime, PlusIcon, MinusIcon, EventStepperFooter, Lock, night, useLimit } from "@buoy-gg/shared-ui";
|
|
17
|
+
import { CopyButton, formatRelativeTime, PlusIcon, MinusIcon, EventStepperFooter, Lock, night, useLimit, monoFont } from "@buoy-gg/shared-ui";
|
|
18
18
|
import { TreeDiffViewer } from "@buoy-gg/shared-ui/dataViewer";
|
|
19
19
|
import { CAUSE_CONFIG, COMPONENT_CAUSE_CONFIG } from "./RenderCauseBadge";
|
|
20
20
|
import { generateSingleComponentExport } from "../utils/rendersExportFormatter";
|
|
@@ -573,7 +573,7 @@ const styles = StyleSheet.create({
|
|
|
573
573
|
fontSize: 11,
|
|
574
574
|
fontWeight: "600",
|
|
575
575
|
color: night.color.textTertiary,
|
|
576
|
-
fontFamily:
|
|
576
|
+
fontFamily: monoFont
|
|
577
577
|
},
|
|
578
578
|
// Answer Card
|
|
579
579
|
answerCard: {
|
|
@@ -628,7 +628,7 @@ const styles = StyleSheet.create({
|
|
|
628
628
|
propChangeText: {
|
|
629
629
|
fontSize: 11,
|
|
630
630
|
color: night.color.text,
|
|
631
|
-
fontFamily:
|
|
631
|
+
fontFamily: monoFont
|
|
632
632
|
},
|
|
633
633
|
// Details Section
|
|
634
634
|
detailsSection: {
|
|
@@ -664,7 +664,7 @@ const styles = StyleSheet.create({
|
|
|
664
664
|
detailValue: {
|
|
665
665
|
fontSize: 12,
|
|
666
666
|
color: night.color.text,
|
|
667
|
-
fontFamily:
|
|
667
|
+
fontFamily: monoFont,
|
|
668
668
|
flex: 1
|
|
669
669
|
},
|
|
670
670
|
// Stats Row
|
|
@@ -687,7 +687,7 @@ const styles = StyleSheet.create({
|
|
|
687
687
|
fontSize: 16,
|
|
688
688
|
fontWeight: "700",
|
|
689
689
|
color: night.color.text,
|
|
690
|
-
fontFamily:
|
|
690
|
+
fontFamily: monoFont
|
|
691
691
|
},
|
|
692
692
|
statLabel: {
|
|
693
693
|
fontSize: 10,
|
|
@@ -727,7 +727,7 @@ const styles = StyleSheet.create({
|
|
|
727
727
|
fontSize: 12,
|
|
728
728
|
fontWeight: "600",
|
|
729
729
|
color: night.color.text,
|
|
730
|
-
fontFamily:
|
|
730
|
+
fontFamily: monoFont
|
|
731
731
|
},
|
|
732
732
|
// Quick Actions Section
|
|
733
733
|
quickActionsSection: {
|
|
@@ -776,7 +776,7 @@ const styles = StyleSheet.create({
|
|
|
776
776
|
filterOptionValue: {
|
|
777
777
|
fontSize: 12,
|
|
778
778
|
color: night.color.text,
|
|
779
|
-
fontFamily:
|
|
779
|
+
fontFamily: monoFont,
|
|
780
780
|
flex: 1
|
|
781
781
|
},
|
|
782
782
|
filterOptionValueSelected: {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import React, { useState, useCallback, useMemo } from "react";
|
|
12
12
|
import { View, Text, TouchableOpacity, ScrollView, StyleSheet } from "react-native";
|
|
13
|
-
import { Clock, GitBranch, Database, Lock, formatRelativeTime, SectionHeader, EventStepperFooter, buoyColors, night, useLimit, ToolEmptyState } from "@buoy-gg/shared-ui";
|
|
13
|
+
import { Clock, GitBranch, Database, Lock, formatRelativeTime, SectionHeader, EventStepperFooter, buoyColors, night, useLimit, ToolEmptyState, monoFont } from "@buoy-gg/shared-ui";
|
|
14
14
|
import { TreeDiffViewer } from "@buoy-gg/shared-ui/dataViewer";
|
|
15
15
|
import { RenderTracker } from "../utils/RenderTracker";
|
|
16
16
|
import { EnhancedCauseDisplay, CAUSE_CONFIG } from "./RenderCauseBadge";
|
|
@@ -628,7 +628,7 @@ const styles = StyleSheet.create({
|
|
|
628
628
|
eventTime: {
|
|
629
629
|
fontSize: 11,
|
|
630
630
|
color: night.color.textTertiary,
|
|
631
|
-
fontFamily:
|
|
631
|
+
fontFamily: monoFont
|
|
632
632
|
},
|
|
633
633
|
eventBadge: {
|
|
634
634
|
flexDirection: "row",
|
|
@@ -646,7 +646,7 @@ const styles = StyleSheet.create({
|
|
|
646
646
|
eventBadgeText: {
|
|
647
647
|
fontSize: 10,
|
|
648
648
|
fontWeight: "700",
|
|
649
|
-
fontFamily:
|
|
649
|
+
fontFamily: monoFont
|
|
650
650
|
},
|
|
651
651
|
section: {
|
|
652
652
|
backgroundColor: night.color.surface,
|
|
@@ -675,7 +675,7 @@ const styles = StyleSheet.create({
|
|
|
675
675
|
changedItem: {
|
|
676
676
|
fontSize: 12,
|
|
677
677
|
color: night.color.text,
|
|
678
|
-
fontFamily:
|
|
678
|
+
fontFamily: monoFont,
|
|
679
679
|
marginBottom: 3,
|
|
680
680
|
paddingLeft: 8
|
|
681
681
|
},
|
|
@@ -684,7 +684,7 @@ const styles = StyleSheet.create({
|
|
|
684
684
|
},
|
|
685
685
|
propsJson: {
|
|
686
686
|
fontSize: 11,
|
|
687
|
-
fontFamily:
|
|
687
|
+
fontFamily: monoFont,
|
|
688
688
|
color: night.color.text,
|
|
689
689
|
// Inset code box — the night track color.
|
|
690
690
|
backgroundColor: night.color.bg,
|
|
@@ -738,7 +738,7 @@ const styles = StyleSheet.create({
|
|
|
738
738
|
compareTime: {
|
|
739
739
|
fontSize: 10,
|
|
740
740
|
color: night.color.textTertiary,
|
|
741
|
-
fontFamily:
|
|
741
|
+
fontFamily: monoFont
|
|
742
742
|
},
|
|
743
743
|
compareDivider: {
|
|
744
744
|
width: 30,
|
|
@@ -774,12 +774,12 @@ const styles = StyleSheet.create({
|
|
|
774
774
|
fontSize: 12,
|
|
775
775
|
fontWeight: "700",
|
|
776
776
|
color: night.color.warning,
|
|
777
|
-
fontFamily:
|
|
777
|
+
fontFamily: monoFont
|
|
778
778
|
},
|
|
779
779
|
diffChangeKey: {
|
|
780
780
|
fontSize: 12,
|
|
781
781
|
color: night.color.text,
|
|
782
|
-
fontFamily:
|
|
782
|
+
fontFamily: monoFont
|
|
783
783
|
},
|
|
784
784
|
diffNoChanges: {
|
|
785
785
|
fontSize: 12,
|
|
@@ -847,7 +847,7 @@ const styles = StyleSheet.create({
|
|
|
847
847
|
causeDiffValue: {
|
|
848
848
|
fontSize: 12,
|
|
849
849
|
color: night.color.text,
|
|
850
|
-
fontFamily:
|
|
850
|
+
fontFamily: monoFont,
|
|
851
851
|
fontWeight: "500"
|
|
852
852
|
},
|
|
853
853
|
diffChangesTitle: {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
import React, { useMemo } from "react";
|
|
11
11
|
import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
|
|
12
|
-
import { ChevronRight, night, useRelativeTime } from "@buoy-gg/shared-ui";
|
|
12
|
+
import { ChevronRight, night, useRelativeTime, monoFont } from "@buoy-gg/shared-ui";
|
|
13
13
|
import { IdentifierBadge } from "./IdentifierBadge";
|
|
14
14
|
import { RenderCauseBadge } from "./RenderCauseBadge";
|
|
15
15
|
import { renderRowTestID } from "../utils/testIDs";
|
|
@@ -190,7 +190,7 @@ const styles = StyleSheet.create({
|
|
|
190
190
|
nativeType: {
|
|
191
191
|
fontSize: 10,
|
|
192
192
|
color: night.color.textTertiary,
|
|
193
|
-
fontFamily:
|
|
193
|
+
fontFamily: monoFont,
|
|
194
194
|
marginTop: 1
|
|
195
195
|
},
|
|
196
196
|
accessibilityLabel: {
|
|
@@ -207,7 +207,7 @@ const styles = StyleSheet.create({
|
|
|
207
207
|
renderCount: {
|
|
208
208
|
fontSize: 11,
|
|
209
209
|
fontWeight: "700",
|
|
210
|
-
fontFamily:
|
|
210
|
+
fontFamily: monoFont
|
|
211
211
|
},
|
|
212
212
|
bottomRow: {
|
|
213
213
|
flexDirection: "row",
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
11
|
-
import { Text, StyleSheet, ScrollView
|
|
12
|
-
import { DynamicFilterView, macOSColors, night, FileText, FileCode, Zap, Settings, Eye,
|
|
11
|
+
import { Text, StyleSheet, ScrollView } from "react-native";
|
|
12
|
+
import { DynamicFilterView, macOSColors, night, FileText, FileCode, Zap, Settings, Eye, Layers, ToolbarCopyButton, ExportPreview, monoFont } from "@buoy-gg/shared-ui";
|
|
13
13
|
import { DEFAULT_COPY_SETTINGS, COPY_PRESETS, PRESET_METADATA, detectActivePreset } from "../types/copySettings";
|
|
14
14
|
import { generateExport, estimateExportSize, getExportSummary } from "../utils/rendersExportFormatter";
|
|
15
15
|
import { loadCopySettings, saveCopySettings } from "../utils/copySettingsStorage";
|
|
16
|
-
import { jsx as _jsx,
|
|
16
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
17
|
const SIZE_WARNING_THRESHOLD = 50 * 1024;
|
|
18
18
|
const SIZE_DANGER_THRESHOLD = 200 * 1024;
|
|
19
19
|
const CAUSE_OPTIONS = [{
|
|
@@ -191,77 +191,35 @@ export function RendersCopySettingsView({
|
|
|
191
191
|
totalComponents,
|
|
192
192
|
totalRenders
|
|
193
193
|
} = getExportSummary(previewRenders);
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
size: 16,
|
|
221
|
-
color: night.color.textTertiary
|
|
222
|
-
})]
|
|
194
|
+
return /*#__PURE__*/_jsx(ExportPreview, {
|
|
195
|
+
expanded: isPreviewExpanded,
|
|
196
|
+
onExpandedChange: setIsPreviewExpanded,
|
|
197
|
+
summary: `${totalComponents} component${totalComponents !== 1 ? "s" : ""} · ${totalRenders} renders · ~${formatBytes(estimatedSize)}${!hasLiveData ? " (mock data)" : ""}`,
|
|
198
|
+
warningLevel: sizeWarningLevel,
|
|
199
|
+
warningText: {
|
|
200
|
+
warning: "Large payload — preview may be slow",
|
|
201
|
+
danger: "Very large payload — try a smaller topN or turn off history"
|
|
202
|
+
},
|
|
203
|
+
testIDs: {
|
|
204
|
+
expand: "buoy-highlight-copy-preview-show",
|
|
205
|
+
collapse: "buoy-highlight-copy-preview-hide",
|
|
206
|
+
summary: "buoy-highlight-copy-preview-summary",
|
|
207
|
+
warning: "buoy-highlight-copy-size-warning"
|
|
208
|
+
},
|
|
209
|
+
renderBody: () => {
|
|
210
|
+
const exportText = generateCopyText();
|
|
211
|
+
return /*#__PURE__*/_jsx(ScrollView, {
|
|
212
|
+
testID: "buoy-highlight-copy-preview-scroll",
|
|
213
|
+
style: styles.previewScroll,
|
|
214
|
+
nestedScrollEnabled: true,
|
|
215
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
216
|
+
testID: "buoy-highlight-copy-preview-text",
|
|
217
|
+
style: styles.previewText,
|
|
218
|
+
selectable: true,
|
|
219
|
+
children: exportText
|
|
223
220
|
})
|
|
224
|
-
})
|
|
225
|
-
|
|
226
|
-
style: [styles.sizeWarning, sizeWarningLevel === "danger" && styles.sizeWarningDanger],
|
|
227
|
-
children: [/*#__PURE__*/_jsx(AlertTriangle, {
|
|
228
|
-
size: 12,
|
|
229
|
-
color: warningColor
|
|
230
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
231
|
-
style: [styles.sizeWarningText, {
|
|
232
|
-
color: warningColor
|
|
233
|
-
}],
|
|
234
|
-
children: sizeWarningLevel === "danger" ? "Very large payload — try a smaller topN or turn off history" : "Large payload — preview may be slow"
|
|
235
|
-
})]
|
|
236
|
-
})]
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
const exportText = generateCopyText();
|
|
240
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
241
|
-
children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
242
|
-
testID: "buoy-highlight-copy-preview-hide",
|
|
243
|
-
accessibilityRole: "button",
|
|
244
|
-
accessibilityLabel: "Hide preview",
|
|
245
|
-
style: styles.collapseButton,
|
|
246
|
-
onPress: () => setIsPreviewExpanded(false),
|
|
247
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
248
|
-
style: styles.collapseButtonText,
|
|
249
|
-
children: "Hide Preview"
|
|
250
|
-
}), /*#__PURE__*/_jsx(ChevronUp, {
|
|
251
|
-
size: 14,
|
|
252
|
-
color: night.color.textSecondary
|
|
253
|
-
})]
|
|
254
|
-
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
255
|
-
testID: "buoy-highlight-copy-preview-scroll",
|
|
256
|
-
style: styles.previewScroll,
|
|
257
|
-
nestedScrollEnabled: true,
|
|
258
|
-
children: /*#__PURE__*/_jsx(Text, {
|
|
259
|
-
testID: "buoy-highlight-copy-preview-text",
|
|
260
|
-
style: styles.previewText,
|
|
261
|
-
selectable: true,
|
|
262
|
-
children: exportText
|
|
263
|
-
})
|
|
264
|
-
})]
|
|
221
|
+
});
|
|
222
|
+
}
|
|
265
223
|
});
|
|
266
224
|
}, [isPreviewExpanded, previewRenders, estimatedSize, sizeWarningLevel, hasLiveData, generateCopyText]);
|
|
267
225
|
const renderPreviewHeaderActions = useCallback(() => {
|
|
@@ -486,76 +444,11 @@ export function RendersCopySettingsView({
|
|
|
486
444
|
});
|
|
487
445
|
}
|
|
488
446
|
const styles = StyleSheet.create({
|
|
489
|
-
collapsedPreview: {
|
|
490
|
-
gap: 8
|
|
491
|
-
},
|
|
492
|
-
expandButton: {
|
|
493
|
-
backgroundColor: night.color.surfaceElevated,
|
|
494
|
-
borderRadius: 8,
|
|
495
|
-
borderWidth: 1,
|
|
496
|
-
borderColor: night.color.border,
|
|
497
|
-
padding: 12
|
|
498
|
-
},
|
|
499
|
-
expandButtonContent: {
|
|
500
|
-
flexDirection: "row",
|
|
501
|
-
alignItems: "center",
|
|
502
|
-
gap: 10
|
|
503
|
-
},
|
|
504
|
-
expandButtonTextContainer: {
|
|
505
|
-
flex: 1
|
|
506
|
-
},
|
|
507
|
-
expandButtonTitle: {
|
|
508
|
-
fontSize: 13,
|
|
509
|
-
fontWeight: "600",
|
|
510
|
-
color: night.color.text
|
|
511
|
-
},
|
|
512
|
-
expandButtonSubtitle: {
|
|
513
|
-
fontSize: 11,
|
|
514
|
-
color: night.color.textSecondary,
|
|
515
|
-
marginTop: 2
|
|
516
|
-
},
|
|
517
|
-
collapseButton: {
|
|
518
|
-
flexDirection: "row",
|
|
519
|
-
alignItems: "center",
|
|
520
|
-
justifyContent: "center",
|
|
521
|
-
gap: 6,
|
|
522
|
-
paddingVertical: 8,
|
|
523
|
-
marginBottom: 8,
|
|
524
|
-
backgroundColor: night.color.surfaceElevated,
|
|
525
|
-
borderRadius: 6,
|
|
526
|
-
borderWidth: 1,
|
|
527
|
-
borderColor: night.color.border
|
|
528
|
-
},
|
|
529
|
-
collapseButtonText: {
|
|
530
|
-
fontSize: 12,
|
|
531
|
-
fontWeight: "500",
|
|
532
|
-
color: night.color.textSecondary
|
|
533
|
-
},
|
|
534
|
-
sizeWarning: {
|
|
535
|
-
flexDirection: "row",
|
|
536
|
-
alignItems: "center",
|
|
537
|
-
gap: 6,
|
|
538
|
-
paddingHorizontal: 10,
|
|
539
|
-
paddingVertical: 6,
|
|
540
|
-
backgroundColor: night.color.warningSoft,
|
|
541
|
-
borderRadius: 6,
|
|
542
|
-
borderWidth: 1,
|
|
543
|
-
borderColor: night.color.warning + "30"
|
|
544
|
-
},
|
|
545
|
-
sizeWarningDanger: {
|
|
546
|
-
backgroundColor: night.color.dangerSoft,
|
|
547
|
-
borderColor: night.color.danger + "30"
|
|
548
|
-
},
|
|
549
|
-
sizeWarningText: {
|
|
550
|
-
fontSize: 11,
|
|
551
|
-
fontWeight: "500",
|
|
552
|
-
flex: 1
|
|
553
|
-
},
|
|
554
447
|
previewScroll: {
|
|
555
448
|
maxHeight: 360
|
|
556
449
|
},
|
|
557
450
|
previewText: {
|
|
558
|
-
fontFamily:
|
|
451
|
+
fontFamily: monoFont,
|
|
559
452
|
fontSize: 11,
|
|
560
453
|
color: night.color.text,
|
|
561
454
|
lineHeight: 18
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
import React, { useState, useEffect, memo } from "react";
|
|
14
14
|
import { View, Text, StyleSheet } from "react-native";
|
|
15
|
-
import { Activity, night } from "@buoy-gg/shared-ui";
|
|
15
|
+
import { Activity, night, monoFont } from "@buoy-gg/shared-ui";
|
|
16
16
|
import { RenderTracker } from "../utils/RenderTracker";
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -64,7 +64,7 @@ const styles = StyleSheet.create({
|
|
|
64
64
|
headerChipValue: {
|
|
65
65
|
fontSize: 12,
|
|
66
66
|
fontWeight: "600",
|
|
67
|
-
fontFamily:
|
|
67
|
+
fontFamily: monoFont
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
export default StatsDisplay;
|