@buoy-gg/zustand 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.
@@ -16,28 +16,28 @@ var _jsxRuntime = require("react/jsx-runtime");
16
16
 
17
17
  const buttonConfigs = {
18
18
  copy: {
19
- color: _sharedUi.buoyColors.primary,
20
- backgroundColor: _sharedUi.buoyColors.primary + "15",
21
- borderColor: _sharedUi.buoyColors.primary + "40",
22
- textColor: _sharedUi.buoyColors.primary
19
+ color: _sharedUi.night.color.accent,
20
+ backgroundColor: _sharedUi.night.color.accentSoft,
21
+ borderColor: _sharedUi.night.color.accentBorder,
22
+ textColor: _sharedUi.night.color.accent
23
23
  },
24
24
  reset: {
25
- color: _sharedUi.buoyColors.warning,
26
- backgroundColor: _sharedUi.buoyColors.warning + "15",
27
- borderColor: _sharedUi.buoyColors.warning + "40",
28
- textColor: _sharedUi.buoyColors.warning
25
+ color: _sharedUi.night.color.warning,
26
+ backgroundColor: _sharedUi.night.color.warningSoft,
27
+ borderColor: _sharedUi.night.color.warning + "40",
28
+ textColor: _sharedUi.night.color.warning
29
29
  },
30
30
  clear: {
31
- color: _sharedUi.buoyColors.error,
32
- backgroundColor: _sharedUi.buoyColors.error + "15",
33
- borderColor: _sharedUi.buoyColors.error + "40",
34
- textColor: _sharedUi.buoyColors.error
31
+ color: _sharedUi.night.color.danger,
32
+ backgroundColor: _sharedUi.night.color.dangerSoft,
33
+ borderColor: _sharedUi.night.color.danger + "40",
34
+ textColor: _sharedUi.night.color.danger
35
35
  },
36
36
  jump: {
37
- color: _sharedUi.buoyColors.warning,
38
- backgroundColor: _sharedUi.buoyColors.warning + "15",
39
- borderColor: _sharedUi.buoyColors.warning + "40",
40
- textColor: _sharedUi.buoyColors.warning
37
+ color: _sharedUi.night.color.warning,
38
+ backgroundColor: _sharedUi.night.color.warningSoft,
39
+ borderColor: _sharedUi.night.color.warning + "40",
40
+ textColor: _sharedUi.night.color.warning
41
41
  }
42
42
  };
43
43
  function ZustandActionButton({
@@ -51,8 +51,8 @@ function ZustandActionButton({
51
51
  disabled: disabled,
52
52
  onPress: onPress,
53
53
  style: [styles.button, {
54
- backgroundColor: disabled ? _sharedUi.buoyColors.textMuted + "1A" : config.backgroundColor,
55
- borderColor: disabled ? _sharedUi.buoyColors.textMuted + "33" : config.borderColor,
54
+ backgroundColor: disabled ? _sharedUi.night.color.textTertiary + "1A" : config.backgroundColor,
55
+ borderColor: disabled ? _sharedUi.night.color.textTertiary + "33" : config.borderColor,
56
56
  opacity: disabled ? 0.5 : 1
57
57
  }],
58
58
  activeOpacity: 0.7,
@@ -63,11 +63,11 @@ function ZustandActionButton({
63
63
  },
64
64
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
65
65
  style: [styles.dot, {
66
- backgroundColor: disabled ? _sharedUi.buoyColors.textMuted : config.color
66
+ backgroundColor: disabled ? _sharedUi.night.color.textTertiary : config.color
67
67
  }]
68
68
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
69
69
  style: [styles.text, {
70
- color: disabled ? _sharedUi.buoyColors.textMuted : config.textColor
70
+ color: disabled ? _sharedUi.night.color.textTertiary : config.textColor
71
71
  }],
72
72
  children: text
73
73
  })]
@@ -97,7 +97,7 @@ const styles = _reactNative.StyleSheet.create({
97
97
  height: 5,
98
98
  borderRadius: 3,
99
99
  marginRight: 6,
100
- shadowColor: _sharedUi.buoyColors.text,
100
+ shadowColor: _sharedUi.night.color.text,
101
101
  shadowOffset: {
102
102
  width: 0,
103
103
  height: 0
@@ -21,19 +21,19 @@ const VIEW_CONFIGS = [{
21
21
  label: "CHANGE",
22
22
  description: "View change details",
23
23
  icon: _sharedUi.FileText,
24
- activeColor: _sharedUi.macOSColors.semantic.warning
24
+ activeColor: _sharedUi.night.color.accent
25
25
  }, {
26
26
  key: "state",
27
27
  label: "STATE",
28
28
  description: "View current state",
29
29
  icon: _sharedUi.Database,
30
- activeColor: _sharedUi.macOSColors.semantic.info
30
+ activeColor: _sharedUi.night.color.accent
31
31
  }, {
32
32
  key: "diff",
33
33
  label: "DIFF",
34
34
  description: "Compare changes",
35
35
  icon: _sharedUi.GitBranch,
36
- activeColor: _sharedUi.macOSColors.semantic.success
36
+ activeColor: _sharedUi.night.color.accent
37
37
  }];
38
38
  const ZustandDetailViewToggle = exports.ZustandDetailViewToggle = /*#__PURE__*/(0, _react.memo)(function ZustandDetailViewToggle({
39
39
  activeView,
@@ -57,7 +57,7 @@ const ZustandDetailViewToggle = exports.ZustandDetailViewToggle = /*#__PURE__*/(
57
57
  style: styles.cardContent,
58
58
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {
59
59
  size: 14,
60
- color: isActive ? config.activeColor : isDisabled ? _sharedUi.macOSColors.text.muted : _sharedUi.macOSColors.text.secondary
60
+ color: isActive ? config.activeColor : isDisabled ? _sharedUi.night.color.textTertiary : _sharedUi.night.color.textSecondary
61
61
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
62
62
  style: [styles.cardLabel, isActive && [styles.cardLabelActive, {
63
63
  color: config.activeColor
@@ -77,21 +77,22 @@ const styles = _reactNative.StyleSheet.create({
77
77
  flexDirection: "row",
78
78
  gap: 8,
79
79
  padding: 14,
80
- backgroundColor: _sharedUi.macOSColors.background.base
80
+ // Transparent so the night sheet's star field shows through.
81
+ backgroundColor: "transparent"
81
82
  },
82
83
  card: {
83
84
  flex: 1,
84
- backgroundColor: _sharedUi.macOSColors.background.card,
85
+ backgroundColor: _sharedUi.night.color.surface,
85
86
  borderRadius: 12,
86
87
  borderWidth: 1,
87
- borderColor: _sharedUi.macOSColors.border.default,
88
+ borderColor: _sharedUi.night.color.border,
88
89
  padding: 10,
89
90
  gap: 4
90
91
  },
91
92
  cardActive: {
92
93
  borderWidth: 1.5,
93
- backgroundColor: "rgba(0, 184, 230, 0.05)",
94
- shadowColor: _sharedUi.macOSColors.semantic.info,
94
+ backgroundColor: _sharedUi.night.color.accentSoft,
95
+ shadowColor: _sharedUi.night.color.accent,
95
96
  shadowOffset: {
96
97
  width: 0,
97
98
  height: 2
@@ -112,23 +113,23 @@ const styles = _reactNative.StyleSheet.create({
112
113
  fontSize: 10,
113
114
  fontWeight: "700",
114
115
  letterSpacing: 0.5,
115
- color: _sharedUi.macOSColors.text.secondary
116
+ color: _sharedUi.night.color.textSecondary
116
117
  },
117
118
  cardLabelActive: {
118
- color: _sharedUi.macOSColors.text.primary
119
+ color: _sharedUi.night.color.text
119
120
  },
120
121
  cardLabelDisabled: {
121
- color: _sharedUi.macOSColors.text.muted
122
+ color: _sharedUi.night.color.textTertiary
122
123
  },
123
124
  cardDescription: {
124
125
  fontSize: 9,
125
- color: _sharedUi.macOSColors.text.muted,
126
+ color: _sharedUi.night.color.textTertiary,
126
127
  lineHeight: 12
127
128
  },
128
129
  cardDescriptionActive: {
129
- color: _sharedUi.macOSColors.text.secondary
130
+ color: _sharedUi.night.color.textSecondary
130
131
  },
131
132
  cardDescriptionDisabled: {
132
- color: _sharedUi.macOSColors.text.muted
133
+ color: _sharedUi.night.color.textTertiary
133
134
  }
134
135
  });
@@ -46,7 +46,7 @@ function ZustandEventFilterView({
46
46
  children: "REGISTERED STORES"
47
47
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.SectionHeader.Badge, {
48
48
  count: stores.length,
49
- color: _sharedUi.buoyColors.primary
49
+ color: _sharedUi.night.color.accent
50
50
  })]
51
51
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
52
52
  style: styles.storeList,
@@ -62,7 +62,7 @@ function ZustandEventFilterView({
62
62
  disabled: filtered,
63
63
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
64
64
  style: [styles.storeDot, {
65
- backgroundColor: filtered ? _sharedUi.macOSColors.text.disabled : storeColor
65
+ backgroundColor: filtered ? _sharedUi.night.color.textTertiary : storeColor
66
66
  }]
67
67
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
68
68
  style: [styles.storeRowText, filtered && styles.storeRowTextFiltered, !filtered && {
@@ -87,19 +87,19 @@ function ZustandEventFilterView({
87
87
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.SectionHeader, {
88
88
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.SectionHeader.Icon, {
89
89
  icon: _sharedUi.Filter,
90
- color: _sharedUi.buoyColors.primary,
90
+ color: _sharedUi.night.color.accent,
91
91
  size: 12
92
92
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.SectionHeader.Title, {
93
93
  children: "STORE NAME FILTERS"
94
94
  }), ignoredPatterns.size > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.SectionHeader.Badge, {
95
95
  count: ignoredPatterns.size,
96
- color: _sharedUi.buoyColors.primary
96
+ color: _sharedUi.night.color.accent
97
97
  })]
98
98
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
99
99
  style: styles.addInputWrapper,
100
100
  children: !showAddInput ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.AddFilterButton, {
101
101
  onPress: () => setShowAddInput(true),
102
- color: _sharedUi.buoyColors.primary,
102
+ color: _sharedUi.night.color.accent,
103
103
  label: "Add store name pattern"
104
104
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.AddFilterInput, {
105
105
  value: inputValue,
@@ -110,7 +110,7 @@ function ZustandEventFilterView({
110
110
  setInputValue("");
111
111
  },
112
112
  placeholder: "Enter store name pattern to hide...",
113
- color: _sharedUi.buoyColors.primary
113
+ color: _sharedUi.night.color.accent
114
114
  })
115
115
  }), ignoredPatterns.size > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
116
116
  style: styles.patternList,
@@ -132,7 +132,7 @@ function ZustandEventFilterView({
132
132
  children: pattern
133
133
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.X, {
134
134
  size: 12,
135
- color: _sharedUi.buoyColors.primary + "80"
135
+ color: _sharedUi.night.color.accent + "80"
136
136
  })]
137
137
  }, pattern);
138
138
  })
@@ -142,7 +142,7 @@ function ZustandEventFilterView({
142
142
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.SectionHeader, {
143
143
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.SectionHeader.Icon, {
144
144
  icon: _sharedUi.Filter,
145
- color: _sharedUi.buoyColors.textSecondary,
145
+ color: _sharedUi.night.color.textSecondary,
146
146
  size: 12
147
147
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.SectionHeader.Title, {
148
148
  children: "HOW EVENT FILTERS WORK"
@@ -166,7 +166,8 @@ function ZustandEventFilterView({
166
166
  const styles = _reactNative.StyleSheet.create({
167
167
  container: {
168
168
  flex: 1,
169
- backgroundColor: _sharedUi.buoyColors.base
169
+ // Transparent so the night sheet's star field shows through.
170
+ backgroundColor: "transparent"
170
171
  },
171
172
  scrollContent: {
172
173
  paddingTop: 16,
@@ -175,10 +176,10 @@ const styles = _reactNative.StyleSheet.create({
175
176
  gap: 16
176
177
  },
177
178
  section: {
178
- backgroundColor: _sharedUi.buoyColors.card,
179
+ backgroundColor: _sharedUi.night.color.surface,
179
180
  borderRadius: 16,
180
181
  borderWidth: 1,
181
- borderColor: _sharedUi.buoyColors.border,
182
+ borderColor: _sharedUi.night.color.border,
182
183
  overflow: "hidden"
183
184
  },
184
185
  storeList: {
@@ -196,10 +197,10 @@ const styles = _reactNative.StyleSheet.create({
196
197
  gap: 10,
197
198
  paddingVertical: 10,
198
199
  paddingHorizontal: 12,
199
- backgroundColor: _sharedUi.buoyColors.hover,
200
+ backgroundColor: _sharedUi.night.color.surfaceElevated,
200
201
  borderRadius: 8,
201
202
  borderWidth: 1,
202
- borderColor: _sharedUi.buoyColors.border
203
+ borderColor: _sharedUi.night.color.border
203
204
  },
204
205
  storeRowFiltered: {
205
206
  opacity: 0.45
@@ -216,13 +217,13 @@ const styles = _reactNative.StyleSheet.create({
216
217
  fontFamily: "monospace"
217
218
  },
218
219
  storeRowTextFiltered: {
219
- color: _sharedUi.macOSColors.text.muted,
220
+ color: _sharedUi.night.color.textTertiary,
220
221
  textDecorationLine: "line-through"
221
222
  },
222
223
  filteredLabel: {
223
224
  fontSize: 10,
224
225
  fontWeight: "500",
225
- color: _sharedUi.macOSColors.text.disabled,
226
+ color: _sharedUi.night.color.textTertiary,
226
227
  fontFamily: "monospace"
227
228
  },
228
229
  addLabel: {
@@ -246,21 +247,21 @@ const styles = _reactNative.StyleSheet.create({
246
247
  justifyContent: "space-between",
247
248
  paddingVertical: 10,
248
249
  paddingHorizontal: 12,
249
- backgroundColor: _sharedUi.buoyColors.hover,
250
+ backgroundColor: _sharedUi.night.color.surfaceElevated,
250
251
  borderRadius: 8,
251
252
  borderWidth: 1,
252
- borderColor: _sharedUi.buoyColors.border,
253
+ borderColor: _sharedUi.night.color.border,
253
254
  gap: 8
254
255
  },
255
256
  patternText: {
256
257
  flex: 1,
257
258
  fontSize: 12,
258
259
  fontFamily: "monospace",
259
- color: _sharedUi.buoyColors.text
260
+ color: _sharedUi.night.color.text
260
261
  },
261
262
  howItWorksText: {
262
263
  fontSize: 11,
263
- color: _sharedUi.buoyColors.textSecondary,
264
+ color: _sharedUi.night.color.textSecondary,
264
265
  lineHeight: 16,
265
266
  marginTop: 8,
266
267
  paddingHorizontal: 16,
@@ -271,20 +272,20 @@ const styles = _reactNative.StyleSheet.create({
271
272
  paddingHorizontal: 16,
272
273
  paddingBottom: 16,
273
274
  borderTopWidth: 1,
274
- borderTopColor: _sharedUi.buoyColors.border,
275
+ borderTopColor: _sharedUi.night.color.border,
275
276
  marginTop: 12
276
277
  },
277
278
  examplesTitle: {
278
279
  fontSize: 10,
279
280
  fontWeight: "600",
280
- color: _sharedUi.buoyColors.textMuted,
281
+ color: _sharedUi.night.color.textTertiary,
281
282
  fontFamily: "monospace",
282
283
  letterSpacing: 0.5,
283
284
  marginBottom: 6
284
285
  },
285
286
  exampleItem: {
286
287
  fontSize: 10,
287
- color: _sharedUi.buoyColors.textMuted,
288
+ color: _sharedUi.night.color.textTertiary,
288
289
  fontFamily: "monospace",
289
290
  lineHeight: 16
290
291
  }
@@ -30,7 +30,7 @@ function EventsEmptyState({
30
30
  style: styles.emptyState,
31
31
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Box, {
32
32
  size: 32,
33
- color: _sharedUi.macOSColors.text.muted
33
+ color: _sharedUi.night.color.textTertiary
34
34
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
35
35
  style: styles.emptyTitle,
36
36
  children: "No state changes"
@@ -300,12 +300,12 @@ function ZustandModal({
300
300
  style: styles.headerSearchContainer,
301
301
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
302
302
  size: 14,
303
- color: _sharedUi.macOSColors.text.secondary
303
+ color: _sharedUi.night.color.textSecondary
304
304
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
305
305
  ref: searchInputRef,
306
306
  style: styles.headerSearchInput,
307
307
  placeholder: activeTab === "stores" ? "Search stores..." : "Search events...",
308
- placeholderTextColor: _sharedUi.macOSColors.text.muted,
308
+ placeholderTextColor: _sharedUi.night.color.placeholder,
309
309
  value: searchText,
310
310
  onChangeText: handleSearch,
311
311
  onSubmitEditing: () => setIsSearchActive(false),
@@ -321,7 +321,7 @@ function ZustandModal({
321
321
  style: styles.headerSearchClear,
322
322
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.X, {
323
323
  size: 14,
324
- color: _sharedUi.macOSColors.text.secondary
324
+ color: _sharedUi.night.color.textSecondary
325
325
  })
326
326
  })]
327
327
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.TabSelector, {
@@ -341,14 +341,14 @@ function ZustandModal({
341
341
  style: styles.headerActionButton,
342
342
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
343
343
  size: 14,
344
- color: _sharedUi.macOSColors.text.secondary
344
+ color: _sharedUi.night.color.textSecondary
345
345
  })
346
346
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
347
347
  onPress: () => setShowFilters(true),
348
348
  style: [styles.headerActionButton, hasActiveFilters && styles.headerActionButtonActive],
349
349
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Filter, {
350
350
  size: 14,
351
- color: hasActiveFilters ? _sharedUi.macOSColors.semantic.debug : _sharedUi.macOSColors.text.secondary
351
+ color: hasActiveFilters ? _sharedUi.night.color.accent : _sharedUi.night.color.textSecondary
352
352
  })
353
353
  }), activeTab === "stores" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ToolbarCopyButton, {
354
354
  value: getStoresSnapshot,
@@ -415,7 +415,7 @@ function ZustandModal({
415
415
  style: styles.emptyState,
416
416
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Box, {
417
417
  size: 32,
418
- color: _sharedUi.macOSColors.text.muted
418
+ color: _sharedUi.night.color.textTertiary
419
419
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
420
420
  style: styles.emptyTitle,
421
421
  children: "No history yet"
@@ -443,7 +443,7 @@ function ZustandModal({
443
443
  style: styles.disabledBanner,
444
444
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Power, {
445
445
  size: 14,
446
- color: _sharedUi.macOSColors.semantic.warning
446
+ color: _sharedUi.night.color.warning
447
447
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
448
448
  style: styles.disabledText,
449
449
  children: "State capture is disabled"
@@ -454,7 +454,7 @@ function ZustandModal({
454
454
  activeOpacity: 0.8,
455
455
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Lock, {
456
456
  size: 14,
457
- color: _sharedUi.buoyColors.primary
457
+ color: _sharedUi.night.color.accent
458
458
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
459
459
  style: styles.lockedText,
460
460
  children: [lockedChangeCount, " older", " ", lockedChangeCount === 1 ? "change" : "changes", " locked"]
@@ -561,7 +561,9 @@ const styles = _reactNative.StyleSheet.create({
561
561
  inlineRoot: {
562
562
  flex: 1,
563
563
  minHeight: 0,
564
- backgroundColor: _sharedUi.macOSColors.background.base
564
+ // Transparent so the desktop workbench's hoisted sky (one field spanning
565
+ // sidebar + panel) shows through — the shell paints its base beneath it.
566
+ backgroundColor: "transparent"
565
567
  },
566
568
  inlineHeader: {
567
569
  paddingHorizontal: 12,
@@ -572,21 +574,22 @@ const styles = _reactNative.StyleSheet.create({
572
574
  },
573
575
  container: {
574
576
  flex: 1,
575
- backgroundColor: _sharedUi.macOSColors.background.base
577
+ // Transparent so JsModal's ToolBackground shows through (the modal paints opaque base beneath it).
578
+ backgroundColor: "transparent"
576
579
  },
577
580
  headerSearchContainer: {
578
581
  flexDirection: "row",
579
582
  alignItems: "center",
580
- backgroundColor: _sharedUi.macOSColors.background.input,
581
- borderRadius: 10,
583
+ backgroundColor: _sharedUi.night.color.surfaceElevated,
584
+ borderRadius: _sharedUi.night.radius.row,
582
585
  borderWidth: 1,
583
- borderColor: _sharedUi.macOSColors.border.default,
586
+ borderColor: _sharedUi.night.color.border,
584
587
  paddingHorizontal: 12,
585
588
  paddingVertical: 5
586
589
  },
587
590
  headerSearchInput: {
588
591
  flex: 1,
589
- color: _sharedUi.macOSColors.text.primary,
592
+ color: _sharedUi.night.color.text,
590
593
  fontSize: 13,
591
594
  marginLeft: 6,
592
595
  paddingVertical: 2
@@ -599,9 +602,9 @@ const styles = _reactNative.StyleSheet.create({
599
602
  width: 32,
600
603
  height: 32,
601
604
  borderRadius: 8,
602
- backgroundColor: _sharedUi.macOSColors.background.hover,
605
+ backgroundColor: _sharedUi.night.color.buttonSurface,
603
606
  borderWidth: 1,
604
- borderColor: _sharedUi.macOSColors.border.default,
607
+ borderColor: _sharedUi.night.color.border,
605
608
  alignItems: "center",
606
609
  justifyContent: "center"
607
610
  },
@@ -609,7 +612,8 @@ const styles = _reactNative.StyleSheet.create({
609
612
  opacity: 0.55
610
613
  },
611
614
  headerActionButtonActive: {
612
- backgroundColor: _sharedUi.macOSColors.semantic.infoBackground
615
+ backgroundColor: _sharedUi.night.color.accentSoft,
616
+ borderColor: _sharedUi.night.color.accentBorderStrong
613
617
  },
614
618
  disabledBanner: {
615
619
  flexDirection: "row",
@@ -618,13 +622,13 @@ const styles = _reactNative.StyleSheet.create({
618
622
  padding: 10,
619
623
  marginHorizontal: 12,
620
624
  marginTop: 8,
621
- backgroundColor: _sharedUi.macOSColors.semantic.warningBackground,
625
+ backgroundColor: _sharedUi.night.color.warningSoft,
622
626
  borderRadius: 8,
623
627
  borderWidth: 1,
624
- borderColor: _sharedUi.macOSColors.semantic.warning + "20"
628
+ borderColor: _sharedUi.night.color.warning + "20"
625
629
  },
626
630
  disabledText: {
627
- color: _sharedUi.macOSColors.semantic.warning,
631
+ color: _sharedUi.night.color.warning,
628
632
  fontSize: 11,
629
633
  flex: 1
630
634
  },
@@ -637,14 +641,14 @@ const styles = _reactNative.StyleSheet.create({
637
641
  paddingVertical: 40
638
642
  },
639
643
  emptyTitle: {
640
- color: _sharedUi.macOSColors.text.primary,
644
+ color: _sharedUi.night.color.text,
641
645
  fontSize: 14,
642
646
  fontWeight: "600",
643
647
  marginTop: 12,
644
648
  marginBottom: 6
645
649
  },
646
650
  emptyText: {
647
- color: _sharedUi.macOSColors.text.muted,
651
+ color: _sharedUi.night.color.textTertiary,
648
652
  fontSize: 12,
649
653
  textAlign: "center",
650
654
  lineHeight: 18
@@ -656,25 +660,26 @@ const styles = _reactNative.StyleSheet.create({
656
660
  padding: 10,
657
661
  marginHorizontal: 12,
658
662
  marginTop: 8,
659
- backgroundColor: _sharedUi.buoyColors.primary + "15",
663
+ backgroundColor: _sharedUi.night.color.accentSoft,
660
664
  borderRadius: 8,
661
665
  borderWidth: 1,
662
- borderColor: _sharedUi.buoyColors.primary + "33"
666
+ borderColor: _sharedUi.night.color.accentBorder
663
667
  },
664
668
  lockedText: {
665
- color: _sharedUi.buoyColors.primary,
669
+ color: _sharedUi.night.color.accent,
666
670
  fontSize: 11,
667
671
  fontWeight: "500",
668
672
  flex: 1
669
673
  },
670
674
  upgradeBadge: {
671
- backgroundColor: _sharedUi.buoyColors.primary,
675
+ backgroundColor: _sharedUi.night.color.accent,
672
676
  paddingHorizontal: 8,
673
677
  paddingVertical: 3,
674
678
  borderRadius: 4
675
679
  },
676
680
  upgradeBadgeText: {
677
- color: "#fff",
681
+ // Ink on a filled accent surface — the night accent takes dark ink.
682
+ color: _sharedUi.night.color.onAccent,
678
683
  fontSize: 9,
679
684
  fontWeight: "700",
680
685
  letterSpacing: 0.5
@@ -41,7 +41,7 @@ function getCategoryColor(category, storeName) {
41
41
  case "persist":
42
42
  return _sharedUi.buoyColors.info;
43
43
  case "initial":
44
- return _sharedUi.buoyColors.textMuted;
44
+ return _sharedUi.night.color.textTertiary;
45
45
  default:
46
46
  return _zustandStateStore.zustandStateStore.getStoreColor(storeName);
47
47
  }
@@ -257,7 +257,8 @@ function ZustandStateDetailFooter({
257
257
  const styles = _reactNative.StyleSheet.create({
258
258
  container: {
259
259
  flex: 1,
260
- backgroundColor: _sharedUi.macOSColors.background.base
260
+ // Transparent so the night sheet's star field shows through.
261
+ backgroundColor: "transparent"
261
262
  },
262
263
  contentArea: {
263
264
  flex: 1,
@@ -268,11 +269,11 @@ const styles = _reactNative.StyleSheet.create({
268
269
  padding: 14
269
270
  },
270
271
  contentCard: {
271
- backgroundColor: _sharedUi.macOSColors.background.card,
272
+ backgroundColor: _sharedUi.night.color.surface,
272
273
  borderRadius: 14,
273
274
  padding: 14,
274
275
  borderWidth: 1,
275
- borderColor: _sharedUi.macOSColors.border.default
276
+ borderColor: _sharedUi.night.color.border
276
277
  },
277
278
  valueHeader: {
278
279
  flexDirection: "row",
@@ -282,7 +283,7 @@ const styles = _reactNative.StyleSheet.create({
282
283
  },
283
284
  valueLabel: {
284
285
  fontSize: 10,
285
- color: _sharedUi.macOSColors.text.secondary,
286
+ color: _sharedUi.night.color.textSecondary,
286
287
  fontFamily: "monospace",
287
288
  letterSpacing: 0.5,
288
289
  fontWeight: "600"
@@ -307,24 +308,25 @@ const styles = _reactNative.StyleSheet.create({
307
308
  paddingHorizontal: 8,
308
309
  paddingVertical: 2,
309
310
  borderRadius: 4,
310
- backgroundColor: _sharedUi.macOSColors.background.input
311
+ backgroundColor: _sharedUi.night.color.surfaceElevated
311
312
  },
312
313
  typeText: {
313
314
  fontSize: 9,
314
315
  fontWeight: "600",
315
- color: _sharedUi.macOSColors.text.muted,
316
+ color: _sharedUi.night.color.textTertiary,
316
317
  fontFamily: "monospace"
317
318
  },
318
319
  valueBox: {
319
- backgroundColor: _sharedUi.macOSColors.background.base,
320
+ // Inset code box — darker than the card, the night track color.
321
+ backgroundColor: _sharedUi.night.color.bg,
320
322
  borderRadius: 6,
321
323
  borderWidth: 1,
322
- borderColor: _sharedUi.macOSColors.border.input,
324
+ borderColor: _sharedUi.night.color.border,
323
325
  padding: 8
324
326
  },
325
327
  valueText: {
326
328
  fontSize: 12,
327
- color: _sharedUi.macOSColors.text.primary,
329
+ color: _sharedUi.night.color.text,
328
330
  fontFamily: "monospace",
329
331
  lineHeight: 18
330
332
  },