@buoy-gg/shared-ui 7.0.25 → 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 (209) hide show
  1. package/lib/commonjs/JsModal.js +156 -20
  2. package/lib/commonjs/JsModal.web.js +85 -39
  3. package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +14 -4
  4. package/lib/commonjs/dataViewer/diffThemes.js +20 -18
  5. package/lib/commonjs/dataViewer/tree/TreeDiffViewer.js +8 -8
  6. package/lib/commonjs/hooks/safe-area-impl.js +1 -1
  7. package/lib/commonjs/icons/lucide-icons.js +74 -15
  8. package/lib/commonjs/index.js +86 -0
  9. package/lib/commonjs/ui/backgrounds/BackgroundSwitcher.js +248 -74
  10. package/lib/commonjs/ui/backgrounds/README.md +102 -20
  11. package/lib/commonjs/ui/backgrounds/backgroundStore.js +20 -6
  12. package/lib/commonjs/ui/backgrounds/index.js +91 -1
  13. package/lib/commonjs/ui/backgrounds/primitives.js +50 -14
  14. package/lib/commonjs/ui/backgrounds/registry.js +41 -64
  15. package/lib/commonjs/ui/backgrounds/rng.js +21 -0
  16. package/lib/commonjs/ui/backgrounds/skyClock.js +45 -0
  17. package/lib/commonjs/ui/backgrounds/variants/daylight.js +453 -0
  18. package/lib/commonjs/ui/backgrounds/variants/deepField.js +60 -30
  19. package/lib/commonjs/ui/backgrounds/variants/hyperspace.js +218 -0
  20. package/lib/commonjs/ui/backgrounds/variants/liveSky.js +898 -0
  21. package/lib/commonjs/ui/backgrounds/variants/meteors.js +257 -0
  22. package/lib/commonjs/ui/backgrounds/variants/moonlight.js +472 -0
  23. package/lib/commonjs/ui/backgrounds/variants/underwater.js +757 -0
  24. package/lib/commonjs/ui/components/Badge.js +11 -10
  25. package/lib/commonjs/ui/components/CompactRow.js +30 -17
  26. package/lib/commonjs/ui/components/DevToolsCard.js +12 -8
  27. package/lib/commonjs/ui/components/DynamicFilterView.js +43 -41
  28. package/lib/commonjs/ui/components/EventStepperFooter.js +38 -10
  29. package/lib/commonjs/ui/components/FilterComponents.js +11 -11
  30. package/lib/commonjs/ui/components/ModalHeader.js +13 -13
  31. package/lib/commonjs/ui/components/SectionHeader.js +3 -1
  32. package/lib/commonjs/ui/components/StorageTypeBadge.js +3 -2
  33. package/lib/commonjs/ui/components/TabSelector.js +56 -38
  34. package/lib/commonjs/ui/components/ValueTypeBadge.js +7 -6
  35. package/lib/commonjs/ui/components/WindowControls.js +37 -10
  36. package/lib/commonjs/ui/gameUI/constants/gameUIColors.js +8 -0
  37. package/lib/commonjs/ui/night/nightTheme.js +120 -0
  38. package/lib/commonjs/ui/night/primitives.js +498 -0
  39. package/lib/module/JsModal.js +156 -20
  40. package/lib/module/JsModal.web.js +83 -39
  41. package/lib/module/dataViewer/VirtualizedDataExplorer.js +14 -4
  42. package/lib/module/dataViewer/diffThemes.js +20 -18
  43. package/lib/module/dataViewer/tree/TreeDiffViewer.js +9 -9
  44. package/lib/module/hooks/safe-area-impl.js +1 -1
  45. package/lib/module/icons/lucide-icons.js +74 -15
  46. package/lib/module/index.js +4 -0
  47. package/lib/module/ui/backgrounds/BackgroundSwitcher.js +250 -76
  48. package/lib/module/ui/backgrounds/README.md +102 -20
  49. package/lib/module/ui/backgrounds/backgroundStore.js +19 -5
  50. package/lib/module/ui/backgrounds/index.js +11 -2
  51. package/lib/module/ui/backgrounds/primitives.js +53 -16
  52. package/lib/module/ui/backgrounds/registry.js +41 -64
  53. package/lib/module/ui/backgrounds/rng.js +20 -0
  54. package/lib/module/ui/backgrounds/skyClock.js +39 -0
  55. package/lib/module/ui/backgrounds/variants/daylight.js +449 -0
  56. package/lib/module/ui/backgrounds/variants/deepField.js +62 -31
  57. package/lib/module/ui/backgrounds/variants/hyperspace.js +214 -0
  58. package/lib/module/ui/backgrounds/variants/liveSky.js +893 -0
  59. package/lib/module/ui/backgrounds/variants/meteors.js +253 -0
  60. package/lib/module/ui/backgrounds/variants/moonlight.js +468 -0
  61. package/lib/module/ui/backgrounds/variants/underwater.js +753 -0
  62. package/lib/module/ui/components/Badge.js +11 -10
  63. package/lib/module/ui/components/CompactRow.js +30 -17
  64. package/lib/module/ui/components/DevToolsCard.js +12 -8
  65. package/lib/module/ui/components/DynamicFilterView.js +43 -41
  66. package/lib/module/ui/components/EventStepperFooter.js +38 -10
  67. package/lib/module/ui/components/FilterComponents.js +11 -11
  68. package/lib/module/ui/components/ModalHeader.js +13 -13
  69. package/lib/module/ui/components/SectionHeader.js +3 -1
  70. package/lib/module/ui/components/StorageTypeBadge.js +3 -2
  71. package/lib/module/ui/components/TabSelector.js +57 -39
  72. package/lib/module/ui/components/ValueTypeBadge.js +7 -6
  73. package/lib/module/ui/components/WindowControls.js +37 -10
  74. package/lib/module/ui/gameUI/constants/gameUIColors.js +8 -0
  75. package/lib/module/ui/night/nightTheme.js +116 -0
  76. package/lib/module/ui/night/primitives.js +485 -0
  77. package/lib/typescript/commonjs/JsModal.d.ts +18 -0
  78. package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/JsModal.web.d.ts +13 -0
  80. package/lib/typescript/commonjs/JsModal.web.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts +3 -1
  83. package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
  86. package/lib/typescript/commonjs/icons/lucide-icons.d.ts +12 -1
  87. package/lib/typescript/commonjs/icons/lucide-icons.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/index.d.ts +3 -0
  89. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/ui/backgrounds/BackgroundSwitcher.d.ts +26 -6
  91. package/lib/typescript/commonjs/ui/backgrounds/BackgroundSwitcher.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/ui/backgrounds/backgroundStore.d.ts +3 -0
  93. package/lib/typescript/commonjs/ui/backgrounds/backgroundStore.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/ui/backgrounds/index.d.ts +7 -1
  95. package/lib/typescript/commonjs/ui/backgrounds/index.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/ui/backgrounds/primitives.d.ts +18 -3
  97. package/lib/typescript/commonjs/ui/backgrounds/primitives.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/ui/backgrounds/registry.d.ts +8 -0
  99. package/lib/typescript/commonjs/ui/backgrounds/registry.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/ui/backgrounds/rng.d.ts +6 -0
  101. package/lib/typescript/commonjs/ui/backgrounds/rng.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ui/backgrounds/skyClock.d.ts +17 -0
  103. package/lib/typescript/commonjs/ui/backgrounds/skyClock.d.ts.map +1 -0
  104. package/lib/typescript/commonjs/ui/backgrounds/types.d.ts +1 -1
  105. package/lib/typescript/commonjs/ui/backgrounds/types.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/backgrounds/variants/daylight.d.ts +30 -0
  107. package/lib/typescript/commonjs/ui/backgrounds/variants/daylight.d.ts.map +1 -0
  108. package/lib/typescript/commonjs/ui/backgrounds/variants/deepField.d.ts +19 -4
  109. package/lib/typescript/commonjs/ui/backgrounds/variants/deepField.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/ui/backgrounds/variants/hyperspace.d.ts +39 -0
  111. package/lib/typescript/commonjs/ui/backgrounds/variants/hyperspace.d.ts.map +1 -0
  112. package/lib/typescript/commonjs/ui/backgrounds/variants/liveSky.d.ts +41 -0
  113. package/lib/typescript/commonjs/ui/backgrounds/variants/liveSky.d.ts.map +1 -0
  114. package/lib/typescript/commonjs/ui/backgrounds/variants/meteors.d.ts +26 -0
  115. package/lib/typescript/commonjs/ui/backgrounds/variants/meteors.d.ts.map +1 -0
  116. package/lib/typescript/commonjs/ui/backgrounds/variants/moonlight.d.ts +35 -0
  117. package/lib/typescript/commonjs/ui/backgrounds/variants/moonlight.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/ui/backgrounds/variants/underwater.d.ts +51 -0
  119. package/lib/typescript/commonjs/ui/backgrounds/variants/underwater.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/ui/components/Badge.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/ui/components/DynamicFilterView.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts +2 -0
  124. package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/ui/components/StorageTypeBadge.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/ui/components/TabSelector.d.ts +9 -0
  127. package/lib/typescript/commonjs/ui/components/TabSelector.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/ui/components/ValueTypeBadge.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/ui/components/WindowControls.d.ts +4 -2
  130. package/lib/typescript/commonjs/ui/components/WindowControls.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts +8 -0
  132. package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/ui/night/nightTheme.d.ts +113 -0
  134. package/lib/typescript/commonjs/ui/night/nightTheme.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/ui/night/primitives.d.ts +111 -0
  136. package/lib/typescript/commonjs/ui/night/primitives.d.ts.map +1 -0
  137. package/lib/typescript/module/JsModal.d.ts +18 -0
  138. package/lib/typescript/module/JsModal.d.ts.map +1 -1
  139. package/lib/typescript/module/JsModal.web.d.ts +13 -0
  140. package/lib/typescript/module/JsModal.web.d.ts.map +1 -1
  141. package/lib/typescript/module/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
  142. package/lib/typescript/module/dataViewer/diffThemes.d.ts +3 -1
  143. package/lib/typescript/module/dataViewer/diffThemes.d.ts.map +1 -1
  144. package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  145. package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
  146. package/lib/typescript/module/icons/lucide-icons.d.ts +12 -1
  147. package/lib/typescript/module/icons/lucide-icons.d.ts.map +1 -1
  148. package/lib/typescript/module/index.d.ts +3 -0
  149. package/lib/typescript/module/index.d.ts.map +1 -1
  150. package/lib/typescript/module/ui/backgrounds/BackgroundSwitcher.d.ts +26 -6
  151. package/lib/typescript/module/ui/backgrounds/BackgroundSwitcher.d.ts.map +1 -1
  152. package/lib/typescript/module/ui/backgrounds/backgroundStore.d.ts +3 -0
  153. package/lib/typescript/module/ui/backgrounds/backgroundStore.d.ts.map +1 -1
  154. package/lib/typescript/module/ui/backgrounds/index.d.ts +7 -1
  155. package/lib/typescript/module/ui/backgrounds/index.d.ts.map +1 -1
  156. package/lib/typescript/module/ui/backgrounds/primitives.d.ts +18 -3
  157. package/lib/typescript/module/ui/backgrounds/primitives.d.ts.map +1 -1
  158. package/lib/typescript/module/ui/backgrounds/registry.d.ts +8 -0
  159. package/lib/typescript/module/ui/backgrounds/registry.d.ts.map +1 -1
  160. package/lib/typescript/module/ui/backgrounds/rng.d.ts +6 -0
  161. package/lib/typescript/module/ui/backgrounds/rng.d.ts.map +1 -1
  162. package/lib/typescript/module/ui/backgrounds/skyClock.d.ts +17 -0
  163. package/lib/typescript/module/ui/backgrounds/skyClock.d.ts.map +1 -0
  164. package/lib/typescript/module/ui/backgrounds/types.d.ts +1 -1
  165. package/lib/typescript/module/ui/backgrounds/types.d.ts.map +1 -1
  166. package/lib/typescript/module/ui/backgrounds/variants/daylight.d.ts +30 -0
  167. package/lib/typescript/module/ui/backgrounds/variants/daylight.d.ts.map +1 -0
  168. package/lib/typescript/module/ui/backgrounds/variants/deepField.d.ts +19 -4
  169. package/lib/typescript/module/ui/backgrounds/variants/deepField.d.ts.map +1 -1
  170. package/lib/typescript/module/ui/backgrounds/variants/hyperspace.d.ts +39 -0
  171. package/lib/typescript/module/ui/backgrounds/variants/hyperspace.d.ts.map +1 -0
  172. package/lib/typescript/module/ui/backgrounds/variants/liveSky.d.ts +41 -0
  173. package/lib/typescript/module/ui/backgrounds/variants/liveSky.d.ts.map +1 -0
  174. package/lib/typescript/module/ui/backgrounds/variants/meteors.d.ts +26 -0
  175. package/lib/typescript/module/ui/backgrounds/variants/meteors.d.ts.map +1 -0
  176. package/lib/typescript/module/ui/backgrounds/variants/moonlight.d.ts +35 -0
  177. package/lib/typescript/module/ui/backgrounds/variants/moonlight.d.ts.map +1 -0
  178. package/lib/typescript/module/ui/backgrounds/variants/underwater.d.ts +51 -0
  179. package/lib/typescript/module/ui/backgrounds/variants/underwater.d.ts.map +1 -0
  180. package/lib/typescript/module/ui/components/Badge.d.ts.map +1 -1
  181. package/lib/typescript/module/ui/components/CompactRow.d.ts.map +1 -1
  182. package/lib/typescript/module/ui/components/DynamicFilterView.d.ts.map +1 -1
  183. package/lib/typescript/module/ui/components/EventStepperFooter.d.ts +2 -0
  184. package/lib/typescript/module/ui/components/EventStepperFooter.d.ts.map +1 -1
  185. package/lib/typescript/module/ui/components/StorageTypeBadge.d.ts.map +1 -1
  186. package/lib/typescript/module/ui/components/TabSelector.d.ts +9 -0
  187. package/lib/typescript/module/ui/components/TabSelector.d.ts.map +1 -1
  188. package/lib/typescript/module/ui/components/ValueTypeBadge.d.ts.map +1 -1
  189. package/lib/typescript/module/ui/components/WindowControls.d.ts +4 -2
  190. package/lib/typescript/module/ui/components/WindowControls.d.ts.map +1 -1
  191. package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts +8 -0
  192. package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts.map +1 -1
  193. package/lib/typescript/module/ui/night/nightTheme.d.ts +113 -0
  194. package/lib/typescript/module/ui/night/nightTheme.d.ts.map +1 -0
  195. package/lib/typescript/module/ui/night/primitives.d.ts +111 -0
  196. package/lib/typescript/module/ui/night/primitives.d.ts.map +1 -0
  197. package/package.json +4 -4
  198. package/lib/commonjs/ui/backgrounds/variants/lattice.js +0 -579
  199. package/lib/commonjs/ui/backgrounds/variants/starfield.js +0 -210
  200. package/lib/module/ui/backgrounds/variants/lattice.js +0 -575
  201. package/lib/module/ui/backgrounds/variants/starfield.js +0 -206
  202. package/lib/typescript/commonjs/ui/backgrounds/variants/lattice.d.ts +0 -33
  203. package/lib/typescript/commonjs/ui/backgrounds/variants/lattice.d.ts.map +0 -1
  204. package/lib/typescript/commonjs/ui/backgrounds/variants/starfield.d.ts +0 -12
  205. package/lib/typescript/commonjs/ui/backgrounds/variants/starfield.d.ts.map +0 -1
  206. package/lib/typescript/module/ui/backgrounds/variants/lattice.d.ts +0 -33
  207. package/lib/typescript/module/ui/backgrounds/variants/lattice.d.ts.map +0 -1
  208. package/lib/typescript/module/ui/backgrounds/variants/starfield.d.ts +0 -12
  209. package/lib/typescript/module/ui/backgrounds/variants/starfield.d.ts.map +0 -1
@@ -10,7 +10,7 @@ exports.FilterList = FilterList;
10
10
  exports.FilterSection = FilterSection;
11
11
  var _reactNative = require("react-native");
12
12
  var _index = require("../../icons/index.js");
13
- var _gameUIColors = require("../gameUI/constants/gameUIColors.js");
13
+ var _nightTheme = require("../night/nightTheme.js");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  // Container for filter section
16
16
 
@@ -173,7 +173,7 @@ function FilterList({
173
173
  const styles = _reactNative.StyleSheet.create({
174
174
  filterSection: {
175
175
  padding: 16,
176
- backgroundColor: _gameUIColors.buoyColors.base
176
+ backgroundColor: "transparent"
177
177
  },
178
178
  badge: {
179
179
  flexDirection: "row",
@@ -196,10 +196,10 @@ const styles = _reactNative.StyleSheet.create({
196
196
  inputContainer: {
197
197
  flexDirection: "row",
198
198
  alignItems: "center",
199
- backgroundColor: _gameUIColors.buoyColors.input,
199
+ backgroundColor: _nightTheme.night.color.surfaceElevated,
200
200
  borderRadius: 10,
201
201
  borderWidth: 1,
202
- borderColor: _gameUIColors.buoyColors.border,
202
+ borderColor: _nightTheme.night.color.border,
203
203
  paddingHorizontal: 14,
204
204
  paddingVertical: 10,
205
205
  marginBottom: 8
@@ -208,7 +208,7 @@ const styles = _reactNative.StyleSheet.create({
208
208
  flex: 1,
209
209
  fontSize: 13,
210
210
  paddingVertical: 0,
211
- color: _gameUIColors.buoyColors.text
211
+ color: _nightTheme.night.color.text
212
212
  },
213
213
  inputButtons: {
214
214
  flexDirection: "row",
@@ -218,7 +218,7 @@ const styles = _reactNative.StyleSheet.create({
218
218
  cancelButton: {
219
219
  padding: 4,
220
220
  borderRadius: 6,
221
- backgroundColor: _gameUIColors.buoyColors.hover
221
+ backgroundColor: _nightTheme.night.color.surfaceElevated
222
222
  },
223
223
  inlineAddButton: {
224
224
  paddingHorizontal: 12,
@@ -239,8 +239,8 @@ const styles = _reactNative.StyleSheet.create({
239
239
  borderRadius: 10,
240
240
  borderWidth: 1,
241
241
  borderStyle: "dashed",
242
- borderColor: _gameUIColors.buoyColors.border,
243
- backgroundColor: _gameUIColors.buoyColors.input
242
+ borderColor: _nightTheme.night.color.border,
243
+ backgroundColor: _nightTheme.night.color.surfaceElevated
244
244
  },
245
245
  addButtonText: {
246
246
  fontSize: 13,
@@ -256,17 +256,17 @@ const styles = _reactNative.StyleSheet.create({
256
256
  justifyContent: "space-between",
257
257
  paddingVertical: 10,
258
258
  paddingHorizontal: 12,
259
- backgroundColor: _gameUIColors.buoyColors.hover,
259
+ backgroundColor: _nightTheme.night.color.surfaceElevated,
260
260
  borderRadius: 8,
261
261
  borderWidth: 1,
262
- borderColor: _gameUIColors.buoyColors.border
262
+ borderColor: _nightTheme.night.color.border
263
263
  },
264
264
  filterItemText: {
265
265
  flex: 1,
266
266
  fontSize: 12,
267
267
  fontFamily: "monospace",
268
268
  marginRight: 8,
269
- color: _gameUIColors.buoyColors.text
269
+ color: _nightTheme.night.color.text
270
270
  },
271
271
  filterItemMeta: {
272
272
  marginRight: 8
@@ -11,7 +11,7 @@ exports.Navigation = Navigation;
11
11
  var _reactNative = require("react-native");
12
12
  var _react = require("react");
13
13
  var _index = require("../../icons/index.js");
14
- var _gameUIColors = require("../gameUI/constants/gameUIColors.js");
14
+ var _nightTheme = require("../night/nightTheme.js");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  // Base ModalHeader container component
17
17
  // Note: onClose and onMinimize are now handled by WindowControls in JsModal
@@ -45,7 +45,7 @@ function Navigation({
45
45
  style: styles.navigationButton,
46
46
  children: closeIcon || /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.X, {
47
47
  size: 20,
48
- color: _gameUIColors.buoyColors.textMuted
48
+ color: _nightTheme.night.color.textSecondary
49
49
  })
50
50
  })]
51
51
  });
@@ -58,7 +58,7 @@ function Navigation({
58
58
  style: styles.navigationButton,
59
59
  children: backIcon || /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ChevronLeft, {
60
60
  size: 20,
61
- color: _gameUIColors.buoyColors.textSecondary
61
+ color: _nightTheme.night.color.textSecondary
62
62
  })
63
63
  });
64
64
  }
@@ -71,7 +71,7 @@ function Navigation({
71
71
  style: styles.navigationButton,
72
72
  children: backIcon || /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ChevronLeft, {
73
73
  size: 20,
74
- color: _gameUIColors.buoyColors.textSecondary
74
+ color: _nightTheme.night.color.textSecondary
75
75
  })
76
76
  });
77
77
  }
@@ -139,12 +139,12 @@ function HeaderSearch({
139
139
  style: styles.searchContainer,
140
140
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Search, {
141
141
  size: 12,
142
- color: _gameUIColors.buoyColors.textSecondary
142
+ color: _nightTheme.night.color.textSecondary
143
143
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
144
144
  ref: inputRef,
145
145
  style: styles.searchInput,
146
146
  placeholder: placeholder,
147
- placeholderTextColor: _gameUIColors.buoyColors.textMuted,
147
+ placeholderTextColor: _nightTheme.night.color.placeholder,
148
148
  value: value,
149
149
  onChangeText: onChangeText,
150
150
  autoCorrect: false,
@@ -154,7 +154,7 @@ function HeaderSearch({
154
154
  style: styles.searchCancelButton,
155
155
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.X, {
156
156
  size: 12,
157
- color: _gameUIColors.buoyColors.textSecondary
157
+ color: _nightTheme.night.color.textSecondary
158
158
  })
159
159
  })]
160
160
  });
@@ -189,7 +189,7 @@ const styles = _reactNative.StyleSheet.create({
189
189
  justifyContent: "center"
190
190
  },
191
191
  headerTitle: {
192
- color: _gameUIColors.buoyColors.text,
192
+ color: _nightTheme.night.color.text,
193
193
  fontSize: 14,
194
194
  fontWeight: "500"
195
195
  },
@@ -198,7 +198,7 @@ const styles = _reactNative.StyleSheet.create({
198
198
  },
199
199
  headerSubtitle: {
200
200
  fontSize: 12,
201
- color: _gameUIColors.buoyColors.textSecondary,
201
+ color: _nightTheme.night.color.textSecondary,
202
202
  marginTop: 2
203
203
  },
204
204
  headerSubtitleCentered: {
@@ -217,21 +217,21 @@ const styles = _reactNative.StyleSheet.create({
217
217
  flexDirection: "row",
218
218
  alignItems: "center",
219
219
  flex: 1,
220
- backgroundColor: _gameUIColors.buoyColors.input,
221
- borderRadius: 6,
220
+ backgroundColor: _nightTheme.night.color.surfaceElevated,
221
+ borderRadius: 10,
222
222
  paddingHorizontal: 10,
223
223
  paddingVertical: 4,
224
224
  marginHorizontal: 12,
225
225
  marginVertical: 4,
226
226
  height: 32,
227
227
  borderWidth: 1,
228
- borderColor: _gameUIColors.buoyColors.border
228
+ borderColor: _nightTheme.night.color.border
229
229
  },
230
230
  searchInput: {
231
231
  flex: 1,
232
232
  marginLeft: 8,
233
233
  fontSize: 13,
234
- color: _gameUIColors.buoyColors.text,
234
+ color: _nightTheme.night.color.text,
235
235
  padding: 0,
236
236
  height: "100%"
237
237
  },
@@ -94,7 +94,9 @@ const styles = _reactNative.StyleSheet.create({
94
94
  alignItems: "center",
95
95
  paddingHorizontal: 16,
96
96
  paddingVertical: 8,
97
- backgroundColor: _gameUIColors.buoyColors.base,
97
+ // Transparent (was the opaque buoy base): section headers sit on night
98
+ // surfaces now, and an opaque strip breaks the star field behind them.
99
+ backgroundColor: "transparent",
98
100
  minHeight: 40
99
101
  },
100
102
  iconWrapper: {
@@ -7,6 +7,7 @@ exports.StorageTypeBadge = StorageTypeBadge;
7
7
  var _reactNative = require("react-native");
8
8
  var _index = require("../../icons/index.js");
9
9
  var _gameUIColors = require("../gameUI/constants/gameUIColors.js");
10
+ var _nightTheme = require("../night/nightTheme.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  function StorageTypeBadge({
12
13
  type,
@@ -17,13 +18,13 @@ function StorageTypeBadge({
17
18
  const getStorageColor = () => {
18
19
  switch (type) {
19
20
  case "async":
20
- return _gameUIColors.buoyColors.textSecondary;
21
+ return _nightTheme.night.color.textSecondary;
21
22
  case "mmkv":
22
23
  return _gameUIColors.buoyColors.success;
23
24
  case "secure":
24
25
  return _gameUIColors.buoyColors.warning;
25
26
  default:
26
- return _gameUIColors.buoyColors.textMuted;
27
+ return _nightTheme.night.color.textTertiary;
27
28
  }
28
29
  };
29
30
  const getStorageText = () => {
@@ -5,8 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.TabSelector = TabSelector;
7
7
  var _reactNative = require("react-native");
8
- var _gameUIColors = require("../gameUI/constants/gameUIColors.js");
8
+ var _nightTheme = require("../night/nightTheme.js");
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * Header tab strip — the night segmented control (see ui/night): `#050505`
12
+ * track, `#161618` thumb, accent underline glow under the active label.
13
+ *
14
+ * Same props API it has always had, so every tool header that mounts it got
15
+ * the night look in one shared edit. Visually identical to `NightSegmented`
16
+ * at its compact size — new night-native code should prefer that primitive;
17
+ * this component exists so existing consumers convert without a code change.
18
+ */
10
19
  function TabSelector({
11
20
  tabs,
12
21
  activeTab,
@@ -14,60 +23,69 @@ function TabSelector({
14
23
  }) {
15
24
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
16
25
  style: styles.container,
17
- children: tabs.map(tab => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
18
- "sentry-label": "ignore user interaction",
19
- accessibilityLabel: tab.label,
20
- accessibilityHint: `View ${tab.label.toLowerCase()}`,
21
- onPress: () => onTabChange(tab.key),
22
- style: [styles.tabButton, activeTab === tab.key ? styles.tabButtonActive : styles.tabButtonInactive],
23
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
24
- style: [styles.tabButtonText, activeTab === tab.key ? styles.tabButtonTextActive : styles.tabButtonTextInactive],
25
- children: tab.label
26
- })
27
- }, tab.key))
26
+ children: tabs.map(tab => {
27
+ const active = activeTab === tab.key;
28
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
29
+ "sentry-label": "ignore user interaction",
30
+ accessibilityRole: "tab",
31
+ accessibilityState: {
32
+ selected: active
33
+ },
34
+ accessibilityLabel: tab.label,
35
+ accessibilityHint: `View ${tab.label.toLowerCase()}`,
36
+ onPress: () => onTabChange(tab.key),
37
+ style: [styles.tabButton, active && styles.tabButtonActive],
38
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
39
+ style: [styles.tabButtonText, active && styles.tabButtonTextActive],
40
+ children: tab.label
41
+ }), active ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
42
+ style: styles.underline
43
+ }) : null]
44
+ }, tab.key);
45
+ })
28
46
  });
29
47
  }
30
48
  const styles = _reactNative.StyleSheet.create({
31
49
  container: {
32
50
  flexDirection: "row",
33
- backgroundColor: _gameUIColors.buoyColors.hover,
34
- borderRadius: 6,
35
- padding: 2,
51
+ backgroundColor: _nightTheme.night.color.bg,
52
+ borderRadius: _nightTheme.night.radius.row,
36
53
  borderWidth: 1,
37
- borderColor: _gameUIColors.buoyColors.border,
38
- justifyContent: "space-evenly",
39
- height: 28
54
+ borderColor: _nightTheme.night.color.border,
55
+ padding: 3
40
56
  },
41
57
  tabButton: {
42
- paddingHorizontal: 8,
43
- paddingVertical: 3,
44
- borderRadius: 4,
58
+ flex: 1,
59
+ paddingVertical: 5,
45
60
  alignItems: "center",
46
61
  justifyContent: "center",
47
- flex: 1,
48
- marginHorizontal: 1
62
+ borderRadius: _nightTheme.night.radius.segment
49
63
  },
50
- /**
51
- * The selected tab is marked with an accent ring.
52
- */
53
64
  tabButtonActive: {
54
- backgroundColor: _gameUIColors.buoyColors.primary + "20",
55
- borderWidth: 1,
56
- borderColor: _gameUIColors.buoyColors.primary
57
- },
58
- tabButtonInactive: {
59
- backgroundColor: "transparent"
65
+ backgroundColor: _nightTheme.night.color.surfaceElevated
60
66
  },
61
67
  tabButtonText: {
62
68
  fontSize: 12,
63
- fontWeight: "600",
64
- letterSpacing: 0.5,
65
- textTransform: "uppercase"
69
+ fontWeight: "500",
70
+ color: _nightTheme.night.color.textSecondary
66
71
  },
67
72
  tabButtonTextActive: {
68
- color: _gameUIColors.buoyColors.primary
73
+ fontWeight: "600",
74
+ color: _nightTheme.night.color.text
69
75
  },
70
- tabButtonTextInactive: {
71
- color: _gameUIColors.buoyColors.textMuted
76
+ underline: {
77
+ position: "absolute",
78
+ bottom: 1.5,
79
+ width: 20,
80
+ height: 2,
81
+ borderRadius: 1,
82
+ backgroundColor: _nightTheme.night.color.accent,
83
+ shadowColor: _nightTheme.night.color.accent,
84
+ shadowOffset: {
85
+ width: 0,
86
+ height: 0
87
+ },
88
+ shadowOpacity: 0.6,
89
+ shadowRadius: 6
72
90
  }
73
91
  });
@@ -7,6 +7,7 @@ exports.ValueTypeBadge = ValueTypeBadge;
7
7
  var _reactNative = require("react-native");
8
8
  var _index = require("../../icons/index.js");
9
9
  var _gameUIColors = require("../gameUI/constants/gameUIColors.js");
10
+ var _nightTheme = require("../night/nightTheme.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  function ValueTypeBadge({
12
13
  type,
@@ -75,12 +76,12 @@ function ValueTypeBadge({
75
76
  return _gameUIColors.buoyColors.primary;
76
77
  case "null":
77
78
  case "undefined":
78
- return _gameUIColors.buoyColors.textMuted;
79
+ return _nightTheme.night.color.textTertiary;
79
80
  case "object":
80
81
  case "array":
81
- return _gameUIColors.buoyColors.textSecondary;
82
+ return _nightTheme.night.color.textSecondary;
82
83
  default:
83
- return _gameUIColors.buoyColors.textMuted;
84
+ return _nightTheme.night.color.textTertiary;
84
85
  }
85
86
  };
86
87
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
@@ -135,12 +136,12 @@ const styles = _reactNative.StyleSheet.create({
135
136
  backgroundColor: _gameUIColors.buoyColors.primary + "1A"
136
137
  },
137
138
  secondaryBadge: {
138
- backgroundColor: _gameUIColors.buoyColors.textSecondary + "1A"
139
+ backgroundColor: _nightTheme.night.color.textSecondary + "1A"
139
140
  },
140
141
  mutedBadge: {
141
- backgroundColor: _gameUIColors.buoyColors.textMuted + "1A"
142
+ backgroundColor: _nightTheme.night.color.textTertiary + "1A"
142
143
  },
143
144
  defaultBadge: {
144
- backgroundColor: _gameUIColors.buoyColors.textMuted + "1A"
145
+ backgroundColor: _nightTheme.night.color.textTertiary + "1A"
145
146
  }
146
147
  });
@@ -9,6 +9,7 @@ var _react = require("react");
9
9
  var _reactNative = require("react-native");
10
10
  var _index = require("../../icons/index.js");
11
11
  var _gameUIColors = require("../gameUI/constants/gameUIColors.js");
12
+ var _nightTheme = require("../night/nightTheme.js");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  // ============================================================================
14
15
  // Global expandable setting — controlled via setExpandableWindowControls()
@@ -72,7 +73,8 @@ function WindowControls({
72
73
  onClose,
73
74
  onMinimize,
74
75
  onToggleMode,
75
- mode
76
+ mode,
77
+ variant = "night"
76
78
  }) {
77
79
  // Show action-based icon: what will happen when clicked
78
80
  const ToggleModeIcon = mode === "floating" ? _index.DockBottom : _index.FloatWindow;
@@ -125,15 +127,18 @@ function WindowControls({
125
127
  onClose: onClose,
126
128
  onMinimize: onMinimize,
127
129
  onToggleMode: onToggleMode,
128
- mode: mode
130
+ mode: mode,
131
+ variant: variant
129
132
  });
130
133
  }
131
134
  function ExpandableWindowControls({
132
135
  onClose,
133
136
  onMinimize,
134
137
  onToggleMode,
135
- mode
138
+ mode,
139
+ variant = "night"
136
140
  }) {
141
+ const isNight = variant === "night";
137
142
  const [expanded, setExpanded] = (0, _react.useState)(false);
138
143
  const [triggerLayout, setTriggerLayout] = (0, _react.useState)(null);
139
144
  const expandAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
@@ -267,38 +272,38 @@ function ExpandableWindowControls({
267
272
  }],
268
273
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableWithoutFeedback, {
269
274
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
270
- style: styles.expandedContainer,
275
+ style: [styles.expandedContainer, isNight && styles.nightExpandedContainer],
271
276
  children: [onMinimize && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
272
277
  onPress: () => handleAction(onMinimize),
273
- style: [styles.expandedButton, styles.minimizeButtonExpanded],
278
+ style: [styles.expandedButton, isNight ? styles.nightMinimizeButton : styles.minimizeButtonExpanded],
274
279
  activeOpacity: 0.7,
275
280
  accessibilityLabel: "Minimize modal",
276
281
  accessibilityRole: "button",
277
282
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Minus, {
278
283
  size: EXPANDED_ICON_SIZE,
279
- color: "#7A5A00",
284
+ color: isNight ? _nightTheme.night.color.warning : "#7A5A00",
280
285
  strokeWidth: 2
281
286
  })
282
287
  }), onToggleMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
283
288
  onPress: () => handleAction(onToggleMode),
284
- style: [styles.expandedButton, styles.expandButtonExpanded],
289
+ style: [styles.expandedButton, isNight ? styles.nightToggleButton : styles.expandButtonExpanded],
285
290
  activeOpacity: 0.7,
286
291
  accessibilityLabel: toggleModeLabel,
287
292
  accessibilityRole: "button",
288
293
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ToggleModeIcon, {
289
294
  size: EXPANDED_ICON_SIZE,
290
- color: "#004A1A",
295
+ color: isNight ? _nightTheme.night.color.accent : "#004A1A",
291
296
  strokeWidth: 2
292
297
  })
293
298
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
294
299
  onPress: () => handleAction(onClose),
295
- style: [styles.expandedButton, styles.closeButtonExpanded],
300
+ style: [styles.expandedButton, isNight ? styles.nightCloseButton : styles.closeButtonExpanded],
296
301
  activeOpacity: 0.7,
297
302
  accessibilityLabel: "Close modal",
298
303
  accessibilityRole: "button",
299
304
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.X, {
300
305
  size: EXPANDED_ICON_SIZE,
301
- color: "#4A0000",
306
+ color: isNight ? _nightTheme.night.color.danger : "#4A0000",
302
307
  strokeWidth: 2
303
308
  })
304
309
  })]
@@ -381,5 +386,27 @@ const styles = _reactNative.StyleSheet.create({
381
386
  },
382
387
  expandButtonExpanded: {
383
388
  backgroundColor: COLORS.toggleMode
389
+ },
390
+ // ── Night variant (Everlights language — see ui/night/nightTheme.ts):
391
+ // near-black plate, hairline border, soft-tinted circles with toned icons
392
+ // instead of the solid macOS traffic lights.
393
+ nightExpandedContainer: {
394
+ backgroundColor: _nightTheme.night.color.surface,
395
+ borderColor: _nightTheme.night.color.border
396
+ },
397
+ nightMinimizeButton: {
398
+ backgroundColor: _nightTheme.night.color.warningSoft,
399
+ borderWidth: 1,
400
+ borderColor: _nightTheme.night.color.warning + "59"
401
+ },
402
+ nightToggleButton: {
403
+ backgroundColor: _nightTheme.night.color.accentSoft,
404
+ borderWidth: 1,
405
+ borderColor: _nightTheme.night.color.accentBorderStrong
406
+ },
407
+ nightCloseButton: {
408
+ backgroundColor: _nightTheme.night.color.dangerSoft,
409
+ borderWidth: 1,
410
+ borderColor: _nightTheme.night.color.danger + "59"
384
411
  }
385
412
  });
@@ -178,6 +178,14 @@ const buoyColors = exports.buoyColors = {
178
178
  // Backgrounds (dark to light)
179
179
  base: "#121212",
180
180
  card: "#1A1A1A",
181
+ /**
182
+ * Card fill for surfaces that sit over a ToolBackground: translucent so the
183
+ * field reads through, but calibrated against the BRIGHTEST scene in the
184
+ * catalogue (Live Sky's noon clouds/sun bloom, ~215 luminance) so a card's
185
+ * backing stays ≤ ~45 luminance and text never washes out. Over the "off"
186
+ * preset it is visually indistinguishable from `card`.
187
+ */
188
+ cardScrim: "rgba(10,13,20,0.9)",
181
189
  hover: "#242424",
182
190
  input: "#2A2A2A",
183
191
  // Borders
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.night = exports.NIGHT_LABEL_TRACKING = void 0;
7
+ /**
8
+ * "Night" design tokens — the Everlights surface language, ported.
9
+ *
10
+ * A near-black, smooth, borderless-feeling system built to sit ON TOP of the
11
+ * shared ToolBackground star field: one `#050505` sheet the field shows
12
+ * through, `#0C0C0C` cards with hairline `#1A1A1C` borders, `#161618` rows
13
+ * inside them, uppercase section labels OUTSIDE the cards, and a single green
14
+ * accent that takes dark ink.
15
+ *
16
+ * Values are lifted 1:1 from the Everlights app's `constants/theme.ts`
17
+ * (`Palette` + `DarkColors`) and its modal tokens — that app is the design
18
+ * reference, so when in doubt match it, don't invent.
19
+ *
20
+ * THE ACCENT IS ONE SEAM: everything green reads `night.color.accent*`. The
21
+ * family is Buoy's brand green (`buoyColors.primary`, #20C997 — kept as
22
+ * literals so this module stays import-free); swapping it is a seven-line
23
+ * change here and nowhere else. `onAccent` stays black — this green wants
24
+ * dark ink.
25
+ *
26
+ * SCOPE: piloted on the dial menu's settings modal (JsModal `variant="night"`
27
+ * + DevToolsSettingsModal). If it sticks, convert the other tools to it.
28
+ */
29
+
30
+ const night = exports.night = {
31
+ color: {
32
+ /** The sheet itself — also the inset track of a segmented control. */
33
+ bg: "#050505",
34
+ /** A card. */
35
+ surface: "#0C0C0C",
36
+ /** A row or control inside a card. */
37
+ surfaceElevated: "#161618",
38
+ /** Hairline card border. */
39
+ border: "#1A1A1C",
40
+ /** Hairline between rows inside a card. */
41
+ separator: "rgba(255, 255, 255, 0.08)",
42
+ /** Neutral fills, lightest → strongest. */
43
+ fill: "rgba(255, 255, 255, 0.06)",
44
+ fillSecondary: "rgba(255, 255, 255, 0.08)",
45
+ fillTertiary: "rgba(255, 255, 255, 0.12)",
46
+ /** Chip resting fill — dark glass, readable over the star field. */
47
+ buttonSurface: "rgba(8, 10, 14, 0.85)",
48
+ /** Secondary/destructive button plate. */
49
+ button: "#1C1C1C",
50
+ buttonPressed: "#2C2C2E",
51
+ text: "#ECEDEE",
52
+ textSecondary: "#9BA1A6",
53
+ textTertiary: "#636366",
54
+ /** Drag handles, input placeholders. */
55
+ placeholder: "rgba(255, 255, 255, 0.30)",
56
+ /** The one accent (Buoy brand green). See the header note — one seam. */
57
+ accent: "#20C997",
58
+ accentPressed: "#1BAB80",
59
+ accentSoft: "rgba(32, 201, 151, 0.12)",
60
+ accentFill: "rgba(32, 201, 151, 0.18)",
61
+ accentBorder: "rgba(32, 201, 151, 0.20)",
62
+ accentBorderStrong: "rgba(32, 201, 151, 0.35)",
63
+ /** Ink on a filled accent surface — the accent takes DARK ink. */
64
+ onAccent: "#000000",
65
+ danger: "#FF3B30",
66
+ dangerSoft: "rgba(255, 59, 48, 0.10)",
67
+ warning: "#FF8329",
68
+ warningSoft: "rgba(255, 131, 41, 0.12)",
69
+ info: "#1E6DFF",
70
+ infoSoft: "rgba(30, 109, 255, 0.12)",
71
+ /** Switch thumb at rest (Everlights moon gray). */
72
+ knob: "#D4D8DC"
73
+ },
74
+ radius: {
75
+ /** Sheets and dialogs. */
76
+ sheet: 16,
77
+ /** Cards. */
78
+ card: 14,
79
+ /** Inputs and code blocks. */
80
+ input: 12,
81
+ /** Rows and inner controls; also the segmented-control track. */
82
+ row: 10,
83
+ /** Segment thumb inside a radius-10 track. */
84
+ segment: 8,
85
+ /** Small badges. */
86
+ badge: 6,
87
+ /** Zone-style chips. */
88
+ chip: 20,
89
+ /** Fully rounded pills (buttons use height/2 instead). */
90
+ pill: 999
91
+ },
92
+ /** Screen/sheet horizontal margin. */
93
+ gutter: 16,
94
+ /** Section labels sit 4pt in from the card edge. */
95
+ labelInset: 4,
96
+ /** Vertical rhythm between labeled card groups. */
97
+ groupGap: 24,
98
+ /** Card interior padding. */
99
+ cardPad: 14,
100
+ /** Row padding inside an edge-to-edge card. */
101
+ rowPadH: 16,
102
+ rowPadV: 14,
103
+ font: {
104
+ /** Sheet/modal titles. */
105
+ title: 17,
106
+ /** Row labels and values. */
107
+ row: 15,
108
+ /** Body copy, chip labels. */
109
+ body: 14,
110
+ /** Segmented-control labels, captions, footnotes. */
111
+ caption: 13,
112
+ /** Uppercase section labels. */
113
+ label: 12,
114
+ /** Uppercase micro labels (START/END style). */
115
+ micro: 11
116
+ }
117
+ };
118
+
119
+ /** Section labels track wide open, Everlights-style. */
120
+ const NIGHT_LABEL_TRACKING = exports.NIGHT_LABEL_TRACKING = 0.8;