@buoy-gg/shared-ui 7.0.34 → 7.0.36

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 (207) hide show
  1. package/lib/commonjs/dataViewer/CyberpunkInput.js +3 -2
  2. package/lib/commonjs/dataViewer/DataTreeActionBar.js +3 -2
  3. package/lib/commonjs/dataViewer/DataTreeActionDock.js +2 -1
  4. package/lib/commonjs/dataViewer/DiffSummary.js +4 -3
  5. package/lib/commonjs/dataViewer/LiveExplorer.js +11 -10
  6. package/lib/commonjs/dataViewer/SplitDiffViewer.js +10 -9
  7. package/lib/commonjs/dataViewer/ThemedSplitView.js +12 -11
  8. package/lib/commonjs/dataViewer/ValueEditModal.js +6 -5
  9. package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +4 -3
  10. package/lib/commonjs/dataViewer/tree/TreeDiffViewer.js +15 -14
  11. package/lib/commonjs/hooks/safe-area-impl.js +1 -1
  12. package/lib/commonjs/icons/index.js +540 -1
  13. package/lib/commonjs/index.js +48 -0
  14. package/lib/commonjs/license/FreeAccountPrompt.js +2 -1
  15. package/lib/commonjs/license/LicenseEntryModal.js +2 -1
  16. package/lib/commonjs/sync/keyedArrays.js +209 -0
  17. package/lib/commonjs/sync/toolAttention.test.js +51 -0
  18. package/lib/commonjs/sync/toolUiBridge.js +58 -0
  19. package/lib/commonjs/sync/typedEdit.js +228 -0
  20. package/lib/commonjs/sync/valuePath.js +337 -0
  21. package/lib/commonjs/sync/valueShape.js +161 -0
  22. package/lib/commonjs/ui/components/ChangeRow.js +2 -1
  23. package/lib/commonjs/ui/components/ClipboardHintBanner.js +2 -1
  24. package/lib/commonjs/ui/components/CompactRow.js +3 -2
  25. package/lib/commonjs/ui/components/DataInspector.js +3 -2
  26. package/lib/commonjs/ui/components/DetailView.js +2 -1
  27. package/lib/commonjs/ui/components/DynamicFilterView.js +8 -7
  28. package/lib/commonjs/ui/components/EntityFilterView.js +9 -8
  29. package/lib/commonjs/ui/components/EventHistoryViewer/CompareBar.js +5 -4
  30. package/lib/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.js +2 -1
  31. package/lib/commonjs/ui/components/EventHistoryViewer/EventPickerModal.js +5 -4
  32. package/lib/commonjs/ui/components/EventStepperFooter.js +4 -3
  33. package/lib/commonjs/ui/components/ExpandablePopover.js +48 -8
  34. package/lib/commonjs/ui/components/ExpandedInfoRow.js +3 -2
  35. package/lib/commonjs/ui/components/FilterComponents.js +2 -1
  36. package/lib/commonjs/ui/components/InfoRow.js +2 -1
  37. package/lib/commonjs/ui/components/Pill.js +2 -1
  38. package/lib/commonjs/ui/components/ToolFooter.js +3 -2
  39. package/lib/commonjs/ui/console/CyberpunkSectionButton.js +3 -2
  40. package/lib/commonjs/ui/fonts.js +12 -0
  41. package/lib/commonjs/ui/gameUI/components/GameUICollapsibleSection.js +4 -3
  42. package/lib/commonjs/ui/gameUI/components/GameUICompactStats.js +12 -11
  43. package/lib/commonjs/ui/gameUI/components/GameUIIssuesList.js +9 -8
  44. package/lib/commonjs/ui/gameUI/components/GameUIStatusHeader.js +4 -3
  45. package/lib/commonjs/ui/index.js +8 -0
  46. package/lib/commonjs/ui/toolTheme.js +4 -3
  47. package/lib/module/dataViewer/CyberpunkInput.js +3 -2
  48. package/lib/module/dataViewer/DataTreeActionBar.js +3 -2
  49. package/lib/module/dataViewer/DataTreeActionDock.js +2 -1
  50. package/lib/module/dataViewer/DiffSummary.js +4 -3
  51. package/lib/module/dataViewer/LiveExplorer.js +11 -11
  52. package/lib/module/dataViewer/SplitDiffViewer.js +10 -9
  53. package/lib/module/dataViewer/ThemedSplitView.js +12 -11
  54. package/lib/module/dataViewer/ValueEditModal.js +6 -5
  55. package/lib/module/dataViewer/VirtualizedDataExplorer.js +5 -4
  56. package/lib/module/dataViewer/tree/TreeDiffViewer.js +15 -15
  57. package/lib/module/hooks/safe-area-impl.js +1 -1
  58. package/lib/module/icons/index.js +29 -2
  59. package/lib/module/index.js +4 -0
  60. package/lib/module/license/FreeAccountPrompt.js +2 -2
  61. package/lib/module/license/LicenseEntryModal.js +3 -3
  62. package/lib/module/sync/keyedArrays.js +204 -0
  63. package/lib/module/sync/toolAttention.test.js +50 -0
  64. package/lib/module/sync/toolUiBridge.js +55 -0
  65. package/lib/module/sync/typedEdit.js +220 -0
  66. package/lib/module/sync/valuePath.js +330 -0
  67. package/lib/module/sync/valueShape.js +153 -0
  68. package/lib/module/ui/components/ChangeRow.js +2 -1
  69. package/lib/module/ui/components/ClipboardHintBanner.js +2 -1
  70. package/lib/module/ui/components/CompactRow.js +3 -2
  71. package/lib/module/ui/components/DataInspector.js +3 -2
  72. package/lib/module/ui/components/DetailView.js +2 -1
  73. package/lib/module/ui/components/DynamicFilterView.js +8 -7
  74. package/lib/module/ui/components/EntityFilterView.js +9 -8
  75. package/lib/module/ui/components/EventHistoryViewer/CompareBar.js +6 -5
  76. package/lib/module/ui/components/EventHistoryViewer/DiffModeTabs.js +3 -2
  77. package/lib/module/ui/components/EventHistoryViewer/EventPickerModal.js +6 -5
  78. package/lib/module/ui/components/EventStepperFooter.js +4 -3
  79. package/lib/module/ui/components/ExpandablePopover.js +48 -8
  80. package/lib/module/ui/components/ExpandedInfoRow.js +3 -2
  81. package/lib/module/ui/components/FilterComponents.js +2 -2
  82. package/lib/module/ui/components/InfoRow.js +2 -1
  83. package/lib/module/ui/components/Pill.js +2 -1
  84. package/lib/module/ui/components/ToolFooter.js +3 -2
  85. package/lib/module/ui/console/CyberpunkSectionButton.js +3 -2
  86. package/lib/module/ui/fonts.js +8 -0
  87. package/lib/module/ui/gameUI/components/GameUICollapsibleSection.js +4 -3
  88. package/lib/module/ui/gameUI/components/GameUICompactStats.js +12 -11
  89. package/lib/module/ui/gameUI/components/GameUIIssuesList.js +9 -8
  90. package/lib/module/ui/gameUI/components/GameUIStatusHeader.js +4 -3
  91. package/lib/module/ui/index.js +3 -0
  92. package/lib/module/ui/toolTheme.js +4 -4
  93. package/lib/typescript/commonjs/dataViewer/CyberpunkInput.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/dataViewer/DataTreeActionBar.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/dataViewer/DataTreeActionDock.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/dataViewer/DiffSummary.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/dataViewer/LiveExplorer.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/dataViewer/SplitDiffViewer.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/dataViewer/ThemedSplitView.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/dataViewer/ValueEditModal.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
  104. package/lib/typescript/commonjs/icons/index.d.ts +4 -1
  105. package/lib/typescript/commonjs/icons/index.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/index.d.ts +4 -0
  107. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/license/FreeAccountPrompt.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/license/LicenseEntryModal.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/sync/keyedArrays.d.ts +35 -0
  111. package/lib/typescript/commonjs/sync/keyedArrays.d.ts.map +1 -0
  112. package/lib/typescript/commonjs/sync/toolAttention.test.d.ts +2 -0
  113. package/lib/typescript/commonjs/sync/toolAttention.test.d.ts.map +1 -0
  114. package/lib/typescript/commonjs/sync/toolUiBridge.d.ts +25 -0
  115. package/lib/typescript/commonjs/sync/toolUiBridge.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/sync/typedEdit.d.ts +70 -0
  117. package/lib/typescript/commonjs/sync/typedEdit.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/sync/valuePath.d.ts +52 -0
  119. package/lib/typescript/commonjs/sync/valuePath.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/sync/valueShape.d.ts +77 -0
  121. package/lib/typescript/commonjs/sync/valueShape.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/ui/components/ChangeRow.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/ui/components/ClipboardHintBanner.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/ui/components/DataInspector.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/ui/components/DetailView.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/ui/components/DynamicFilterView.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/ui/components/EntityFilterView.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/CompareBar.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/ui/components/ExpandablePopover.d.ts +18 -1
  134. package/lib/typescript/commonjs/ui/components/ExpandablePopover.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/ui/components/ExpandedInfoRow.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/ui/components/FilterComponents.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/ui/components/InfoRow.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/ui/components/Pill.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/ui/components/ToolFooter.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/ui/console/CyberpunkSectionButton.d.ts.map +1 -1
  141. package/lib/typescript/commonjs/ui/fonts.d.ts +7 -0
  142. package/lib/typescript/commonjs/ui/fonts.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/ui/gameUI/components/GameUICompactStats.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/ui/gameUI/components/GameUIIssuesList.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/ui/gameUI/components/GameUIStatusHeader.d.ts.map +1 -1
  147. package/lib/typescript/commonjs/ui/index.d.ts +1 -0
  148. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/ui/toolTheme.d.ts.map +1 -1
  150. package/lib/typescript/module/dataViewer/CyberpunkInput.d.ts.map +1 -1
  151. package/lib/typescript/module/dataViewer/DataTreeActionBar.d.ts.map +1 -1
  152. package/lib/typescript/module/dataViewer/DataTreeActionDock.d.ts.map +1 -1
  153. package/lib/typescript/module/dataViewer/DiffSummary.d.ts.map +1 -1
  154. package/lib/typescript/module/dataViewer/LiveExplorer.d.ts.map +1 -1
  155. package/lib/typescript/module/dataViewer/SplitDiffViewer.d.ts.map +1 -1
  156. package/lib/typescript/module/dataViewer/ThemedSplitView.d.ts.map +1 -1
  157. package/lib/typescript/module/dataViewer/ValueEditModal.d.ts.map +1 -1
  158. package/lib/typescript/module/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
  159. package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  160. package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
  161. package/lib/typescript/module/icons/index.d.ts +4 -1
  162. package/lib/typescript/module/icons/index.d.ts.map +1 -1
  163. package/lib/typescript/module/index.d.ts +4 -0
  164. package/lib/typescript/module/index.d.ts.map +1 -1
  165. package/lib/typescript/module/license/FreeAccountPrompt.d.ts.map +1 -1
  166. package/lib/typescript/module/license/LicenseEntryModal.d.ts.map +1 -1
  167. package/lib/typescript/module/sync/keyedArrays.d.ts +35 -0
  168. package/lib/typescript/module/sync/keyedArrays.d.ts.map +1 -0
  169. package/lib/typescript/module/sync/toolAttention.test.d.ts +2 -0
  170. package/lib/typescript/module/sync/toolAttention.test.d.ts.map +1 -0
  171. package/lib/typescript/module/sync/toolUiBridge.d.ts +25 -0
  172. package/lib/typescript/module/sync/toolUiBridge.d.ts.map +1 -1
  173. package/lib/typescript/module/sync/typedEdit.d.ts +70 -0
  174. package/lib/typescript/module/sync/typedEdit.d.ts.map +1 -0
  175. package/lib/typescript/module/sync/valuePath.d.ts +52 -0
  176. package/lib/typescript/module/sync/valuePath.d.ts.map +1 -0
  177. package/lib/typescript/module/sync/valueShape.d.ts +77 -0
  178. package/lib/typescript/module/sync/valueShape.d.ts.map +1 -0
  179. package/lib/typescript/module/ui/components/ChangeRow.d.ts.map +1 -1
  180. package/lib/typescript/module/ui/components/ClipboardHintBanner.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/DataInspector.d.ts.map +1 -1
  183. package/lib/typescript/module/ui/components/DetailView.d.ts.map +1 -1
  184. package/lib/typescript/module/ui/components/DynamicFilterView.d.ts.map +1 -1
  185. package/lib/typescript/module/ui/components/EntityFilterView.d.ts.map +1 -1
  186. package/lib/typescript/module/ui/components/EventHistoryViewer/CompareBar.d.ts.map +1 -1
  187. package/lib/typescript/module/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
  188. package/lib/typescript/module/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +1 -1
  189. package/lib/typescript/module/ui/components/EventStepperFooter.d.ts.map +1 -1
  190. package/lib/typescript/module/ui/components/ExpandablePopover.d.ts +18 -1
  191. package/lib/typescript/module/ui/components/ExpandablePopover.d.ts.map +1 -1
  192. package/lib/typescript/module/ui/components/ExpandedInfoRow.d.ts.map +1 -1
  193. package/lib/typescript/module/ui/components/FilterComponents.d.ts.map +1 -1
  194. package/lib/typescript/module/ui/components/InfoRow.d.ts.map +1 -1
  195. package/lib/typescript/module/ui/components/Pill.d.ts.map +1 -1
  196. package/lib/typescript/module/ui/components/ToolFooter.d.ts.map +1 -1
  197. package/lib/typescript/module/ui/console/CyberpunkSectionButton.d.ts.map +1 -1
  198. package/lib/typescript/module/ui/fonts.d.ts +7 -0
  199. package/lib/typescript/module/ui/fonts.d.ts.map +1 -0
  200. package/lib/typescript/module/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +1 -1
  201. package/lib/typescript/module/ui/gameUI/components/GameUICompactStats.d.ts.map +1 -1
  202. package/lib/typescript/module/ui/gameUI/components/GameUIIssuesList.d.ts.map +1 -1
  203. package/lib/typescript/module/ui/gameUI/components/GameUIStatusHeader.d.ts.map +1 -1
  204. package/lib/typescript/module/ui/index.d.ts +1 -0
  205. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  206. package/lib/typescript/module/ui/toolTheme.d.ts.map +1 -1
  207. package/package.json +4 -4
@@ -10,6 +10,7 @@ var _index = require("../../icons/index.js");
10
10
  var _nightTheme = require("../night/nightTheme.js");
11
11
  var _SectionHeader = require("./SectionHeader.js");
12
12
  var _FilterComponents = require("./FilterComponents.js");
13
+ var _fonts = require("../fonts.js");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  /**
15
16
  * EntityFilterView — the "hide these by name" filter screen the state tools
@@ -268,7 +269,7 @@ const styles = _reactNative.StyleSheet.create({
268
269
  flex: 1,
269
270
  fontSize: 12,
270
271
  fontWeight: "600",
271
- fontFamily: "monospace"
272
+ fontFamily: _fonts.monoFont
272
273
  },
273
274
  entityTextHidden: {
274
275
  color: _nightTheme.night.color.textTertiary,
@@ -278,12 +279,12 @@ const styles = _reactNative.StyleSheet.create({
278
279
  fontSize: 10,
279
280
  fontWeight: "500",
280
281
  color: _nightTheme.night.color.textTertiary,
281
- fontFamily: "monospace"
282
+ fontFamily: _fonts.monoFont
282
283
  },
283
284
  addLabel: {
284
285
  fontSize: 10,
285
286
  fontWeight: "600",
286
- fontFamily: "monospace"
287
+ fontFamily: _fonts.monoFont
287
288
  },
288
289
  addInputWrapper: {
289
290
  paddingHorizontal: 16,
@@ -310,7 +311,7 @@ const styles = _reactNative.StyleSheet.create({
310
311
  patternText: {
311
312
  flex: 1,
312
313
  fontSize: 12,
313
- fontFamily: "monospace",
314
+ fontFamily: _fonts.monoFont,
314
315
  color: _nightTheme.night.color.text
315
316
  },
316
317
  emptyText: {
@@ -319,7 +320,7 @@ const styles = _reactNative.StyleSheet.create({
319
320
  paddingHorizontal: 16,
320
321
  paddingTop: 8,
321
322
  paddingBottom: 16,
322
- fontFamily: "monospace"
323
+ fontFamily: _fonts.monoFont
323
324
  },
324
325
  howItWorksText: {
325
326
  fontSize: 11,
@@ -327,7 +328,7 @@ const styles = _reactNative.StyleSheet.create({
327
328
  lineHeight: 16,
328
329
  marginTop: 8,
329
330
  paddingHorizontal: 16,
330
- fontFamily: "monospace"
331
+ fontFamily: _fonts.monoFont
331
332
  },
332
333
  examplesContainer: {
333
334
  paddingTop: 8,
@@ -341,14 +342,14 @@ const styles = _reactNative.StyleSheet.create({
341
342
  fontSize: 10,
342
343
  fontWeight: "600",
343
344
  color: _nightTheme.night.color.textTertiary,
344
- fontFamily: "monospace",
345
+ fontFamily: _fonts.monoFont,
345
346
  letterSpacing: 0.5,
346
347
  marginBottom: 6
347
348
  },
348
349
  exampleItem: {
349
350
  fontSize: 10,
350
351
  color: _nightTheme.night.color.textTertiary,
351
- fontFamily: "monospace",
352
+ fontFamily: _fonts.monoFont,
352
353
  lineHeight: 16
353
354
  }
354
355
  });
@@ -8,6 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _macOSDesignSystemColors = require("../../gameUI/constants/macOSDesignSystemColors.js");
10
10
  var _lucideIcons = require("../../../icons/lucide-icons.js");
11
+ var _fonts = require("../../fonts.js");
11
12
  var _jsxRuntime = require("react/jsx-runtime");
12
13
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
14
  /**
@@ -155,7 +156,7 @@ const styles = _reactNative.StyleSheet.create({
155
156
  },
156
157
  label: {
157
158
  fontSize: 10,
158
- fontFamily: "monospace",
159
+ fontFamily: _fonts.monoFont,
159
160
  fontWeight: "700",
160
161
  letterSpacing: 0.5,
161
162
  textTransform: "uppercase"
@@ -190,17 +191,17 @@ const styles = _reactNative.StyleSheet.create({
190
191
  index: {
191
192
  fontSize: 10,
192
193
  color: _macOSDesignSystemColors.macOSColors.text.secondary,
193
- fontFamily: "monospace"
194
+ fontFamily: _fonts.monoFont
194
195
  },
195
196
  time: {
196
197
  fontSize: 11,
197
198
  color: _macOSDesignSystemColors.macOSColors.text.primary,
198
- fontFamily: "monospace"
199
+ fontFamily: _fonts.monoFont
199
200
  },
200
201
  relative: {
201
202
  fontSize: 10,
202
203
  color: _macOSDesignSystemColors.macOSColors.text.secondary,
203
- fontFamily: "monospace"
204
+ fontFamily: _fonts.monoFont
204
205
  },
205
206
  divider: {
206
207
  width: 1,
@@ -7,6 +7,7 @@ exports.DiffModeTabs = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _macOSDesignSystemColors = require("../../gameUI/constants/macOSDesignSystemColors.js");
10
+ var _fonts = require("../../fonts.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
13
  /**
@@ -84,7 +85,7 @@ const styles = _reactNative.StyleSheet.create({
84
85
  },
85
86
  tabText: {
86
87
  fontSize: 11,
87
- fontFamily: "monospace",
88
+ fontFamily: _fonts.monoFont,
88
89
  fontWeight: "600",
89
90
  color: _macOSDesignSystemColors.macOSColors.text.secondary,
90
91
  letterSpacing: 0.5
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
9
9
  var _absoluteFill = require("../../../utils/absoluteFill.js");
10
10
  var _macOSDesignSystemColors = require("../../gameUI/constants/macOSDesignSystemColors.js");
11
11
  var _lucideIcons = require("../../../icons/lucide-icons.js");
12
+ var _fonts = require("../../fonts.js");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
15
  /**
@@ -123,7 +124,7 @@ const styles = _reactNative.StyleSheet.create({
123
124
  title: {
124
125
  fontSize: 13,
125
126
  fontWeight: "700",
126
- fontFamily: "monospace",
127
+ fontFamily: _fonts.monoFont,
127
128
  textTransform: "uppercase",
128
129
  marginBottom: 8,
129
130
  letterSpacing: 0.6
@@ -190,18 +191,18 @@ const styles = _reactNative.StyleSheet.create({
190
191
  itemIndex: {
191
192
  fontSize: 10,
192
193
  color: _macOSDesignSystemColors.macOSColors.text.secondary,
193
- fontFamily: "monospace",
194
+ fontFamily: _fonts.monoFont,
194
195
  width: 40
195
196
  },
196
197
  itemTime: {
197
198
  fontSize: 11,
198
199
  color: _macOSDesignSystemColors.macOSColors.text.primary,
199
- fontFamily: "monospace",
200
+ fontFamily: _fonts.monoFont,
200
201
  flex: 1
201
202
  },
202
203
  itemRelative: {
203
204
  fontSize: 10,
204
205
  color: _macOSDesignSystemColors.macOSColors.text.secondary,
205
- fontFamily: "monospace"
206
+ fontFamily: _fonts.monoFont
206
207
  }
207
208
  });
@@ -10,6 +10,7 @@ var _lucideIcons = require("../../icons/lucide-icons.js");
10
10
  var _macOSDesignSystemColors = require("../gameUI/constants/macOSDesignSystemColors.js");
11
11
  var _nightTheme = require("../night/nightTheme.js");
12
12
  var _useSafeAreaInsets = require("../../hooks/useSafeAreaInsets.js");
13
+ var _fonts = require("../fonts.js");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
16
  /**
@@ -137,7 +138,7 @@ const styles = _reactNative.StyleSheet.create({
137
138
  fontSize: 12,
138
139
  fontWeight: "600",
139
140
  color: _macOSDesignSystemColors.macOSColors.text.primary,
140
- fontFamily: "monospace",
141
+ fontFamily: _fonts.monoFont,
141
142
  textTransform: "uppercase"
142
143
  },
143
144
  navButtonTextDisabled: {
@@ -150,13 +151,13 @@ const styles = _reactNative.StyleSheet.create({
150
151
  fontSize: 14,
151
152
  fontWeight: "700",
152
153
  color: _macOSDesignSystemColors.macOSColors.text.primary,
153
- fontFamily: "monospace",
154
+ fontFamily: _fonts.monoFont,
154
155
  textTransform: "uppercase"
155
156
  },
156
157
  subtitleText: {
157
158
  fontSize: 11,
158
159
  color: _macOSDesignSystemColors.macOSColors.text.secondary,
159
- fontFamily: "monospace",
160
+ fontFamily: _fonts.monoFont,
160
161
  marginTop: 2
161
162
  },
162
163
  // ── Night variant (see ui/night/nightTheme.ts): near-black glass bar with
@@ -31,7 +31,9 @@ function CollapsedPeek({
31
31
  width,
32
32
  height,
33
33
  customContent,
34
- label
34
+ label,
35
+ testID,
36
+ attention
35
37
  }) {
36
38
  // When progress=0 (collapsed): peek is visible (opacity=1, scale=1)
37
39
  // When progress=1 (expanded): peek is hidden (opacity=0, scale=0.9)
@@ -51,16 +53,17 @@ function CollapsedPeek({
51
53
  scale
52
54
  }]
53
55
  }],
54
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
56
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
55
57
  onPress: onPress,
56
58
  activeOpacity: 0.8,
57
59
  style: [styles.peekButton, {
58
60
  width,
59
61
  height
60
62
  }],
61
- accessibilityLabel: label || `Expand options`,
63
+ accessibilityLabel: attention?.label ? `${label || "Expand options"} — ${attention.label}` : label || `Expand options`,
62
64
  accessibilityRole: "button",
63
- children: customContent || /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
65
+ testID: testID,
66
+ children: [customContent || /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
64
67
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ChevronUp, {
65
68
  size: 12,
66
69
  color: _gameUIColors.buoyColors.textMuted,
@@ -69,7 +72,17 @@ function CollapsedPeek({
69
72
  style: styles.peekCount,
70
73
  children: count
71
74
  })]
72
- })
75
+ }), attention ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
76
+ pointerEvents: "none",
77
+ testID: testID ? `${testID}-attention` : undefined,
78
+ style: [styles.peekAttention, {
79
+ backgroundColor: attention.color
80
+ }],
81
+ children: attention.glyph ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
82
+ style: styles.peekAttentionGlyph,
83
+ children: attention.glyph
84
+ }) : null
85
+ }) : null]
73
86
  })
74
87
  });
75
88
  }
@@ -85,7 +98,8 @@ function ExpandedWrapper({
85
98
  width,
86
99
  expandedHeight,
87
100
  isExpanded,
88
- style
101
+ style,
102
+ collapseTestID
89
103
  }) {
90
104
  // Animate height from 0 to full height
91
105
  const animatedHeight = progress.interpolate({
@@ -108,6 +122,7 @@ function ExpandedWrapper({
108
122
  style: styles.collapseButton,
109
123
  accessibilityLabel: "Collapse",
110
124
  accessibilityRole: "button",
125
+ testID: collapseTestID,
111
126
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ChevronUp, {
112
127
  size: 12,
113
128
  color: _gameUIColors.buoyColors.textMuted,
@@ -137,10 +152,13 @@ function ExpandablePopover({
137
152
  defaultExpanded = false,
138
153
  collapsedContent,
139
154
  collapsedLabel,
155
+ attention = null,
140
156
  expandedStyle,
141
157
  persistState = false,
142
158
  storageKey,
143
- peekHeight = DEFAULT_PEEK_HEIGHT
159
+ peekHeight = DEFAULT_PEEK_HEIGHT,
160
+ testID,
161
+ collapseTestID
144
162
  }) {
145
163
  const [isExpanded, setIsExpanded] = (0, _react.useState)(defaultExpanded);
146
164
  const [isStateRestored, setIsStateRestored] = (0, _react.useState)(!persistState);
@@ -243,6 +261,7 @@ function ExpandablePopover({
243
261
  style: styles.expandedWrapper,
244
262
  pointerEvents: isExpanded ? "box-none" : "none",
245
263
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ExpandedWrapper, {
264
+ collapseTestID: collapseTestID,
246
265
  onCollapse: handleCollapse,
247
266
  progress: progress,
248
267
  width: width,
@@ -262,7 +281,9 @@ function ExpandablePopover({
262
281
  width: width,
263
282
  height: peekHeight,
264
283
  customContent: collapsedContent,
265
- label: collapsedLabel
284
+ label: collapsedLabel,
285
+ testID: testID,
286
+ attention: attention
266
287
  })
267
288
  })]
268
289
  });
@@ -273,6 +294,25 @@ function ExpandablePopover({
273
294
  // ============================================================================
274
295
 
275
296
  const styles = _reactNative.StyleSheet.create({
297
+ peekAttention: {
298
+ position: "absolute",
299
+ top: 2,
300
+ right: 2,
301
+ minWidth: 11,
302
+ height: 11,
303
+ borderRadius: 6,
304
+ paddingHorizontal: 2,
305
+ alignItems: "center",
306
+ justifyContent: "center",
307
+ borderWidth: 1.5,
308
+ borderColor: "#0C0C0C"
309
+ },
310
+ peekAttentionGlyph: {
311
+ color: "#000",
312
+ fontSize: 8,
313
+ fontWeight: "800",
314
+ lineHeight: 9
315
+ },
276
316
  container: {
277
317
  overflow: "visible",
278
318
  zIndex: 1000
@@ -7,6 +7,7 @@ exports.ExpandedInfoRow = ExpandedInfoRow;
7
7
  exports.PillBadge = PillBadge;
8
8
  var _reactNative = require("react-native");
9
9
  var _macOSDesignSystemColors = require("../gameUI/constants/macOSDesignSystemColors.js");
10
+ var _fonts = require("../fonts.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  /**
12
13
  * ExpandedInfoRow
@@ -77,7 +78,7 @@ const styles = _reactNative.StyleSheet.create({
77
78
  color: _macOSDesignSystemColors.macOSColors.text.muted,
78
79
  fontWeight: "600",
79
80
  minWidth: 70,
80
- fontFamily: "monospace"
81
+ fontFamily: _fonts.monoFont
81
82
  },
82
83
  pill: {
83
84
  flexDirection: "row",
@@ -97,7 +98,7 @@ const styles = _reactNative.StyleSheet.create({
97
98
  pillText: {
98
99
  fontSize: 10,
99
100
  fontWeight: "700",
100
- fontFamily: "monospace",
101
+ fontFamily: _fonts.monoFont,
101
102
  letterSpacing: 0.5
102
103
  },
103
104
  pillTextSm: {
@@ -11,6 +11,7 @@ exports.FilterSection = FilterSection;
11
11
  var _reactNative = require("react-native");
12
12
  var _index = require("../../icons/index.js");
13
13
  var _nightTheme = require("../night/nightTheme.js");
14
+ var _fonts = require("../fonts.js");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  // Container for filter section
16
17
 
@@ -280,7 +281,7 @@ const styles = _reactNative.StyleSheet.create({
280
281
  filterItemText: {
281
282
  flex: 1,
282
283
  fontSize: 12,
283
- fontFamily: "monospace",
284
+ fontFamily: _fonts.monoFont,
284
285
  marginRight: 8,
285
286
  color: _nightTheme.night.color.text
286
287
  },
@@ -7,6 +7,7 @@ exports.InfoRow = InfoRow;
7
7
  var _reactNative = require("react-native");
8
8
  var _nightTheme = require("../night/nightTheme.js");
9
9
  var _CopyButton = require("./CopyButton.js");
10
+ var _fonts = require("../fonts.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  /**
12
13
  * InfoRow — the label / value line of every detail screen.
@@ -78,7 +79,7 @@ const styles = _reactNative.StyleSheet.create({
78
79
  marginLeft: 12
79
80
  },
80
81
  valueMono: {
81
- fontFamily: "monospace"
82
+ fontFamily: _fonts.monoFont
82
83
  },
83
84
  valueNode: {
84
85
  flex: 1,
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Pill = Pill;
7
7
  var _reactNative = require("react-native");
8
8
  var _nightTheme = require("../night/nightTheme.js");
9
+ var _fonts = require("../fonts.js");
9
10
  var _jsxRuntime = require("react/jsx-runtime");
10
11
  /**
11
12
  * Pill — the small caption chip every tool draws next to a row: a verdict
@@ -104,7 +105,7 @@ const styles = _reactNative.StyleSheet.create({
104
105
  fontSize: 11
105
106
  },
106
107
  mono: {
107
- fontFamily: "monospace"
108
+ fontFamily: _fonts.monoFont
108
109
  },
109
110
  upper: {
110
111
  textTransform: "uppercase",
@@ -11,6 +11,7 @@ exports.ToolFooter = ToolFooter;
11
11
  var _reactNative = require("react-native");
12
12
  var _nightTheme = require("../night/nightTheme.js");
13
13
  var _useSafeAreaInsets = require("../../hooks/useSafeAreaInsets.js");
14
+ var _fonts = require("../fonts.js");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  /**
16
17
  * ToolFooter — the night glass bar pinned to the bottom of a tool: dark
@@ -145,7 +146,7 @@ const styles = _reactNative.StyleSheet.create({
145
146
  message: {
146
147
  color: _nightTheme.night.color.info,
147
148
  fontSize: 10,
148
- fontFamily: "monospace"
149
+ fontFamily: _fonts.monoFont
149
150
  },
150
151
  messageMuted: {
151
152
  color: _nightTheme.night.color.textTertiary,
@@ -182,7 +183,7 @@ const styles = _reactNative.StyleSheet.create({
182
183
  fontSize: 10,
183
184
  fontWeight: "600",
184
185
  color: _nightTheme.night.color.textSecondary,
185
- fontFamily: "monospace",
186
+ fontFamily: _fonts.monoFont,
186
187
  textTransform: "uppercase"
187
188
  },
188
189
  buttonTextMd: {
@@ -9,6 +9,7 @@ var _index = require("../../icons/index.js");
9
9
  var _CyberpunkButtonOutline = require("./CyberpunkButtonOutline.js");
10
10
  var _CyberpunkIconContainer = require("./CyberpunkIconContainer.js");
11
11
  var _index2 = require("../gameUI/index.js");
12
+ var _fonts = require("../fonts.js");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  function CyberpunkSectionButton({
14
15
  id: _id,
@@ -95,14 +96,14 @@ const styles = _reactNative.StyleSheet.create({
95
96
  fontSize: 14,
96
97
  fontWeight: "700",
97
98
  letterSpacing: 0.5,
98
- fontFamily: "monospace"
99
+ fontFamily: _fonts.monoFont
99
100
  },
100
101
  subtitle: {
101
102
  fontSize: 12,
102
103
  fontWeight: "600",
103
104
  marginTop: 1,
104
105
  letterSpacing: 0.5,
105
- fontFamily: "monospace",
106
+ fontFamily: _fonts.monoFont,
106
107
  opacity: 0.85
107
108
  },
108
109
  arrowContainer: {
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "monoFont", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _floatingToolsCore.monoFont;
10
+ }
11
+ });
12
+ var _floatingToolsCore = require("@buoy-gg/floating-tools-core");
@@ -7,6 +7,7 @@ exports.GameUICollapsibleSection = GameUICollapsibleSection;
7
7
  var _reactNative = require("react-native");
8
8
  var _index = require("../../../icons/index.js");
9
9
  var _gameUIColors = require("../constants/gameUIColors.js");
10
+ var _fonts = require("../../fonts.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  /**
12
13
  * Reusable collapsible section component for Game UI
@@ -94,7 +95,7 @@ const styles = _reactNative.StyleSheet.create({
94
95
  title: {
95
96
  fontSize: 11,
96
97
  color: _gameUIColors.gameUIColors.primary,
97
- fontFamily: "monospace",
98
+ fontFamily: _fonts.monoFont,
98
99
  fontWeight: "700",
99
100
  letterSpacing: 2,
100
101
  opacity: 0.9
@@ -102,7 +103,7 @@ const styles = _reactNative.StyleSheet.create({
102
103
  subtitle: {
103
104
  fontSize: 9,
104
105
  color: _gameUIColors.gameUIColors.secondary,
105
- fontFamily: "monospace",
106
+ fontFamily: _fonts.monoFont,
106
107
  paddingHorizontal: 4,
107
108
  marginTop: 2,
108
109
  opacity: 0.7
@@ -114,7 +115,7 @@ const styles = _reactNative.StyleSheet.create({
114
115
  },
115
116
  badgeText: {
116
117
  fontSize: 10,
117
- fontFamily: "monospace",
118
+ fontFamily: _fonts.monoFont,
118
119
  fontWeight: "700"
119
120
  }
120
121
  });
@@ -7,6 +7,7 @@ exports.GameUICompactStats = GameUICompactStats;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
9
  var _gameUIColors = require("../constants/gameUIColors.js");
10
+ var _fonts = require("../../fonts.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  /**
12
13
  * Reusable compact stats display component
@@ -180,13 +181,13 @@ const styles = _reactNative.StyleSheet.create({
180
181
  fontSize: 11,
181
182
  fontWeight: "700",
182
183
  color: _gameUIColors.gameUIColors.primary,
183
- fontFamily: "monospace",
184
+ fontFamily: _fonts.monoFont,
184
185
  letterSpacing: 1.5
185
186
  },
186
187
  headerSubtitle: {
187
188
  fontSize: 8,
188
189
  color: _gameUIColors.gameUIColors.secondary,
189
- fontFamily: "monospace",
190
+ fontFamily: _fonts.monoFont,
190
191
  opacity: 0.7
191
192
  },
192
193
  statusIndicator: {
@@ -202,7 +203,7 @@ const styles = _reactNative.StyleSheet.create({
202
203
  statusText: {
203
204
  fontSize: 9,
204
205
  fontWeight: "600",
205
- fontFamily: "monospace",
206
+ fontFamily: _fonts.monoFont,
206
207
  letterSpacing: 0.5
207
208
  },
208
209
  // Health section
@@ -215,7 +216,7 @@ const styles = _reactNative.StyleSheet.create({
215
216
  healthLabel: {
216
217
  fontSize: 8,
217
218
  color: _gameUIColors.gameUIColors.secondary,
218
- fontFamily: "monospace",
219
+ fontFamily: _fonts.monoFont,
219
220
  letterSpacing: 0.5
220
221
  },
221
222
  healthBarWrapper: {
@@ -234,7 +235,7 @@ const styles = _reactNative.StyleSheet.create({
234
235
  healthPercentage: {
235
236
  fontSize: 11,
236
237
  fontWeight: "700",
237
- fontFamily: "monospace"
238
+ fontFamily: _fonts.monoFont
238
239
  },
239
240
  // Stats grid
240
241
  statsGrid: {
@@ -261,20 +262,20 @@ const styles = _reactNative.StyleSheet.create({
261
262
  cardLabel: {
262
263
  fontSize: 11,
263
264
  fontWeight: "700",
264
- fontFamily: "monospace",
265
+ fontFamily: _fonts.monoFont,
265
266
  letterSpacing: 0.5,
266
267
  color: _gameUIColors.gameUIColors.primary
267
268
  },
268
269
  cardSubtitle: {
269
270
  fontSize: 8,
270
271
  color: _gameUIColors.gameUIColors.secondary,
271
- fontFamily: "monospace",
272
+ fontFamily: _fonts.monoFont,
272
273
  opacity: 0.7
273
274
  },
274
275
  statNumber: {
275
276
  fontSize: 16,
276
277
  fontWeight: "700",
277
- fontFamily: "monospace",
278
+ fontFamily: _fonts.monoFont,
278
279
  minWidth: 28
279
280
  },
280
281
  valueBlock: {
@@ -283,7 +284,7 @@ const styles = _reactNative.StyleSheet.create({
283
284
  percentText: {
284
285
  fontSize: 9,
285
286
  color: _gameUIColors.gameUIColors.secondary,
286
- fontFamily: "monospace"
287
+ fontFamily: _fonts.monoFont
287
288
  },
288
289
  statBar: {
289
290
  height: 3,
@@ -309,7 +310,7 @@ const styles = _reactNative.StyleSheet.create({
309
310
  bottomStatLabel: {
310
311
  fontSize: 7,
311
312
  color: _gameUIColors.gameUIColors.muted,
312
- fontFamily: "monospace",
313
+ fontFamily: _fonts.monoFont,
313
314
  letterSpacing: 0.5,
314
315
  marginBottom: 1
315
316
  },
@@ -317,7 +318,7 @@ const styles = _reactNative.StyleSheet.create({
317
318
  fontSize: 11,
318
319
  fontWeight: "700",
319
320
  color: _gameUIColors.gameUIColors.primary,
320
- fontFamily: "monospace"
321
+ fontFamily: _fonts.monoFont
321
322
  },
322
323
  bottomDivider: {
323
324
  width: 1,