@buoy-gg/shared-ui 7.0.33 → 7.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/lib/commonjs/JsModal.js +57 -22
  2. package/lib/commonjs/dataViewer/CyberpunkInput.js +3 -2
  3. package/lib/commonjs/dataViewer/DataTreeActionBar.js +3 -2
  4. package/lib/commonjs/dataViewer/DataTreeActionDock.js +2 -1
  5. package/lib/commonjs/dataViewer/DiffSummary.js +4 -3
  6. package/lib/commonjs/dataViewer/LiveExplorer.js +11 -10
  7. package/lib/commonjs/dataViewer/SplitDiffViewer.js +10 -9
  8. package/lib/commonjs/dataViewer/ThemedSplitView.js +12 -11
  9. package/lib/commonjs/dataViewer/ValueEditModal.js +6 -5
  10. package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +4 -3
  11. package/lib/commonjs/dataViewer/tree/TreeDiffViewer.js +15 -14
  12. package/lib/commonjs/hooks/index.js +26 -0
  13. package/lib/commonjs/hooks/safe-area-impl.js +1 -1
  14. package/lib/commonjs/hooks/useChangeLog.js +55 -0
  15. package/lib/commonjs/hooks/useEventStoreEvents.js +65 -0
  16. package/lib/commonjs/hooks/usePersistedState.js +45 -10
  17. package/lib/commonjs/icons/index.js +533 -1
  18. package/lib/commonjs/index.js +143 -0
  19. package/lib/commonjs/license/FreeAccountPrompt.js +2 -1
  20. package/lib/commonjs/license/LicenseEntryModal.js +2 -1
  21. package/lib/commonjs/storage/definePersistedSetting.js +67 -0
  22. package/lib/commonjs/storage/index.js +8 -1
  23. package/lib/commonjs/stores/ChangeLog.js +197 -0
  24. package/lib/commonjs/stores/createToolStore.js +175 -0
  25. package/lib/commonjs/stores/index.js +15 -1
  26. package/lib/commonjs/sync/toolSyncAdapter.js +63 -0
  27. package/lib/commonjs/sync/wireForm.js +172 -0
  28. package/lib/commonjs/tools/defineTool.js +79 -0
  29. package/lib/commonjs/ui/components/ChangeRow.js +111 -0
  30. package/lib/commonjs/ui/components/ChipStrip.js +94 -0
  31. package/lib/commonjs/ui/components/ClipboardHintBanner.js +2 -1
  32. package/lib/commonjs/ui/components/CompactRow.js +3 -2
  33. package/lib/commonjs/ui/components/DataInspector.js +3 -2
  34. package/lib/commonjs/ui/components/DetailView.js +2 -1
  35. package/lib/commonjs/ui/components/DetailViewToggle.js +130 -0
  36. package/lib/commonjs/ui/components/DevToolsCard.js +3 -1
  37. package/lib/commonjs/ui/components/DynamicFilterView.js +8 -7
  38. package/lib/commonjs/ui/components/EntityFilterView.js +355 -0
  39. package/lib/commonjs/ui/components/EventHistoryViewer/CompareBar.js +5 -4
  40. package/lib/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.js +2 -1
  41. package/lib/commonjs/ui/components/EventHistoryViewer/EventPickerModal.js +5 -4
  42. package/lib/commonjs/ui/components/EventStepperFooter.js +4 -3
  43. package/lib/commonjs/ui/components/ExpandablePopover.js +12 -4
  44. package/lib/commonjs/ui/components/ExpandedInfoRow.js +3 -2
  45. package/lib/commonjs/ui/components/ExportPreview.js +174 -0
  46. package/lib/commonjs/ui/components/FilterComponents.js +2 -1
  47. package/lib/commonjs/ui/components/InfoRow.js +91 -0
  48. package/lib/commonjs/ui/components/ModalHeader.js +40 -7
  49. package/lib/commonjs/ui/components/Pill.js +115 -0
  50. package/lib/commonjs/ui/components/ToggleRow.js +116 -0
  51. package/lib/commonjs/ui/components/ToolFooter.js +205 -0
  52. package/lib/commonjs/ui/components/index.js +100 -1
  53. package/lib/commonjs/ui/console/CyberpunkSectionButton.js +3 -2
  54. package/lib/commonjs/ui/fonts.js +12 -0
  55. package/lib/commonjs/ui/gameUI/components/GameUICollapsibleSection.js +4 -3
  56. package/lib/commonjs/ui/gameUI/components/GameUICompactStats.js +12 -11
  57. package/lib/commonjs/ui/gameUI/components/GameUIIssuesList.js +9 -8
  58. package/lib/commonjs/ui/gameUI/components/GameUIStatusHeader.js +4 -3
  59. package/lib/commonjs/ui/index.js +32 -2
  60. package/lib/commonjs/ui/listPresets.js +43 -0
  61. package/lib/commonjs/ui/night/primitives.js +3 -1
  62. package/lib/commonjs/ui/toolTheme.js +4 -3
  63. package/lib/commonjs/utils/snapshotProviderKit.js +167 -0
  64. package/lib/commonjs/utils/stateTools.js +160 -0
  65. package/lib/module/JsModal.js +57 -22
  66. package/lib/module/dataViewer/CyberpunkInput.js +3 -2
  67. package/lib/module/dataViewer/DataTreeActionBar.js +3 -2
  68. package/lib/module/dataViewer/DataTreeActionDock.js +2 -1
  69. package/lib/module/dataViewer/DiffSummary.js +4 -3
  70. package/lib/module/dataViewer/LiveExplorer.js +11 -11
  71. package/lib/module/dataViewer/SplitDiffViewer.js +10 -9
  72. package/lib/module/dataViewer/ThemedSplitView.js +12 -11
  73. package/lib/module/dataViewer/ValueEditModal.js +6 -5
  74. package/lib/module/dataViewer/VirtualizedDataExplorer.js +5 -4
  75. package/lib/module/dataViewer/tree/TreeDiffViewer.js +15 -15
  76. package/lib/module/hooks/index.js +3 -1
  77. package/lib/module/hooks/safe-area-impl.js +1 -1
  78. package/lib/module/hooks/useChangeLog.js +50 -0
  79. package/lib/module/hooks/useEventStoreEvents.js +61 -0
  80. package/lib/module/hooks/usePersistedState.js +44 -10
  81. package/lib/module/icons/index.js +27 -2
  82. package/lib/module/index.js +11 -1
  83. package/lib/module/license/FreeAccountPrompt.js +2 -2
  84. package/lib/module/license/LicenseEntryModal.js +3 -3
  85. package/lib/module/storage/definePersistedSetting.js +63 -0
  86. package/lib/module/storage/index.js +2 -1
  87. package/lib/module/stores/ChangeLog.js +192 -0
  88. package/lib/module/stores/createToolStore.js +171 -0
  89. package/lib/module/stores/index.js +3 -1
  90. package/lib/module/sync/toolSyncAdapter.js +58 -0
  91. package/lib/module/sync/wireForm.js +159 -0
  92. package/lib/module/tools/defineTool.js +74 -0
  93. package/lib/module/ui/components/ChangeRow.js +106 -0
  94. package/lib/module/ui/components/ChipStrip.js +91 -0
  95. package/lib/module/ui/components/ClipboardHintBanner.js +2 -1
  96. package/lib/module/ui/components/CompactRow.js +3 -2
  97. package/lib/module/ui/components/DataInspector.js +3 -2
  98. package/lib/module/ui/components/DetailView.js +2 -1
  99. package/lib/module/ui/components/DetailViewToggle.js +125 -0
  100. package/lib/module/ui/components/DevToolsCard.js +3 -1
  101. package/lib/module/ui/components/DynamicFilterView.js +8 -7
  102. package/lib/module/ui/components/EntityFilterView.js +351 -0
  103. package/lib/module/ui/components/EventHistoryViewer/CompareBar.js +6 -5
  104. package/lib/module/ui/components/EventHistoryViewer/DiffModeTabs.js +3 -2
  105. package/lib/module/ui/components/EventHistoryViewer/EventPickerModal.js +6 -5
  106. package/lib/module/ui/components/EventStepperFooter.js +4 -3
  107. package/lib/module/ui/components/ExpandablePopover.js +12 -4
  108. package/lib/module/ui/components/ExpandedInfoRow.js +3 -2
  109. package/lib/module/ui/components/ExportPreview.js +169 -0
  110. package/lib/module/ui/components/FilterComponents.js +2 -2
  111. package/lib/module/ui/components/InfoRow.js +87 -0
  112. package/lib/module/ui/components/ModalHeader.js +40 -7
  113. package/lib/module/ui/components/Pill.js +111 -0
  114. package/lib/module/ui/components/ToggleRow.js +112 -0
  115. package/lib/module/ui/components/ToolFooter.js +197 -0
  116. package/lib/module/ui/components/index.js +10 -1
  117. package/lib/module/ui/console/CyberpunkSectionButton.js +3 -2
  118. package/lib/module/ui/fonts.js +8 -0
  119. package/lib/module/ui/gameUI/components/GameUICollapsibleSection.js +4 -3
  120. package/lib/module/ui/gameUI/components/GameUICompactStats.js +12 -11
  121. package/lib/module/ui/gameUI/components/GameUIIssuesList.js +9 -8
  122. package/lib/module/ui/gameUI/components/GameUIStatusHeader.js +4 -3
  123. package/lib/module/ui/index.js +7 -1
  124. package/lib/module/ui/listPresets.js +39 -0
  125. package/lib/module/ui/night/primitives.js +3 -1
  126. package/lib/module/ui/toolTheme.js +4 -4
  127. package/lib/module/utils/snapshotProviderKit.js +156 -0
  128. package/lib/module/utils/stateTools.js +154 -0
  129. package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/dataViewer/CyberpunkInput.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/dataViewer/DataTreeActionBar.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/dataViewer/DataTreeActionDock.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/dataViewer/DiffSummary.d.ts.map +1 -1
  134. package/lib/typescript/commonjs/dataViewer/LiveExplorer.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/dataViewer/SplitDiffViewer.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/dataViewer/ThemedSplitView.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/dataViewer/ValueEditModal.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/hooks/index.d.ts +3 -1
  141. package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
  143. package/lib/typescript/commonjs/hooks/useChangeLog.d.ts +38 -0
  144. package/lib/typescript/commonjs/hooks/useChangeLog.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/hooks/useEventStoreEvents.d.ts +25 -0
  146. package/lib/typescript/commonjs/hooks/useEventStoreEvents.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/hooks/usePersistedState.d.ts +34 -5
  148. package/lib/typescript/commonjs/hooks/usePersistedState.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/icons/index.d.ts +4 -1
  150. package/lib/typescript/commonjs/icons/index.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/index.d.ts +6 -1
  152. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/license/FreeAccountPrompt.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/license/LicenseEntryModal.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/storage/definePersistedSetting.d.ts +39 -0
  156. package/lib/typescript/commonjs/storage/definePersistedSetting.d.ts.map +1 -0
  157. package/lib/typescript/commonjs/storage/index.d.ts +1 -0
  158. package/lib/typescript/commonjs/storage/index.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/stores/ChangeLog.d.ts +100 -0
  160. package/lib/typescript/commonjs/stores/ChangeLog.d.ts.map +1 -0
  161. package/lib/typescript/commonjs/stores/createToolStore.d.ts +92 -0
  162. package/lib/typescript/commonjs/stores/createToolStore.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/stores/index.d.ts +2 -0
  164. package/lib/typescript/commonjs/stores/index.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/sync/toolSyncAdapter.d.ts +66 -0
  166. package/lib/typescript/commonjs/sync/toolSyncAdapter.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/sync/wireForm.d.ts +100 -0
  168. package/lib/typescript/commonjs/sync/wireForm.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/tools/defineTool.d.ts +100 -0
  170. package/lib/typescript/commonjs/tools/defineTool.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/ui/components/ChangeRow.d.ts +52 -0
  172. package/lib/typescript/commonjs/ui/components/ChangeRow.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/ui/components/ChipStrip.d.ts +41 -0
  174. package/lib/typescript/commonjs/ui/components/ChipStrip.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/ui/components/ClipboardHintBanner.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/ui/components/DataInspector.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/ui/components/DetailView.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/ui/components/DetailViewToggle.d.ts +36 -0
  180. package/lib/typescript/commonjs/ui/components/DetailViewToggle.d.ts.map +1 -0
  181. package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts +8 -1
  182. package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/ui/components/DynamicFilterView.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/ui/components/EntityFilterView.d.ts +51 -0
  185. package/lib/typescript/commonjs/ui/components/EntityFilterView.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/CompareBar.d.ts.map +1 -1
  187. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
  188. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +1 -1
  189. package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts.map +1 -1
  190. package/lib/typescript/commonjs/ui/components/ExpandablePopover.d.ts +5 -1
  191. package/lib/typescript/commonjs/ui/components/ExpandablePopover.d.ts.map +1 -1
  192. package/lib/typescript/commonjs/ui/components/ExpandedInfoRow.d.ts.map +1 -1
  193. package/lib/typescript/commonjs/ui/components/ExportPreview.d.ts +48 -0
  194. package/lib/typescript/commonjs/ui/components/ExportPreview.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/ui/components/FilterComponents.d.ts.map +1 -1
  196. package/lib/typescript/commonjs/ui/components/InfoRow.d.ts +33 -0
  197. package/lib/typescript/commonjs/ui/components/InfoRow.d.ts.map +1 -0
  198. package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts +31 -1
  199. package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts.map +1 -1
  200. package/lib/typescript/commonjs/ui/components/Pill.d.ts +38 -0
  201. package/lib/typescript/commonjs/ui/components/Pill.d.ts.map +1 -0
  202. package/lib/typescript/commonjs/ui/components/ToggleRow.d.ts +33 -0
  203. package/lib/typescript/commonjs/ui/components/ToggleRow.d.ts.map +1 -0
  204. package/lib/typescript/commonjs/ui/components/ToolFooter.d.ts +69 -0
  205. package/lib/typescript/commonjs/ui/components/ToolFooter.d.ts.map +1 -0
  206. package/lib/typescript/commonjs/ui/components/index.d.ts +9 -0
  207. package/lib/typescript/commonjs/ui/components/index.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/ui/console/CyberpunkSectionButton.d.ts.map +1 -1
  209. package/lib/typescript/commonjs/ui/fonts.d.ts +7 -0
  210. package/lib/typescript/commonjs/ui/fonts.d.ts.map +1 -0
  211. package/lib/typescript/commonjs/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/ui/gameUI/components/GameUICompactStats.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/ui/gameUI/components/GameUIIssuesList.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/ui/gameUI/components/GameUIStatusHeader.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/ui/index.d.ts +2 -0
  216. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/ui/listPresets.d.ts +28 -0
  218. package/lib/typescript/commonjs/ui/listPresets.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/ui/night/primitives.d.ts +3 -1
  220. package/lib/typescript/commonjs/ui/night/primitives.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/ui/toolTheme.d.ts.map +1 -1
  222. package/lib/typescript/commonjs/utils/snapshotProviderKit.d.ts +81 -0
  223. package/lib/typescript/commonjs/utils/snapshotProviderKit.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/utils/stateTools.d.ts +44 -0
  225. package/lib/typescript/commonjs/utils/stateTools.d.ts.map +1 -0
  226. package/lib/typescript/module/JsModal.d.ts.map +1 -1
  227. package/lib/typescript/module/dataViewer/CyberpunkInput.d.ts.map +1 -1
  228. package/lib/typescript/module/dataViewer/DataTreeActionBar.d.ts.map +1 -1
  229. package/lib/typescript/module/dataViewer/DataTreeActionDock.d.ts.map +1 -1
  230. package/lib/typescript/module/dataViewer/DiffSummary.d.ts.map +1 -1
  231. package/lib/typescript/module/dataViewer/LiveExplorer.d.ts.map +1 -1
  232. package/lib/typescript/module/dataViewer/SplitDiffViewer.d.ts.map +1 -1
  233. package/lib/typescript/module/dataViewer/ThemedSplitView.d.ts.map +1 -1
  234. package/lib/typescript/module/dataViewer/ValueEditModal.d.ts.map +1 -1
  235. package/lib/typescript/module/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
  236. package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  237. package/lib/typescript/module/hooks/index.d.ts +3 -1
  238. package/lib/typescript/module/hooks/index.d.ts.map +1 -1
  239. package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
  240. package/lib/typescript/module/hooks/useChangeLog.d.ts +38 -0
  241. package/lib/typescript/module/hooks/useChangeLog.d.ts.map +1 -0
  242. package/lib/typescript/module/hooks/useEventStoreEvents.d.ts +25 -0
  243. package/lib/typescript/module/hooks/useEventStoreEvents.d.ts.map +1 -0
  244. package/lib/typescript/module/hooks/usePersistedState.d.ts +34 -5
  245. package/lib/typescript/module/hooks/usePersistedState.d.ts.map +1 -1
  246. package/lib/typescript/module/icons/index.d.ts +4 -1
  247. package/lib/typescript/module/icons/index.d.ts.map +1 -1
  248. package/lib/typescript/module/index.d.ts +6 -1
  249. package/lib/typescript/module/index.d.ts.map +1 -1
  250. package/lib/typescript/module/license/FreeAccountPrompt.d.ts.map +1 -1
  251. package/lib/typescript/module/license/LicenseEntryModal.d.ts.map +1 -1
  252. package/lib/typescript/module/storage/definePersistedSetting.d.ts +39 -0
  253. package/lib/typescript/module/storage/definePersistedSetting.d.ts.map +1 -0
  254. package/lib/typescript/module/storage/index.d.ts +1 -0
  255. package/lib/typescript/module/storage/index.d.ts.map +1 -1
  256. package/lib/typescript/module/stores/ChangeLog.d.ts +100 -0
  257. package/lib/typescript/module/stores/ChangeLog.d.ts.map +1 -0
  258. package/lib/typescript/module/stores/createToolStore.d.ts +92 -0
  259. package/lib/typescript/module/stores/createToolStore.d.ts.map +1 -0
  260. package/lib/typescript/module/stores/index.d.ts +2 -0
  261. package/lib/typescript/module/stores/index.d.ts.map +1 -1
  262. package/lib/typescript/module/sync/toolSyncAdapter.d.ts +66 -0
  263. package/lib/typescript/module/sync/toolSyncAdapter.d.ts.map +1 -0
  264. package/lib/typescript/module/sync/wireForm.d.ts +100 -0
  265. package/lib/typescript/module/sync/wireForm.d.ts.map +1 -0
  266. package/lib/typescript/module/tools/defineTool.d.ts +100 -0
  267. package/lib/typescript/module/tools/defineTool.d.ts.map +1 -0
  268. package/lib/typescript/module/ui/components/ChangeRow.d.ts +52 -0
  269. package/lib/typescript/module/ui/components/ChangeRow.d.ts.map +1 -0
  270. package/lib/typescript/module/ui/components/ChipStrip.d.ts +41 -0
  271. package/lib/typescript/module/ui/components/ChipStrip.d.ts.map +1 -0
  272. package/lib/typescript/module/ui/components/ClipboardHintBanner.d.ts.map +1 -1
  273. package/lib/typescript/module/ui/components/CompactRow.d.ts.map +1 -1
  274. package/lib/typescript/module/ui/components/DataInspector.d.ts.map +1 -1
  275. package/lib/typescript/module/ui/components/DetailView.d.ts.map +1 -1
  276. package/lib/typescript/module/ui/components/DetailViewToggle.d.ts +36 -0
  277. package/lib/typescript/module/ui/components/DetailViewToggle.d.ts.map +1 -0
  278. package/lib/typescript/module/ui/components/DevToolsCard.d.ts +8 -1
  279. package/lib/typescript/module/ui/components/DevToolsCard.d.ts.map +1 -1
  280. package/lib/typescript/module/ui/components/DynamicFilterView.d.ts.map +1 -1
  281. package/lib/typescript/module/ui/components/EntityFilterView.d.ts +51 -0
  282. package/lib/typescript/module/ui/components/EntityFilterView.d.ts.map +1 -0
  283. package/lib/typescript/module/ui/components/EventHistoryViewer/CompareBar.d.ts.map +1 -1
  284. package/lib/typescript/module/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
  285. package/lib/typescript/module/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +1 -1
  286. package/lib/typescript/module/ui/components/EventStepperFooter.d.ts.map +1 -1
  287. package/lib/typescript/module/ui/components/ExpandablePopover.d.ts +5 -1
  288. package/lib/typescript/module/ui/components/ExpandablePopover.d.ts.map +1 -1
  289. package/lib/typescript/module/ui/components/ExpandedInfoRow.d.ts.map +1 -1
  290. package/lib/typescript/module/ui/components/ExportPreview.d.ts +48 -0
  291. package/lib/typescript/module/ui/components/ExportPreview.d.ts.map +1 -0
  292. package/lib/typescript/module/ui/components/FilterComponents.d.ts.map +1 -1
  293. package/lib/typescript/module/ui/components/InfoRow.d.ts +33 -0
  294. package/lib/typescript/module/ui/components/InfoRow.d.ts.map +1 -0
  295. package/lib/typescript/module/ui/components/ModalHeader.d.ts +31 -1
  296. package/lib/typescript/module/ui/components/ModalHeader.d.ts.map +1 -1
  297. package/lib/typescript/module/ui/components/Pill.d.ts +38 -0
  298. package/lib/typescript/module/ui/components/Pill.d.ts.map +1 -0
  299. package/lib/typescript/module/ui/components/ToggleRow.d.ts +33 -0
  300. package/lib/typescript/module/ui/components/ToggleRow.d.ts.map +1 -0
  301. package/lib/typescript/module/ui/components/ToolFooter.d.ts +69 -0
  302. package/lib/typescript/module/ui/components/ToolFooter.d.ts.map +1 -0
  303. package/lib/typescript/module/ui/components/index.d.ts +9 -0
  304. package/lib/typescript/module/ui/components/index.d.ts.map +1 -1
  305. package/lib/typescript/module/ui/console/CyberpunkSectionButton.d.ts.map +1 -1
  306. package/lib/typescript/module/ui/fonts.d.ts +7 -0
  307. package/lib/typescript/module/ui/fonts.d.ts.map +1 -0
  308. package/lib/typescript/module/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +1 -1
  309. package/lib/typescript/module/ui/gameUI/components/GameUICompactStats.d.ts.map +1 -1
  310. package/lib/typescript/module/ui/gameUI/components/GameUIIssuesList.d.ts.map +1 -1
  311. package/lib/typescript/module/ui/gameUI/components/GameUIStatusHeader.d.ts.map +1 -1
  312. package/lib/typescript/module/ui/index.d.ts +2 -0
  313. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  314. package/lib/typescript/module/ui/listPresets.d.ts +28 -0
  315. package/lib/typescript/module/ui/listPresets.d.ts.map +1 -0
  316. package/lib/typescript/module/ui/night/primitives.d.ts +3 -1
  317. package/lib/typescript/module/ui/night/primitives.d.ts.map +1 -1
  318. package/lib/typescript/module/ui/toolTheme.d.ts.map +1 -1
  319. package/lib/typescript/module/utils/snapshotProviderKit.d.ts +81 -0
  320. package/lib/typescript/module/utils/snapshotProviderKit.d.ts.map +1 -0
  321. package/lib/typescript/module/utils/stateTools.d.ts +44 -0
  322. package/lib/typescript/module/utils/stateTools.d.ts.map +1 -0
  323. package/package.json +4 -4
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * ToolFooter — the night glass bar pinned to the bottom of a tool: dark
5
+ * backing over the star field, a hairline on top, safe-area padding when
6
+ * docked as a sheet, rounded corners when floating.
7
+ *
8
+ * `EventStepperFooter` draws this bar for the Previous/Next case; the
9
+ * images and react-query tools each re-drew it for their action bars with
10
+ * a comment saying "matches EventStepperFooter". This is that bar as a
11
+ * container, plus `FooterButton` — the mono uppercase plate button those
12
+ * action bars are made of — and the caption/message lines above the row.
13
+ */
14
+
15
+ import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
16
+ import { night } from "../night/nightTheme.js";
17
+ import { useSafeAreaInsets } from "../../hooks/useSafeAreaInsets.js";
18
+ import { monoFont } from "../fonts.js";
19
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
+ export function ToolFooter({
21
+ children,
22
+ safeArea = true,
23
+ paddingBottom = 12,
24
+ floating = false,
25
+ absolute = false,
26
+ gap = 8,
27
+ style,
28
+ testID
29
+ }) {
30
+ const insets = useSafeAreaInsets();
31
+ const bottom = typeof safeArea === "number" ? safeArea + insets.bottom : safeArea ? paddingBottom + insets.bottom : paddingBottom;
32
+ return /*#__PURE__*/_jsx(View, {
33
+ style: [styles.footer, floating && styles.footerFloating, absolute && styles.footerAbsolute, {
34
+ paddingBottom: bottom,
35
+ gap
36
+ }, style],
37
+ testID: testID,
38
+ children: children
39
+ });
40
+ }
41
+
42
+ /** A row of footer buttons. */
43
+ export function FooterRow({
44
+ children,
45
+ style
46
+ }) {
47
+ return /*#__PURE__*/_jsx(View, {
48
+ style: [styles.row, style],
49
+ children: children
50
+ });
51
+ }
52
+
53
+ /** Tracking caption above a row ("MASS ACTIONS — every image on screen"). */
54
+ export function FooterCaption({
55
+ children,
56
+ style
57
+ }) {
58
+ return /*#__PURE__*/_jsx(Text, {
59
+ style: [styles.caption, style],
60
+ numberOfLines: 1,
61
+ children: children
62
+ });
63
+ }
64
+
65
+ /** Mono feedback line ("Restored 3 images"). */
66
+ export function FooterMessage({
67
+ children,
68
+ tone = "info",
69
+ style
70
+ }) {
71
+ return /*#__PURE__*/_jsx(Text, {
72
+ style: [styles.message, tone === "muted" && styles.messageMuted, style],
73
+ numberOfLines: 1,
74
+ children: children
75
+ });
76
+ }
77
+ export function FooterButton({
78
+ label,
79
+ onPress,
80
+ accent = false,
81
+ active = false,
82
+ disabled = false,
83
+ icon,
84
+ flex = true,
85
+ size = "sm",
86
+ testID,
87
+ accessibilityLabel,
88
+ style
89
+ }) {
90
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
91
+ onPress: onPress,
92
+ disabled: disabled,
93
+ activeOpacity: 0.7,
94
+ accessibilityRole: "button",
95
+ accessibilityLabel: accessibilityLabel ?? label,
96
+ accessibilityState: {
97
+ disabled,
98
+ selected: active
99
+ },
100
+ testID: testID,
101
+ style: [styles.button, flex ? styles.buttonFlex : styles.buttonFixed, size === "md" && styles.buttonMd, active && styles.buttonActive, disabled && styles.disabled, style],
102
+ children: [icon, /*#__PURE__*/_jsx(Text, {
103
+ style: [styles.buttonText, size === "md" && styles.buttonTextMd, accent && !disabled && styles.buttonTextAccent, active && styles.buttonTextActive, disabled && styles.buttonTextDisabled],
104
+ children: label
105
+ })]
106
+ });
107
+ }
108
+ const styles = StyleSheet.create({
109
+ footer: {
110
+ paddingHorizontal: 12,
111
+ paddingTop: 10,
112
+ // Dark glass over the star field — the same bar EventStepperFooter draws.
113
+ backgroundColor: "rgba(5, 5, 5, 0.92)",
114
+ borderTopWidth: 1,
115
+ borderTopColor: night.color.border
116
+ },
117
+ footerFloating: {
118
+ borderBottomLeftRadius: 14,
119
+ borderBottomRightRadius: 14
120
+ },
121
+ footerAbsolute: {
122
+ position: "absolute",
123
+ left: 0,
124
+ right: 0,
125
+ bottom: 0
126
+ },
127
+ row: {
128
+ flexDirection: "row",
129
+ alignItems: "center",
130
+ gap: 6
131
+ },
132
+ caption: {
133
+ color: night.color.textTertiary,
134
+ fontSize: 9,
135
+ fontWeight: "700",
136
+ letterSpacing: 0.8
137
+ },
138
+ message: {
139
+ color: night.color.info,
140
+ fontSize: 10,
141
+ fontFamily: monoFont
142
+ },
143
+ messageMuted: {
144
+ color: night.color.textTertiary,
145
+ fontFamily: undefined
146
+ },
147
+ button: {
148
+ flexDirection: "row",
149
+ alignItems: "center",
150
+ justifyContent: "center",
151
+ gap: 6,
152
+ paddingVertical: 8,
153
+ // No horizontal padding: six of these share one row on a phone, and the
154
+ // mono uppercase label needs every point it can get before it wraps.
155
+ paddingHorizontal: 0,
156
+ borderRadius: 6,
157
+ backgroundColor: night.color.button,
158
+ borderWidth: StyleSheet.hairlineWidth,
159
+ borderColor: night.color.border
160
+ },
161
+ buttonFlex: {
162
+ flex: 1
163
+ },
164
+ buttonFixed: {
165
+ paddingHorizontal: 10
166
+ },
167
+ buttonMd: {
168
+ paddingVertical: 8
169
+ },
170
+ buttonActive: {
171
+ backgroundColor: night.color.accentSoft,
172
+ borderColor: night.color.accentBorderStrong
173
+ },
174
+ buttonText: {
175
+ fontSize: 10,
176
+ fontWeight: "600",
177
+ color: night.color.textSecondary,
178
+ fontFamily: monoFont,
179
+ textTransform: "uppercase"
180
+ },
181
+ buttonTextMd: {
182
+ fontSize: 11,
183
+ color: night.color.text
184
+ },
185
+ buttonTextAccent: {
186
+ color: night.color.warning
187
+ },
188
+ buttonTextActive: {
189
+ color: night.color.accent
190
+ },
191
+ buttonTextDisabled: {
192
+ color: night.color.textTertiary
193
+ },
194
+ disabled: {
195
+ opacity: 0.4
196
+ }
197
+ });
@@ -40,4 +40,13 @@ export { PowerToggleButton } from "./PowerToggleButton.js";
40
40
  export { ExpandedInfoRow, PillBadge } from "./ExpandedInfoRow.js";
41
41
 
42
42
  // EventHistoryViewer components
43
- export { EventHistoryViewer, ViewToggleCards, DiffModeTabs, CompareBar, EventPickerModal } from "./EventHistoryViewer/index.js";
43
+ export { EventHistoryViewer, ViewToggleCards, DiffModeTabs, CompareBar, EventPickerModal } from "./EventHistoryViewer/index.js";
44
+ export { InfoRow } from "./InfoRow.js";
45
+ export { DetailViewToggle } from "./DetailViewToggle.js";
46
+ export { ChangeRow } from "./ChangeRow.js";
47
+ export { Pill } from "./Pill.js";
48
+ export { ToolFooter, FooterRow, FooterCaption, FooterMessage, FooterButton } from "./ToolFooter.js";
49
+ export { EntityFilterView } from "./EntityFilterView.js";
50
+ export { ToggleRow } from "./ToggleRow.js";
51
+ export { ChipStrip, useChipTap } from "./ChipStrip.js";
52
+ export { ExportPreview, sizeWarningLevel } from "./ExportPreview.js";
@@ -5,6 +5,7 @@ import { ChevronRight } from "../../icons/index.js";
5
5
  import { CyberpunkButtonOutline } from "./CyberpunkButtonOutline.js";
6
6
  import { CyberpunkIconContainer } from "./CyberpunkIconContainer.js";
7
7
  import { gameUIColors } from "../gameUI/index.js";
8
+ import { monoFont } from "../fonts.js";
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
10
  export function CyberpunkSectionButton({
10
11
  id: _id,
@@ -91,14 +92,14 @@ const styles = StyleSheet.create({
91
92
  fontSize: 14,
92
93
  fontWeight: "700",
93
94
  letterSpacing: 0.5,
94
- fontFamily: "monospace"
95
+ fontFamily: monoFont
95
96
  },
96
97
  subtitle: {
97
98
  fontSize: 12,
98
99
  fontWeight: "600",
99
100
  marginTop: 1,
100
101
  letterSpacing: 0.5,
101
- fontFamily: "monospace",
102
+ fontFamily: monoFont,
102
103
  opacity: 0.85
103
104
  },
104
105
  arrowContainer: {
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The monospace family, per platform. Defined in `@buoy-gg/floating-tools-core`
5
+ * (the base package — the dial styles need it too, and nothing below shared-ui
6
+ * may import from it) and re-exported here, which is where every tool reads it.
7
+ */
8
+ export { monoFont } from "@buoy-gg/floating-tools-core";
@@ -3,6 +3,7 @@
3
3
  import { StyleSheet, Text, View, TouchableOpacity, Animated } from "react-native";
4
4
  import { ChevronDown, ChevronUp } from "../../../icons/index.js";
5
5
  import { gameUIColors } from "../constants/gameUIColors.js";
6
+ import { monoFont } from "../../fonts.js";
6
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
8
  /**
8
9
  * Reusable collapsible section component for Game UI
@@ -90,7 +91,7 @@ const styles = StyleSheet.create({
90
91
  title: {
91
92
  fontSize: 11,
92
93
  color: gameUIColors.primary,
93
- fontFamily: "monospace",
94
+ fontFamily: monoFont,
94
95
  fontWeight: "700",
95
96
  letterSpacing: 2,
96
97
  opacity: 0.9
@@ -98,7 +99,7 @@ const styles = StyleSheet.create({
98
99
  subtitle: {
99
100
  fontSize: 9,
100
101
  color: gameUIColors.secondary,
101
- fontFamily: "monospace",
102
+ fontFamily: monoFont,
102
103
  paddingHorizontal: 4,
103
104
  marginTop: 2,
104
105
  opacity: 0.7
@@ -110,7 +111,7 @@ const styles = StyleSheet.create({
110
111
  },
111
112
  badgeText: {
112
113
  fontSize: 10,
113
- fontFamily: "monospace",
114
+ fontFamily: monoFont,
114
115
  fontWeight: "700"
115
116
  }
116
117
  });
@@ -3,6 +3,7 @@
3
3
  import { Fragment } from "react";
4
4
  import { StyleSheet, Text, View, Animated } from "react-native";
5
5
  import { gameUIColors } from "../constants/gameUIColors.js";
6
+ import { monoFont } from "../../fonts.js";
6
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
8
  /**
8
9
  * Reusable compact stats display component
@@ -176,13 +177,13 @@ const styles = StyleSheet.create({
176
177
  fontSize: 11,
177
178
  fontWeight: "700",
178
179
  color: gameUIColors.primary,
179
- fontFamily: "monospace",
180
+ fontFamily: monoFont,
180
181
  letterSpacing: 1.5
181
182
  },
182
183
  headerSubtitle: {
183
184
  fontSize: 8,
184
185
  color: gameUIColors.secondary,
185
- fontFamily: "monospace",
186
+ fontFamily: monoFont,
186
187
  opacity: 0.7
187
188
  },
188
189
  statusIndicator: {
@@ -198,7 +199,7 @@ const styles = StyleSheet.create({
198
199
  statusText: {
199
200
  fontSize: 9,
200
201
  fontWeight: "600",
201
- fontFamily: "monospace",
202
+ fontFamily: monoFont,
202
203
  letterSpacing: 0.5
203
204
  },
204
205
  // Health section
@@ -211,7 +212,7 @@ const styles = StyleSheet.create({
211
212
  healthLabel: {
212
213
  fontSize: 8,
213
214
  color: gameUIColors.secondary,
214
- fontFamily: "monospace",
215
+ fontFamily: monoFont,
215
216
  letterSpacing: 0.5
216
217
  },
217
218
  healthBarWrapper: {
@@ -230,7 +231,7 @@ const styles = StyleSheet.create({
230
231
  healthPercentage: {
231
232
  fontSize: 11,
232
233
  fontWeight: "700",
233
- fontFamily: "monospace"
234
+ fontFamily: monoFont
234
235
  },
235
236
  // Stats grid
236
237
  statsGrid: {
@@ -257,20 +258,20 @@ const styles = StyleSheet.create({
257
258
  cardLabel: {
258
259
  fontSize: 11,
259
260
  fontWeight: "700",
260
- fontFamily: "monospace",
261
+ fontFamily: monoFont,
261
262
  letterSpacing: 0.5,
262
263
  color: gameUIColors.primary
263
264
  },
264
265
  cardSubtitle: {
265
266
  fontSize: 8,
266
267
  color: gameUIColors.secondary,
267
- fontFamily: "monospace",
268
+ fontFamily: monoFont,
268
269
  opacity: 0.7
269
270
  },
270
271
  statNumber: {
271
272
  fontSize: 16,
272
273
  fontWeight: "700",
273
- fontFamily: "monospace",
274
+ fontFamily: monoFont,
274
275
  minWidth: 28
275
276
  },
276
277
  valueBlock: {
@@ -279,7 +280,7 @@ const styles = StyleSheet.create({
279
280
  percentText: {
280
281
  fontSize: 9,
281
282
  color: gameUIColors.secondary,
282
- fontFamily: "monospace"
283
+ fontFamily: monoFont
283
284
  },
284
285
  statBar: {
285
286
  height: 3,
@@ -305,7 +306,7 @@ const styles = StyleSheet.create({
305
306
  bottomStatLabel: {
306
307
  fontSize: 7,
307
308
  color: gameUIColors.muted,
308
- fontFamily: "monospace",
309
+ fontFamily: monoFont,
309
310
  letterSpacing: 0.5,
310
311
  marginBottom: 1
311
312
  },
@@ -313,7 +314,7 @@ const styles = StyleSheet.create({
313
314
  fontSize: 11,
314
315
  fontWeight: "700",
315
316
  color: gameUIColors.primary,
316
- fontFamily: "monospace"
317
+ fontFamily: monoFont
317
318
  },
318
319
  bottomDivider: {
319
320
  width: 1,
@@ -4,6 +4,7 @@ import { useState, useCallback } from "react";
4
4
  import { StyleSheet, Text, View, TouchableOpacity, Animated } from "react-native";
5
5
  import { AlertOctagon, AlertTriangle, ChevronDown, ChevronUp } from "../../../icons/index.js";
6
6
  import { gameUIColors } from "../constants/gameUIColors.js";
7
+ import { monoFont } from "../../fonts.js";
7
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
9
  /**
9
10
  * Reusable issues list component with expandable details
@@ -186,18 +187,18 @@ const styles = StyleSheet.create({
186
187
  issueKey: {
187
188
  fontSize: 11,
188
189
  fontWeight: "600",
189
- fontFamily: "monospace"
190
+ fontFamily: monoFont
190
191
  },
191
192
  issueDesc: {
192
193
  fontSize: 10,
193
194
  color: gameUIColors.secondary,
194
- fontFamily: "monospace",
195
+ fontFamily: monoFont,
195
196
  flex: 1
196
197
  },
197
198
  hint: {
198
199
  fontSize: 9,
199
200
  color: gameUIColors.muted,
200
- fontFamily: "monospace",
201
+ fontFamily: monoFont,
201
202
  textAlign: "center",
202
203
  marginTop: 8,
203
204
  paddingTop: 8,
@@ -226,14 +227,14 @@ const styles = StyleSheet.create({
226
227
  detailLabel: {
227
228
  fontSize: 10,
228
229
  color: gameUIColors.secondary,
229
- fontFamily: "monospace",
230
+ fontFamily: monoFont,
230
231
  fontWeight: "600",
231
232
  width: 70
232
233
  },
233
234
  detailValue: {
234
235
  fontSize: 11,
235
236
  color: gameUIColors.primary,
236
- fontFamily: "monospace",
237
+ fontFamily: monoFont,
237
238
  flex: 1,
238
239
  lineHeight: 16
239
240
  },
@@ -248,7 +249,7 @@ const styles = StyleSheet.create({
248
249
  fixLabel: {
249
250
  fontSize: 10,
250
251
  color: gameUIColors.info,
251
- fontFamily: "monospace",
252
+ fontFamily: monoFont,
252
253
  fontWeight: "700",
253
254
  marginBottom: 6,
254
255
  letterSpacing: 0.5
@@ -256,7 +257,7 @@ const styles = StyleSheet.create({
256
257
  fixText: {
257
258
  fontSize: 11,
258
259
  color: gameUIColors.primary,
259
- fontFamily: "monospace",
260
+ fontFamily: monoFont,
260
261
  lineHeight: 18,
261
262
  backgroundColor: gameUIColors.background + "66",
262
263
  padding: 8,
@@ -272,7 +273,7 @@ const styles = StyleSheet.create({
272
273
  descText: {
273
274
  fontSize: 10,
274
275
  color: gameUIColors.secondary,
275
- fontFamily: "monospace",
276
+ fontFamily: monoFont,
276
277
  marginTop: 4,
277
278
  lineHeight: 14
278
279
  }
@@ -3,6 +3,7 @@
3
3
  import { StyleSheet, Text, View, Animated } from "react-native";
4
4
  import { absoluteFill } from "../../../utils/absoluteFill.js";
5
5
  import { gameUIColors } from "../constants/gameUIColors.js";
6
+ import { monoFont } from "../../fonts.js";
6
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
8
  /**
8
9
  * Reusable status header component showing system health
@@ -101,7 +102,7 @@ const styles = StyleSheet.create({
101
102
  label: {
102
103
  fontSize: 13,
103
104
  fontWeight: "700",
104
- fontFamily: "monospace",
105
+ fontFamily: monoFont,
105
106
  letterSpacing: 1.5,
106
107
  textShadowOffset: {
107
108
  width: 0,
@@ -112,7 +113,7 @@ const styles = StyleSheet.create({
112
113
  subtitle: {
113
114
  fontSize: 10,
114
115
  color: gameUIColors.secondary,
115
- fontFamily: "monospace"
116
+ fontFamily: monoFont
116
117
  },
117
118
  badge: {
118
119
  paddingHorizontal: 8,
@@ -122,7 +123,7 @@ const styles = StyleSheet.create({
122
123
  badgeText: {
123
124
  fontSize: 9,
124
125
  fontWeight: "700",
125
- fontFamily: "monospace",
126
+ fontFamily: monoFont,
126
127
  letterSpacing: 1
127
128
  },
128
129
  indicators: {
@@ -11,6 +11,9 @@ export * from "./backgrounds/index.js";
11
11
  // Semantic design tokens for tool surfaces
12
12
  export { toolTheme } from "./toolTheme.js";
13
13
 
14
+ // The monospace family, per platform — never write `fontFamily: monoFont`.
15
+ export { monoFont } from "./fonts.js";
16
+
14
17
  // Console UI bits
15
18
  export { CyberpunkSectionButton } from "./console/CyberpunkSectionButton.js";
16
19
 
@@ -18,4 +21,7 @@ export { CyberpunkSectionButton } from "./console/CyberpunkSectionButton.js";
18
21
  export * from "./gameUI/index.js";
19
22
 
20
23
  // Otto — the Buoy mascot (see OTTO_PLACEMENT_PLAN.md for where he belongs)
21
- export * from "./otto/index.js";
24
+ export * from "./otto/index.js";
25
+
26
+ // FlatList presets (tuned window/batch values + the E2E clipping guard)
27
+ export { EVENT_LIST_PRESET, LOG_LIST_PRESET, CLIP_OFFSCREEN_CELLS } from "./listPresets.js";
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * FlatList presets for tool lists — the tuned window/batch values and the
5
+ * E2E clipping guard that eleven list sites carried as copy-pasted props.
6
+ *
7
+ * Spread them onto a FlatList: `<FlatList {...EVENT_LIST_PRESET} … />`.
8
+ * A tool that later moves to FlashList changes this file, not eleven.
9
+ */
10
+
11
+ /**
12
+ * `removeClippedSubviews` is off in E2E bundles: clipped rows leave the
13
+ * hierarchy entirely, so a row past the fold reads to the test as "the tool
14
+ * stopped capturing".
15
+ */
16
+ export const CLIP_OFFSCREEN_CELLS = !(typeof process !== "undefined" && process.env?.EXPO_PUBLIC_E2E);
17
+ /**
18
+ * Event / change / request lists: rows are tall-ish and arrive in bursts.
19
+ * Window and batch values are the "tuned" winner of the buoy-optimize
20
+ * batch run on the network tool (2026-07-06, batch-1783396983529-6l7w).
21
+ */
22
+ export const EVENT_LIST_PRESET = {
23
+ initialNumToRender: 12,
24
+ maxToRenderPerBatch: 8,
25
+ windowSize: 5,
26
+ updateCellsBatchingPeriod: 50,
27
+ removeClippedSubviews: CLIP_OFFSCREEN_CELLS
28
+ };
29
+
30
+ /**
31
+ * Log tails (console, sentry): rows are short single lines, the list is
32
+ * read from the bottom, and a scroll-to-end must not land on blank cells.
33
+ */
34
+ export const LOG_LIST_PRESET = {
35
+ initialNumToRender: 30,
36
+ maxToRenderPerBatch: 30,
37
+ windowSize: 21,
38
+ removeClippedSubviews: CLIP_OFFSCREEN_CELLS
39
+ };
@@ -154,12 +154,14 @@ export function NightChip({
154
154
  selected,
155
155
  onPress,
156
156
  disabled,
157
- icon
157
+ icon,
158
+ testID
158
159
  }) {
159
160
  return /*#__PURE__*/_jsxs(TouchableOpacity, {
160
161
  activeOpacity: 0.7,
161
162
  disabled: disabled || !onPress,
162
163
  onPress: onPress,
164
+ testID: testID,
163
165
  style: [styles.chip, selected ? styles.chipSelected : null, disabled ? styles.chipDisabled : null],
164
166
  children: [icon, /*#__PURE__*/_jsx(Text, {
165
167
  style: [styles.chipText, selected ? styles.chipTextSelected : null],
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { buoyColors, gameUIColors } from "./gameUI/constants/gameUIColors.js";
4
-
4
+ import { monoFont } from "./fonts.js";
5
5
  /**
6
6
  * Semantic design tokens for dev-tool surfaces — the single documented entry
7
7
  * point for custom-tool authors (and, over time, internal tools).
@@ -61,19 +61,19 @@ export const toolTheme = {
61
61
  fontWeight: "700",
62
62
  color: buoyColors.textMuted,
63
63
  letterSpacing: 1.2,
64
- fontFamily: "monospace"
64
+ fontFamily: monoFont
65
65
  },
66
66
  /** Monospace values (keys, ids, payload snippets). */
67
67
  mono: {
68
68
  fontSize: 11,
69
69
  color: buoyColors.textSecondary,
70
- fontFamily: "monospace"
70
+ fontFamily: monoFont
71
71
  },
72
72
  /** Timestamps and fine print. */
73
73
  small: {
74
74
  fontSize: 9,
75
75
  color: buoyColors.textMuted,
76
- fontFamily: "monospace"
76
+ fontFamily: monoFont
77
77
  }
78
78
  },
79
79
  /** 4-based spacing scale used across tool surfaces. */