@buoy-gg/storage 7.0.26 → 7.0.27

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 (49) hide show
  1. package/lib/commonjs/storage/components/DiffViewer/DiffOptionsPanel.js +36 -36
  2. package/lib/commonjs/storage/components/DiffViewer/TreeDiffViewer.js +2 -2
  3. package/lib/commonjs/storage/components/DiffViewer/themes/diffThemes.js +19 -108
  4. package/lib/commonjs/storage/components/GameUIStorageBrowser.js +45 -42
  5. package/lib/commonjs/storage/components/MMKVInstanceInfoPanel.js +9 -9
  6. package/lib/commonjs/storage/components/MMKVInstanceSelector.js +24 -24
  7. package/lib/commonjs/storage/components/SelectionActionBar.js +13 -13
  8. package/lib/commonjs/storage/components/StorageActionButtons.js +12 -12
  9. package/lib/commonjs/storage/components/StorageEventActionButton.js +18 -18
  10. package/lib/commonjs/storage/components/StorageEventDetailContent.js +7 -7
  11. package/lib/commonjs/storage/components/StorageEventFilterView.js +9 -9
  12. package/lib/commonjs/storage/components/StorageFilterCards.js +15 -15
  13. package/lib/commonjs/storage/components/StorageKeyCard.js +21 -21
  14. package/lib/commonjs/storage/components/StorageKeyEditorScreen.js +19 -18
  15. package/lib/commonjs/storage/components/StorageKeyRow.js +23 -21
  16. package/lib/commonjs/storage/components/StorageKeySection.js +3 -3
  17. package/lib/commonjs/storage/components/StorageKeyStats.js +10 -10
  18. package/lib/commonjs/storage/components/StorageModalWithTabs.js +19 -14
  19. package/lib/commonjs/storage/components/StorageTypeFilterBar.js +8 -8
  20. package/lib/commonjs/storage/components/StorageValueEditModal.js +19 -19
  21. package/lib/module/storage/components/DiffViewer/DiffOptionsPanel.js +37 -37
  22. package/lib/module/storage/components/DiffViewer/TreeDiffViewer.js +3 -3
  23. package/lib/module/storage/components/DiffViewer/themes/diffThemes.js +6 -105
  24. package/lib/module/storage/components/GameUIStorageBrowser.js +46 -43
  25. package/lib/module/storage/components/MMKVInstanceInfoPanel.js +10 -10
  26. package/lib/module/storage/components/MMKVInstanceSelector.js +25 -25
  27. package/lib/module/storage/components/SelectionActionBar.js +14 -14
  28. package/lib/module/storage/components/StorageActionButtons.js +13 -13
  29. package/lib/module/storage/components/StorageEventActionButton.js +19 -19
  30. package/lib/module/storage/components/StorageEventDetailContent.js +8 -8
  31. package/lib/module/storage/components/StorageEventFilterView.js +10 -10
  32. package/lib/module/storage/components/StorageFilterCards.js +16 -16
  33. package/lib/module/storage/components/StorageKeyCard.js +22 -22
  34. package/lib/module/storage/components/StorageKeyEditorScreen.js +20 -19
  35. package/lib/module/storage/components/StorageKeyRow.js +24 -22
  36. package/lib/module/storage/components/StorageKeySection.js +4 -4
  37. package/lib/module/storage/components/StorageKeyStats.js +11 -11
  38. package/lib/module/storage/components/StorageModalWithTabs.js +20 -15
  39. package/lib/module/storage/components/StorageTypeFilterBar.js +9 -9
  40. package/lib/module/storage/components/StorageValueEditModal.js +20 -20
  41. package/lib/typescript/storage/components/DiffViewer/DiffOptionsPanel.d.ts.map +1 -1
  42. package/lib/typescript/storage/components/DiffViewer/themes/diffThemes.d.ts +6 -61
  43. package/lib/typescript/storage/components/DiffViewer/themes/diffThemes.d.ts.map +1 -1
  44. package/lib/typescript/storage/components/StorageEventActionButton.d.ts +8 -8
  45. package/lib/typescript/storage/components/StorageEventFilterView.d.ts.map +1 -1
  46. package/lib/typescript/storage/components/StorageKeyCard.d.ts.map +1 -1
  47. package/lib/typescript/storage/components/StorageKeyEditorScreen.d.ts.map +1 -1
  48. package/lib/typescript/storage/components/StorageModalWithTabs.d.ts.map +1 -1
  49. package/package.json +5 -5
@@ -668,7 +668,7 @@ function StorageModalWithTabs({
668
668
  style: styles.emptyState,
669
669
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Database, {
670
670
  size: 48,
671
- color: _sharedUi.macOSColors.text.muted
671
+ color: _sharedUi.night.color.textTertiary
672
672
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
673
673
  style: styles.emptyTitle,
674
674
  children: !isListening ? "Event listener is paused" : filtered ? `No ${storageTypeFilter} events` : "No storage events yet"
@@ -788,14 +788,14 @@ function StorageModalWithTabs({
788
788
  accessibilityLabel: "Refresh storage",
789
789
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.RefreshCw, {
790
790
  size: 14,
791
- color: _sharedUi.macOSColors.text.secondary
791
+ color: _sharedUi.night.color.textSecondary
792
792
  })
793
793
  }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
794
794
  onPress: handleToggleFilters,
795
795
  style: [styles.iconButton, (ignoredPatterns.size > 0 || enabledStorageTypes.size < 3) && styles.activeFilterButton],
796
796
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Filter, {
797
797
  size: 14,
798
- color: ignoredPatterns.size > 0 || enabledStorageTypes.size < 3 ? _sharedUi.macOSColors.semantic.debug : _sharedUi.macOSColors.text.secondary
798
+ color: ignoredPatterns.size > 0 || enabledStorageTypes.size < 3 ? _sharedUi.night.color.accent : _sharedUi.night.color.textSecondary
799
799
  })
800
800
  }), activeTab === "browser" && !isSearchActive && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
801
801
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
@@ -803,7 +803,7 @@ function StorageModalWithTabs({
803
803
  style: styles.iconButton,
804
804
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
805
805
  size: 14,
806
- color: _sharedUi.macOSColors.text.secondary
806
+ color: _sharedUi.night.color.textSecondary
807
807
  })
808
808
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ToolbarCopyButton, {
809
809
  value: getStorageSnapshot,
@@ -882,7 +882,9 @@ const styles = _reactNative.StyleSheet.create({
882
882
  inlineRoot: {
883
883
  flex: 1,
884
884
  minHeight: 0,
885
- backgroundColor: _sharedUi.macOSColors.background.base
885
+ // Transparent so the desktop workbench's hoisted sky (one field spanning
886
+ // sidebar + panel) shows through — the shell paints its base beneath it.
887
+ backgroundColor: "transparent"
886
888
  },
887
889
  inlineHeader: {
888
890
  paddingHorizontal: 12,
@@ -897,18 +899,21 @@ const styles = _reactNative.StyleSheet.create({
897
899
  flexFill: {
898
900
  flex: 1
899
901
  },
902
+ // Night chrome — the header is glass over the star field, so the action
903
+ // chips sit on the Everlights dark-glass fill.
900
904
  iconButton: {
901
905
  width: 32,
902
906
  height: 32,
903
907
  borderRadius: 8,
904
- backgroundColor: _sharedUi.macOSColors.background.hover,
908
+ backgroundColor: _sharedUi.night.color.buttonSurface,
905
909
  borderWidth: 1,
906
- borderColor: _sharedUi.macOSColors.border.default,
910
+ borderColor: _sharedUi.night.color.border,
907
911
  alignItems: "center",
908
912
  justifyContent: "center"
909
913
  },
910
914
  activeFilterButton: {
911
- backgroundColor: _sharedUi.macOSColors.semantic.infoBackground
915
+ backgroundColor: _sharedUi.night.color.accentSoft,
916
+ borderColor: _sharedUi.night.color.accentBorderStrong
912
917
  },
913
918
  separator: {
914
919
  height: 8
@@ -933,7 +938,7 @@ const styles = _reactNative.StyleSheet.create({
933
938
  padding: 32
934
939
  },
935
940
  emptyTitle: {
936
- color: _sharedUi.macOSColors.text.primary,
941
+ color: _sharedUi.night.color.text,
937
942
  fontSize: 16,
938
943
  fontWeight: "600",
939
944
  marginTop: 16,
@@ -943,7 +948,7 @@ const styles = _reactNative.StyleSheet.create({
943
948
  textTransform: "uppercase"
944
949
  },
945
950
  emptySubtitle: {
946
- color: _sharedUi.macOSColors.text.secondary,
951
+ color: _sharedUi.night.color.textSecondary,
947
952
  fontSize: 14,
948
953
  textAlign: "center",
949
954
  fontFamily: "monospace"
@@ -962,7 +967,7 @@ const styles = _reactNative.StyleSheet.create({
962
967
  opacity: 0.3
963
968
  },
964
969
  eventCounter: {
965
- color: _sharedUi.macOSColors.text.primary,
970
+ color: _sharedUi.night.color.text,
966
971
  fontSize: 12,
967
972
  fontWeight: "600",
968
973
  fontFamily: "monospace",
@@ -979,19 +984,19 @@ const styles = _reactNative.StyleSheet.create({
979
984
  flexDirection: "row",
980
985
  alignItems: "center",
981
986
  gap: 6,
982
- backgroundColor: _sharedUi.macOSColors.background.input,
987
+ backgroundColor: _sharedUi.night.color.surfaceElevated,
983
988
  paddingHorizontal: 10,
984
989
  paddingVertical: 4,
985
990
  borderRadius: 6,
986
991
  borderWidth: 1,
987
- borderColor: _sharedUi.macOSColors.border.input,
992
+ borderColor: _sharedUi.night.color.border,
988
993
  height: 28
989
994
  },
990
995
  keyNameText: {
991
996
  flex: 1,
992
997
  fontSize: 13,
993
998
  fontWeight: "600",
994
- color: _sharedUi.macOSColors.semantic.debug,
999
+ color: _sharedUi.night.color.accent,
995
1000
  fontFamily: "monospace",
996
1001
  letterSpacing: 0.5
997
1002
  },
@@ -55,7 +55,7 @@ function StorageTypeFilterBar({
55
55
  style: styles.row,
56
56
  children: SEGMENTS.map(segment => {
57
57
  const isActive = active === segment.id;
58
- const accent = segment.color ?? _sharedUi.macOSColors.text.primary;
58
+ const accent = segment.color ?? _sharedUi.night.color.accent;
59
59
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
60
60
  accessibilityLabel: `Filter by ${segment.label}`,
61
61
  accessibilityState: {
@@ -64,13 +64,13 @@ function StorageTypeFilterBar({
64
64
  activeOpacity: 0.8,
65
65
  onPress: () => onChange(segment.id),
66
66
  style: [styles.pill, {
67
- borderColor: _sharedUi.macOSColors.border.default
67
+ borderColor: _sharedUi.night.color.border
68
68
  }, isActive && [styles.pillActive, segment.color ? {
69
69
  backgroundColor: segment.color + "15",
70
70
  borderColor: segment.color + "40"
71
71
  } : {
72
- backgroundColor: _sharedUi.macOSColors.background.hover,
73
- borderColor: _sharedUi.macOSColors.border.hover
72
+ backgroundColor: _sharedUi.night.color.accentSoft,
73
+ borderColor: _sharedUi.night.color.accentBorderStrong
74
74
  }]],
75
75
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
76
76
  style: [styles.label, isActive && {
@@ -80,7 +80,7 @@ function StorageTypeFilterBar({
80
80
  children: segment.label
81
81
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
82
82
  style: [styles.value, {
83
- color: isActive ? accent : _sharedUi.macOSColors.text.muted
83
+ color: isActive ? accent : _sharedUi.night.color.textTertiary
84
84
  }],
85
85
  children: counts[segment.id]
86
86
  })]
@@ -108,10 +108,10 @@ const styles = _reactNative.StyleSheet.create({
108
108
  },
109
109
  pill: {
110
110
  flex: 1,
111
- backgroundColor: _sharedUi.macOSColors.background.input + "80",
111
+ backgroundColor: _sharedUi.night.color.buttonSurface,
112
112
  borderRadius: 8,
113
113
  borderWidth: 1,
114
- borderColor: _sharedUi.macOSColors.border.default + "30",
114
+ borderColor: _sharedUi.night.color.border,
115
115
  paddingVertical: 6,
116
116
  paddingHorizontal: 8,
117
117
  alignItems: "center",
@@ -126,7 +126,7 @@ const styles = _reactNative.StyleSheet.create({
126
126
  },
127
127
  label: {
128
128
  fontSize: 9,
129
- color: _sharedUi.macOSColors.text.secondary,
129
+ color: _sharedUi.night.color.textSecondary,
130
130
  textTransform: "uppercase",
131
131
  letterSpacing: 0.4,
132
132
  fontWeight: "500",
@@ -129,7 +129,7 @@ function StorageValueEditModal({
129
129
  keyboardType: mode === "number" ? "numeric" : "default",
130
130
  onSubmitEditing: mode === "number" ? commit : undefined,
131
131
  placeholder: mode === "raw" ? "{ }" : "value",
132
- placeholderTextColor: _sharedUi.macOSColors.text.muted,
132
+ placeholderTextColor: _sharedUi.night.color.placeholder,
133
133
  style: [styles.input, mode === "raw" && styles.inputRaw, mode !== "number" && styles.inputMultiline, error != null && styles.inputInvalid]
134
134
  })
135
135
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
@@ -222,10 +222,10 @@ const styles = _reactNative.StyleSheet.create({
222
222
  padding: 12
223
223
  },
224
224
  card: {
225
- backgroundColor: _sharedUi.macOSColors.background.card,
225
+ backgroundColor: _sharedUi.night.color.surface,
226
226
  borderRadius: 14,
227
227
  borderWidth: 1,
228
- borderColor: _sharedUi.macOSColors.border.default,
228
+ borderColor: _sharedUi.night.color.border,
229
229
  padding: 14,
230
230
  gap: 8
231
231
  },
@@ -236,7 +236,7 @@ const styles = _reactNative.StyleSheet.create({
236
236
  },
237
237
  title: {
238
238
  flex: 1,
239
- color: _sharedUi.macOSColors.text.primary,
239
+ color: _sharedUi.night.color.text,
240
240
  fontSize: 14,
241
241
  fontWeight: "700"
242
242
  },
@@ -244,7 +244,7 @@ const styles = _reactNative.StyleSheet.create({
244
244
  paddingHorizontal: 8,
245
245
  paddingVertical: 2,
246
246
  borderRadius: 6,
247
- backgroundColor: _sharedUi.macOSColors.background.hover
247
+ backgroundColor: _sharedUi.night.color.surfaceElevated
248
248
  },
249
249
  typeBadgeText: {
250
250
  color: _sharedUi.macOSColors.semantic.warning,
@@ -253,7 +253,7 @@ const styles = _reactNative.StyleSheet.create({
253
253
  fontFamily: "monospace"
254
254
  },
255
255
  path: {
256
- color: _sharedUi.macOSColors.text.muted,
256
+ color: _sharedUi.night.color.textTertiary,
257
257
  fontSize: 11,
258
258
  fontFamily: "monospace"
259
259
  },
@@ -262,10 +262,10 @@ const styles = _reactNative.StyleSheet.create({
262
262
  maxHeight: 240
263
263
  },
264
264
  input: {
265
- color: _sharedUi.macOSColors.text.primary,
266
- backgroundColor: _sharedUi.macOSColors.background.input,
265
+ color: _sharedUi.night.color.text,
266
+ backgroundColor: _sharedUi.night.color.surfaceElevated,
267
267
  borderWidth: 1,
268
- borderColor: _sharedUi.macOSColors.border.input,
268
+ borderColor: _sharedUi.night.color.border,
269
269
  borderRadius: 10,
270
270
  paddingHorizontal: 12,
271
271
  paddingVertical: 10,
@@ -283,15 +283,15 @@ const styles = _reactNative.StyleSheet.create({
283
283
  lineHeight: 18
284
284
  },
285
285
  inputInvalid: {
286
- borderColor: _sharedUi.macOSColors.semantic.error
286
+ borderColor: _sharedUi.night.color.danger
287
287
  },
288
288
  hint: {
289
- color: _sharedUi.macOSColors.text.muted,
289
+ color: _sharedUi.night.color.textTertiary,
290
290
  fontSize: 11,
291
291
  lineHeight: 16
292
292
  },
293
293
  error: {
294
- color: _sharedUi.macOSColors.semantic.error,
294
+ color: _sharedUi.night.color.danger,
295
295
  fontSize: 11,
296
296
  lineHeight: 16,
297
297
  fontFamily: "monospace"
@@ -308,10 +308,10 @@ const styles = _reactNative.StyleSheet.create({
308
308
  justifyContent: "center",
309
309
  borderRadius: 10,
310
310
  borderWidth: 1,
311
- borderColor: _sharedUi.macOSColors.border.default
311
+ borderColor: _sharedUi.night.color.border
312
312
  },
313
313
  cancelText: {
314
- color: _sharedUi.macOSColors.text.secondary,
314
+ color: _sharedUi.night.color.textSecondary,
315
315
  fontSize: 14,
316
316
  fontWeight: "600"
317
317
  },
@@ -321,13 +321,13 @@ const styles = _reactNative.StyleSheet.create({
321
321
  alignItems: "center",
322
322
  justifyContent: "center",
323
323
  borderRadius: 10,
324
- backgroundColor: _sharedUi.macOSColors.semantic.success
324
+ backgroundColor: _sharedUi.night.color.accent
325
325
  },
326
326
  saveDisabled: {
327
327
  opacity: 0.35
328
328
  },
329
329
  saveText: {
330
- color: _sharedUi.macOSColors.background.base,
330
+ color: _sharedUi.night.color.onAccent,
331
331
  fontSize: 15,
332
332
  fontWeight: "700"
333
333
  },
@@ -342,15 +342,15 @@ const styles = _reactNative.StyleSheet.create({
342
342
  justifyContent: "center",
343
343
  borderRadius: 12,
344
344
  borderWidth: 1,
345
- borderColor: _sharedUi.macOSColors.border.default,
346
- backgroundColor: _sharedUi.macOSColors.background.base
345
+ borderColor: _sharedUi.night.color.border,
346
+ backgroundColor: _sharedUi.night.color.surfaceElevated
347
347
  },
348
348
  boolActive: {
349
349
  borderColor: _sharedUi.macOSColors.semantic.warning,
350
350
  backgroundColor: _sharedUi.macOSColors.semantic.warning + "18"
351
351
  },
352
352
  boolText: {
353
- color: _sharedUi.macOSColors.text.muted,
353
+ color: _sharedUi.night.color.textTertiary,
354
354
  fontSize: 16,
355
355
  fontWeight: "700",
356
356
  fontFamily: "monospace"
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { View, Text, StyleSheet, TouchableOpacity, Switch } from "react-native";
4
- import { macOSColors, Settings, Hash, FileText, Filter } from "@buoy-gg/shared-ui";
4
+ import { night, Settings, Hash, FileText, Filter } from "@buoy-gg/shared-ui";
5
5
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  const COMPARE_METHODS = [{
7
7
  id: "chars",
@@ -44,7 +44,7 @@ export function DiffOptionsPanel({
44
44
  activeOpacity: 0.7,
45
45
  children: [/*#__PURE__*/_jsx(Settings, {
46
46
  size: 12,
47
- color: macOSColors.semantic.info
47
+ color: night.color.accent
48
48
  }), /*#__PURE__*/_jsx(Text, {
49
49
  style: styles.toggleText,
50
50
  children: "Options"
@@ -73,7 +73,7 @@ export function DiffOptionsPanel({
73
73
  style: styles.optionLeft,
74
74
  children: [/*#__PURE__*/_jsx(Hash, {
75
75
  size: 11,
76
- color: macOSColors.text.secondary
76
+ color: night.color.textSecondary
77
77
  }), /*#__PURE__*/_jsx(Text, {
78
78
  style: styles.optionLabel,
79
79
  children: "Line Numbers"
@@ -82,10 +82,10 @@ export function DiffOptionsPanel({
82
82
  value: !options.hideLineNumbers,
83
83
  onValueChange: value => updateOption("hideLineNumbers", !value),
84
84
  trackColor: {
85
- false: macOSColors.border.default,
86
- true: macOSColors.semantic.success + "60"
85
+ false: night.color.surfaceElevated,
86
+ true: night.color.accent
87
87
  },
88
- thumbColor: !options.hideLineNumbers ? macOSColors.semantic.success : macOSColors.text.muted,
88
+ thumbColor: night.color.knob,
89
89
  style: styles.switch
90
90
  })]
91
91
  }), /*#__PURE__*/_jsx(Text, {
@@ -100,7 +100,7 @@ export function DiffOptionsPanel({
100
100
  style: styles.optionLeft,
101
101
  children: [/*#__PURE__*/_jsx(FileText, {
102
102
  size: 11,
103
- color: macOSColors.text.secondary
103
+ color: night.color.textSecondary
104
104
  }), /*#__PURE__*/_jsx(Text, {
105
105
  style: styles.optionLabel,
106
106
  children: "Word Diff"
@@ -109,10 +109,10 @@ export function DiffOptionsPanel({
109
109
  value: !options.disableWordDiff,
110
110
  onValueChange: value => updateOption("disableWordDiff", !value),
111
111
  trackColor: {
112
- false: macOSColors.border.default,
113
- true: macOSColors.semantic.success + "60"
112
+ false: night.color.surfaceElevated,
113
+ true: night.color.accent
114
114
  },
115
- thumbColor: !options.disableWordDiff ? macOSColors.semantic.success : macOSColors.text.muted,
115
+ thumbColor: night.color.knob,
116
116
  style: styles.switch
117
117
  })]
118
118
  }), /*#__PURE__*/_jsx(Text, {
@@ -127,7 +127,7 @@ export function DiffOptionsPanel({
127
127
  style: styles.optionLeft,
128
128
  children: [/*#__PURE__*/_jsx(Filter, {
129
129
  size: 11,
130
- color: macOSColors.text.secondary
130
+ color: night.color.textSecondary
131
131
  }), /*#__PURE__*/_jsx(Text, {
132
132
  style: styles.optionLabel,
133
133
  children: "Diff Only"
@@ -136,10 +136,10 @@ export function DiffOptionsPanel({
136
136
  value: options.showDiffOnly,
137
137
  onValueChange: value => updateOption("showDiffOnly", value),
138
138
  trackColor: {
139
- false: macOSColors.border.default,
140
- true: macOSColors.semantic.success + "60"
139
+ false: night.color.surfaceElevated,
140
+ true: night.color.accent
141
141
  },
142
- thumbColor: options.showDiffOnly ? macOSColors.semantic.success : macOSColors.text.muted,
142
+ thumbColor: night.color.knob,
143
143
  style: styles.switch
144
144
  })]
145
145
  }), /*#__PURE__*/_jsx(Text, {
@@ -198,7 +198,7 @@ const styles = StyleSheet.create({
198
198
  toggleButton: {
199
199
  flexDirection: "row",
200
200
  alignItems: "center",
201
- backgroundColor: macOSColors.background.card,
201
+ backgroundColor: night.color.surface,
202
202
  paddingVertical: 6,
203
203
  paddingHorizontal: 10,
204
204
  borderRadius: 4,
@@ -207,18 +207,18 @@ const styles = StyleSheet.create({
207
207
  toggleText: {
208
208
  fontSize: 10,
209
209
  fontWeight: "600",
210
- color: macOSColors.semantic.info,
210
+ color: night.color.accent,
211
211
  fontFamily: "monospace",
212
212
  flex: 1
213
213
  },
214
214
  toggleIndicator: {
215
215
  fontSize: 8,
216
- color: macOSColors.text.muted,
216
+ color: night.color.textTertiary,
217
217
  fontFamily: "monospace"
218
218
  },
219
219
  optionsContent: {
220
220
  marginTop: 8,
221
- backgroundColor: macOSColors.background.input,
221
+ backgroundColor: night.color.surface,
222
222
  borderRadius: 6,
223
223
  padding: 12,
224
224
  gap: 16
@@ -229,7 +229,7 @@ const styles = StyleSheet.create({
229
229
  sectionTitle: {
230
230
  fontSize: 9,
231
231
  fontWeight: "700",
232
- color: macOSColors.semantic.info,
232
+ color: night.color.accent,
233
233
  fontFamily: "monospace",
234
234
  letterSpacing: 0.5,
235
235
  marginBottom: 4
@@ -250,12 +250,12 @@ const styles = StyleSheet.create({
250
250
  },
251
251
  optionLabel: {
252
252
  fontSize: 11,
253
- color: macOSColors.text.primary,
253
+ color: night.color.text,
254
254
  fontFamily: "monospace"
255
255
  },
256
256
  optionDescription: {
257
257
  fontSize: 9,
258
- color: macOSColors.text.muted,
258
+ color: night.color.textTertiary,
259
259
  fontFamily: "monospace",
260
260
  marginTop: 4,
261
261
  marginLeft: 19,
@@ -276,27 +276,27 @@ const styles = StyleSheet.create({
276
276
  methodButton: {
277
277
  paddingVertical: 6,
278
278
  paddingHorizontal: 10,
279
- backgroundColor: macOSColors.background.input,
279
+ backgroundColor: night.color.surfaceElevated,
280
280
  borderRadius: 4,
281
281
  borderWidth: 1,
282
- borderColor: macOSColors.border.default
282
+ borderColor: night.color.border
283
283
  },
284
284
  methodButtonActive: {
285
- backgroundColor: macOSColors.semantic.infoBackground,
286
- borderColor: macOSColors.semantic.info + "40"
285
+ backgroundColor: night.color.accentSoft,
286
+ borderColor: night.color.accentBorderStrong
287
287
  },
288
288
  methodButtonText: {
289
289
  fontSize: 9,
290
290
  fontFamily: "monospace",
291
- color: macOSColors.text.muted,
291
+ color: night.color.textTertiary,
292
292
  fontWeight: "600"
293
293
  },
294
294
  methodButtonTextActive: {
295
- color: macOSColors.semantic.info
295
+ color: night.color.accent
296
296
  },
297
297
  methodDescription: {
298
298
  fontSize: 9,
299
- color: macOSColors.text.muted,
299
+ color: night.color.textTertiary,
300
300
  fontFamily: "monospace",
301
301
  marginTop: 8,
302
302
  lineHeight: 12
@@ -310,33 +310,33 @@ const styles = StyleSheet.create({
310
310
  height: 28,
311
311
  justifyContent: "center",
312
312
  alignItems: "center",
313
- backgroundColor: macOSColors.background.input,
313
+ backgroundColor: night.color.surfaceElevated,
314
314
  borderRadius: 4,
315
315
  borderWidth: 1,
316
- borderColor: macOSColors.border.default
316
+ borderColor: night.color.border
317
317
  },
318
318
  contextButtonActive: {
319
- backgroundColor: macOSColors.semantic.warningBackground,
320
- borderColor: macOSColors.semantic.warning + "40"
319
+ backgroundColor: night.color.accentSoft,
320
+ borderColor: night.color.accentBorderStrong
321
321
  },
322
322
  contextButtonText: {
323
323
  fontSize: 10,
324
324
  fontFamily: "monospace",
325
- color: macOSColors.text.muted,
325
+ color: night.color.textTertiary,
326
326
  fontWeight: "600"
327
327
  },
328
328
  contextButtonTextActive: {
329
- color: macOSColors.semantic.warning
329
+ color: night.color.accent
330
330
  },
331
331
  contextDescription: {
332
332
  fontSize: 9,
333
- color: macOSColors.text.muted,
333
+ color: night.color.textTertiary,
334
334
  fontFamily: "monospace",
335
335
  marginTop: 8,
336
336
  lineHeight: 12
337
337
  },
338
338
  activeIndicator: {
339
- backgroundColor: macOSColors.semantic.warningBackground,
339
+ backgroundColor: night.color.warningSoft,
340
340
  paddingHorizontal: 6,
341
341
  paddingVertical: 2,
342
342
  borderRadius: 3,
@@ -346,7 +346,7 @@ const styles = StyleSheet.create({
346
346
  activeIndicatorText: {
347
347
  fontSize: 8,
348
348
  fontFamily: "monospace",
349
- color: macOSColors.semantic.warning,
349
+ color: night.color.warning,
350
350
  fontWeight: "600"
351
351
  }
352
352
  });
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { View, StyleSheet } from "react-native";
4
- import { gameUIColors } from "@buoy-gg/shared-ui";
4
+ import { night } from "@buoy-gg/shared-ui";
5
5
  import { TreeDiffViewer as SharedTreeDiffViewer } from "@buoy-gg/shared-ui/dataViewer";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  export function TreeDiffViewer({
@@ -22,11 +22,11 @@ export function TreeDiffViewer({
22
22
  const styles = StyleSheet.create({
23
23
  container: {
24
24
  flex: 1,
25
- backgroundColor: gameUIColors.background
25
+ backgroundColor: night.color.bg
26
26
  },
27
27
  // Inline: size to the tree so the page scroll reveals it, rather than
28
28
  // stretching to the pane and clipping the rows.
29
29
  containerInline: {
30
- backgroundColor: gameUIColors.background
30
+ backgroundColor: night.color.bg
31
31
  }
32
32
  });
@@ -1,109 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * Diff Viewer Theme System
5
- *
6
- * Only three official themes:
7
- * 1. Git Classic - Traditional Git colors
8
- * 2. VS Code Dark Modern - Exact VS Code Dark Modern theme
9
- * 3. Dev Tools Default - Custom dark theme for our dev tools
4
+ * Re-export shim — the diff theme system now lives in
5
+ * @buoy-gg/shared-ui/dataViewer (this used to be a byte-for-byte fork, and
6
+ * the night-theme pass had to be made twice before it was collapsed; same
7
+ * story as ../modes/ThemedSplitView). Keep importing from here inside the
8
+ * storage package.
10
9
  */
11
-
12
- /**
13
- * Git Classic Theme
14
- * Traditional Git diff colors - simple and familiar
15
- */
16
- export const gitClassicTheme = {
17
- name: "Git Classic",
18
- description: "Traditional Git diff colors - simple and familiar",
19
- background: "#FFFFFF",
20
- panelBackground: "#F8F8F8",
21
- headerBackground: "#F0F0F0",
22
- addedBackground: "#E6FFED",
23
- removedBackground: "#FFEEF0",
24
- modifiedBackground: "#FFF5DD",
25
- unchangedBackground: "transparent",
26
- contextBackground: "#FAFAFA",
27
- addedText: "#22863A",
28
- removedText: "#CB2431",
29
- modifiedText: "#B08800",
30
- unchangedText: "#24292E",
31
- addedWordHighlight: "#ACF2BD",
32
- removedWordHighlight: "#FDB8C0",
33
- lineNumberBackground: "#F6F8FA",
34
- lineNumberText: "#959DA5",
35
- lineNumberBorder: "#E1E4E8",
36
- markerAddedBackground: "#CDFFD8",
37
- markerRemovedBackground: "#FFDCE0",
38
- markerModifiedBackground: "#FFF5B1",
39
- markerText: "#666666",
40
- borderColor: "#E1E4E8",
41
- dividerColor: "#E1E4E8",
42
- summaryBackground: "#F6F8FA",
43
- summaryAddedText: "#28A745",
44
- summaryRemovedText: "#D73A49",
45
- summaryModifiedText: "#0366D6",
46
- emptyStateText: "#586069",
47
- separatorBackground: "#F6F8FA",
48
- separatorText: "#586069"
49
- };
50
-
51
- /**
52
- * Dev Tools Default Theme
53
- * Clean dark theme matching Buoy website brand colors
54
- */
55
- export const devToolsDefaultTheme = {
56
- name: "Dev Tools Default",
57
- description: "Clean dark theme with Buoy brand colors",
58
- // Surface colors (matching website dark theme)
59
- background: "#121212",
60
- panelBackground: "#1A1A1A",
61
- headerBackground: "#1A1A1A",
62
- // Diff colors using website's semantic colors
63
- // Added: Primary teal (#20C997)
64
- // Removed: Error red (#EF4444)
65
- // Modified: Secondary purple (#9B70E0)
66
- addedBackground: "rgba(32, 201, 151, 0.12)",
67
- removedBackground: "rgba(239, 68, 68, 0.12)",
68
- modifiedBackground: "rgba(155, 112, 224, 0.12)",
69
- unchangedBackground: "transparent",
70
- contextBackground: "rgba(255, 255, 255, 0.02)",
71
- // Text colors
72
- addedText: "#20C997",
73
- removedText: "#EF4444",
74
- modifiedText: "#9B70E0",
75
- unchangedText: "#E0E0E0",
76
- // Word-level highlights
77
- addedWordHighlight: "rgba(32, 201, 151, 0.3)",
78
- removedWordHighlight: "rgba(239, 68, 68, 0.3)",
79
- // UI elements
80
- lineNumberBackground: "#121212",
81
- lineNumberText: "#A0A0A0",
82
- lineNumberBorder: "#333333",
83
- // Markers
84
- markerAddedBackground: "rgba(32, 201, 151, 0.2)",
85
- markerRemovedBackground: "rgba(239, 68, 68, 0.2)",
86
- markerModifiedBackground: "rgba(155, 112, 224, 0.2)",
87
- markerText: "#A0A0A0",
88
- // Borders and dividers
89
- borderColor: "#333333",
90
- dividerColor: "#333333",
91
- // Summary bar
92
- summaryBackground: "#1A1A1A",
93
- summaryAddedText: "#20C997",
94
- summaryRemovedText: "#EF4444",
95
- summaryModifiedText: "#9B70E0",
96
- // Empty state
97
- emptyStateText: "#888888",
98
- // Separator
99
- separatorBackground: "#1A1A1A",
100
- separatorText: "#A0A0A0"
101
- };
102
-
103
- /**
104
- * Theme collection
105
- */
106
- export const diffThemes = {
107
- gitClassic: gitClassicTheme,
108
- devToolsDefault: devToolsDefaultTheme
109
- };
10
+ export { diffThemes, gitClassicTheme, devToolsDefaultTheme } from "@buoy-gg/shared-ui/dataViewer";