@buoy-gg/core 7.0.40 → 7.0.42

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 (269) hide show
  1. package/README.md +14 -85
  2. package/bin/buoy.js +20 -347
  3. package/lib/commonjs/Buoy.js +1 -107
  4. package/lib/commonjs/browserRegister.js +1 -0
  5. package/lib/commonjs/browserRegister.server.js +1 -0
  6. package/lib/commonjs/earlyHookScript.js +1 -0
  7. package/lib/commonjs/earlyNetwork.js +1 -0
  8. package/lib/commonjs/floatingMenu/AppHost.js +1 -460
  9. package/lib/commonjs/floatingMenu/AppHost.web.js +1 -364
  10. package/lib/commonjs/floatingMenu/AppHostLogic.js +1 -50
  11. package/lib/commonjs/floatingMenu/AppIcon.js +1 -91
  12. package/lib/commonjs/floatingMenu/AppIcon.web.js +1 -53
  13. package/lib/commonjs/floatingMenu/BrowserToolRuntime.js +1 -0
  14. package/lib/commonjs/floatingMenu/DefaultConfigContext.js +1 -45
  15. package/lib/commonjs/floatingMenu/DevToolsSettingsModal.js +1 -1119
  16. package/lib/commonjs/floatingMenu/DevToolsSettingsModal.shared.js +1 -0
  17. package/lib/commonjs/floatingMenu/DevToolsSettingsModal.web.js +1 -1048
  18. package/lib/commonjs/floatingMenu/DevToolsVisibilityContext.js +1 -49
  19. package/lib/commonjs/floatingMenu/FloatingDevTools.js +1 -554
  20. package/lib/commonjs/floatingMenu/FloatingDevTools.web.js +1 -401
  21. package/lib/commonjs/floatingMenu/FloatingMenu.js +1 -371
  22. package/lib/commonjs/floatingMenu/MinimizedToolsContext.js +1 -274
  23. package/lib/commonjs/floatingMenu/MinimizedToolsStack.js +1 -288
  24. package/lib/commonjs/floatingMenu/MinimizedToolsStack.web.js +1 -371
  25. package/lib/commonjs/floatingMenu/ToggleStateManager.js +1 -36
  26. package/lib/commonjs/floatingMenu/ToolHost.js +1 -281
  27. package/lib/commonjs/floatingMenu/ToolOpenerBridge.js +1 -41
  28. package/lib/commonjs/floatingMenu/autoDiscoverPresets.js +1 -461
  29. package/lib/commonjs/floatingMenu/autoExternalSync.js +1 -434
  30. package/lib/commonjs/floatingMenu/defaultConfig.js +1 -167
  31. package/lib/commonjs/floatingMenu/deviceIdentity.js +1 -173
  32. package/lib/commonjs/floatingMenu/dial/DialDevTools.js +1 -904
  33. package/lib/commonjs/floatingMenu/dial/DialDevTools.web.js +1 -821
  34. package/lib/commonjs/floatingMenu/dial/DialHyperspace.js +1 -177
  35. package/lib/commonjs/floatingMenu/dial/DialIcon.js +1 -302
  36. package/lib/commonjs/floatingMenu/dial/DialPagination.js +1 -165
  37. package/lib/commonjs/floatingMenu/dial/DialSnow.js +1 -92
  38. package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.js +1 -246
  39. package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.web.js +2 -147
  40. package/lib/commonjs/floatingMenu/dial/dialUsageStore.js +1 -93
  41. package/lib/commonjs/floatingMenu/dial/onboardingConstants.js +1 -42
  42. package/lib/commonjs/floatingMenu/dial/onboardingConstants.web.js +1 -42
  43. package/lib/commonjs/floatingMenu/externalSyncGate.js +1 -49
  44. package/lib/commonjs/floatingMenu/floatingTools.js +1 -42
  45. package/lib/commonjs/floatingMenu/floatingTools.web.js +1 -30
  46. package/lib/commonjs/floatingMenu/optionalRequire.js +1 -37
  47. package/lib/commonjs/floatingMenu/settingsBus.js +1 -23
  48. package/lib/commonjs/floatingMenu/sync/appSyncAdapter.js +1 -115
  49. package/lib/commonjs/floatingMenu/types.js +1 -5
  50. package/lib/commonjs/floatingMenu/useDesktopSyncStatus.js +1 -28
  51. package/lib/commonjs/floatingMenu/useDesktopSyncStatus.web.js +1 -0
  52. package/lib/commonjs/index.js +1 -291
  53. package/lib/commonjs/index.web.js +1 -150
  54. package/lib/commonjs/reactDevtoolsTypes.js +1 -0
  55. package/lib/commonjs/releaseOptIn.js +1 -0
  56. package/lib/commonjs/telemetry/installPing.js +1 -131
  57. package/lib/commonjs/toolkit.js +1 -584
  58. package/lib/commonjs/toolkitComponents.js +1 -241
  59. package/lib/commonjs/utils/autoDiscoverPresets.web.js +1 -219
  60. package/lib/commonjs/utils/createWebTool.js +1 -0
  61. package/lib/commonjs/utils/createWebTools.js +1 -0
  62. package/lib/commonjs/version.js +1 -18
  63. package/lib/module/Buoy.js +1 -102
  64. package/lib/module/browserRegister.js +1 -0
  65. package/lib/module/browserRegister.server.js +1 -0
  66. package/lib/module/earlyHookScript.js +1 -0
  67. package/lib/module/earlyNetwork.js +1 -0
  68. package/lib/module/floatingMenu/AppHost.js +1 -452
  69. package/lib/module/floatingMenu/AppHost.web.js +1 -356
  70. package/lib/module/floatingMenu/AppHostLogic.js +1 -45
  71. package/lib/module/floatingMenu/AppIcon.js +1 -84
  72. package/lib/module/floatingMenu/AppIcon.web.js +1 -47
  73. package/lib/module/floatingMenu/BrowserToolRuntime.js +1 -0
  74. package/lib/module/floatingMenu/DefaultConfigContext.js +1 -39
  75. package/lib/module/floatingMenu/DevToolsSettingsModal.js +1 -1115
  76. package/lib/module/floatingMenu/DevToolsSettingsModal.shared.js +1 -0
  77. package/lib/module/floatingMenu/DevToolsSettingsModal.web.js +1 -1055
  78. package/lib/module/floatingMenu/DevToolsVisibilityContext.js +1 -44
  79. package/lib/module/floatingMenu/FloatingDevTools.js +1 -551
  80. package/lib/module/floatingMenu/FloatingDevTools.web.js +1 -399
  81. package/lib/module/floatingMenu/FloatingMenu.js +1 -366
  82. package/lib/module/floatingMenu/MinimizedToolsContext.js +1 -266
  83. package/lib/module/floatingMenu/MinimizedToolsStack.js +1 -285
  84. package/lib/module/floatingMenu/MinimizedToolsStack.web.js +1 -368
  85. package/lib/module/floatingMenu/ToggleStateManager.js +1 -32
  86. package/lib/module/floatingMenu/ToolHost.js +1 -273
  87. package/lib/module/floatingMenu/ToolOpenerBridge.js +1 -37
  88. package/lib/module/floatingMenu/autoDiscoverPresets.js +1 -457
  89. package/lib/module/floatingMenu/autoExternalSync.js +1 -427
  90. package/lib/module/floatingMenu/defaultConfig.js +1 -158
  91. package/lib/module/floatingMenu/deviceIdentity.js +1 -163
  92. package/lib/module/floatingMenu/dial/DialDevTools.js +1 -900
  93. package/lib/module/floatingMenu/dial/DialDevTools.web.js +1 -818
  94. package/lib/module/floatingMenu/dial/DialHyperspace.js +1 -173
  95. package/lib/module/floatingMenu/dial/DialIcon.js +1 -299
  96. package/lib/module/floatingMenu/dial/DialPagination.js +1 -160
  97. package/lib/module/floatingMenu/dial/DialSnow.js +1 -90
  98. package/lib/module/floatingMenu/dial/OnboardingTooltip.js +1 -240
  99. package/lib/module/floatingMenu/dial/OnboardingTooltip.web.js +2 -142
  100. package/lib/module/floatingMenu/dial/dialUsageStore.js +1 -85
  101. package/lib/module/floatingMenu/dial/onboardingConstants.js +1 -3
  102. package/lib/module/floatingMenu/dial/onboardingConstants.web.js +1 -3
  103. package/lib/module/floatingMenu/externalSyncGate.js +1 -44
  104. package/lib/module/floatingMenu/floatingTools.js +1 -27
  105. package/lib/module/floatingMenu/floatingTools.web.js +1 -3
  106. package/lib/module/floatingMenu/optionalRequire.js +1 -33
  107. package/lib/module/floatingMenu/settingsBus.js +1 -19
  108. package/lib/module/floatingMenu/sync/appSyncAdapter.js +1 -112
  109. package/lib/module/floatingMenu/types.js +1 -3
  110. package/lib/module/floatingMenu/useDesktopSyncStatus.js +1 -25
  111. package/lib/module/floatingMenu/useDesktopSyncStatus.web.js +1 -0
  112. package/lib/module/index.js +1 -41
  113. package/lib/module/index.web.js +1 -29
  114. package/lib/module/reactDevtoolsTypes.js +1 -0
  115. package/lib/module/releaseOptIn.js +1 -0
  116. package/lib/module/telemetry/installPing.js +1 -127
  117. package/lib/module/toolkit.js +1 -62
  118. package/lib/module/toolkitComponents.js +1 -230
  119. package/lib/module/utils/autoDiscoverPresets.web.js +1 -213
  120. package/lib/module/utils/createWebTool.js +1 -0
  121. package/lib/module/utils/createWebTools.js +1 -0
  122. package/lib/module/version.js +1 -14
  123. package/lib/typescript/commonjs/browserRegister.d.ts +13 -0
  124. package/lib/typescript/commonjs/browserRegister.server.d.ts +6 -0
  125. package/lib/typescript/commonjs/earlyHookScript.d.ts +12 -0
  126. package/lib/typescript/commonjs/earlyNetwork.d.ts +52 -0
  127. package/lib/typescript/commonjs/floatingMenu/AppHost.web.d.ts +3 -3
  128. package/lib/typescript/commonjs/floatingMenu/BrowserToolRuntime.d.ts +14 -0
  129. package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.d.ts +2 -67
  130. package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.shared.d.ts +71 -0
  131. package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts +3 -16
  132. package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts +12 -6
  133. package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts +1 -1
  134. package/lib/typescript/commonjs/floatingMenu/settingsBus.d.ts +1 -9
  135. package/lib/typescript/commonjs/floatingMenu/useDesktopSyncStatus.web.d.ts +3 -0
  136. package/lib/typescript/commonjs/index.web.d.ts +7 -0
  137. package/lib/typescript/commonjs/reactDevtoolsTypes.d.ts +8 -0
  138. package/lib/typescript/commonjs/releaseOptIn.d.ts +4 -0
  139. package/lib/typescript/commonjs/utils/autoDiscoverPresets.web.d.ts +3 -40
  140. package/lib/typescript/commonjs/utils/createWebTool.d.ts +6 -0
  141. package/lib/typescript/commonjs/utils/createWebTools.d.ts +4 -0
  142. package/lib/typescript/commonjs/version.d.ts +1 -1
  143. package/lib/typescript/module/browserRegister.d.ts +13 -0
  144. package/lib/typescript/module/browserRegister.server.d.ts +6 -0
  145. package/lib/typescript/module/earlyHookScript.d.ts +12 -0
  146. package/lib/typescript/module/earlyNetwork.d.ts +52 -0
  147. package/lib/typescript/module/floatingMenu/AppHost.web.d.ts +3 -3
  148. package/lib/typescript/module/floatingMenu/BrowserToolRuntime.d.ts +14 -0
  149. package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.d.ts +2 -67
  150. package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.shared.d.ts +71 -0
  151. package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts +3 -16
  152. package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts +12 -6
  153. package/lib/typescript/module/floatingMenu/defaultConfig.d.ts +1 -1
  154. package/lib/typescript/module/floatingMenu/settingsBus.d.ts +1 -9
  155. package/lib/typescript/module/floatingMenu/useDesktopSyncStatus.web.d.ts +3 -0
  156. package/lib/typescript/module/index.web.d.ts +7 -0
  157. package/lib/typescript/module/reactDevtoolsTypes.d.ts +8 -0
  158. package/lib/typescript/module/releaseOptIn.d.ts +4 -0
  159. package/lib/typescript/module/utils/autoDiscoverPresets.web.d.ts +3 -40
  160. package/lib/typescript/module/utils/createWebTool.d.ts +6 -0
  161. package/lib/typescript/module/utils/createWebTools.d.ts +4 -0
  162. package/lib/typescript/module/version.d.ts +1 -1
  163. package/lib/web/chunks/chunk-5SGL6QL4.mjs +1 -0
  164. package/lib/web/chunks/chunk-FROELTJH.mjs +1 -0
  165. package/lib/web/chunks/chunk-QZDVCMCT.mjs +1 -0
  166. package/lib/web/chunks/chunk-R7RGRTY5.mjs +1 -0
  167. package/lib/web/index.mjs +10 -0
  168. package/lib/web/register-server.mjs +1 -0
  169. package/lib/web/register.mjs +1 -0
  170. package/lib/web/toolkit.mjs +1 -0
  171. package/package.json +50 -12
  172. package/lib/typescript/commonjs/Buoy.d.ts.map +0 -1
  173. package/lib/typescript/commonjs/floatingMenu/AppHost.d.ts.map +0 -1
  174. package/lib/typescript/commonjs/floatingMenu/AppHost.web.d.ts.map +0 -1
  175. package/lib/typescript/commonjs/floatingMenu/AppHostLogic.d.ts.map +0 -1
  176. package/lib/typescript/commonjs/floatingMenu/AppIcon.d.ts.map +0 -1
  177. package/lib/typescript/commonjs/floatingMenu/AppIcon.web.d.ts.map +0 -1
  178. package/lib/typescript/commonjs/floatingMenu/DefaultConfigContext.d.ts.map +0 -1
  179. package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.d.ts.map +0 -1
  180. package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts.map +0 -1
  181. package/lib/typescript/commonjs/floatingMenu/DevToolsVisibilityContext.d.ts.map +0 -1
  182. package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.d.ts.map +0 -1
  183. package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts.map +0 -1
  184. package/lib/typescript/commonjs/floatingMenu/FloatingMenu.d.ts.map +0 -1
  185. package/lib/typescript/commonjs/floatingMenu/MinimizedToolsContext.d.ts.map +0 -1
  186. package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.d.ts.map +0 -1
  187. package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.web.d.ts.map +0 -1
  188. package/lib/typescript/commonjs/floatingMenu/ToggleStateManager.d.ts.map +0 -1
  189. package/lib/typescript/commonjs/floatingMenu/ToolHost.d.ts.map +0 -1
  190. package/lib/typescript/commonjs/floatingMenu/ToolOpenerBridge.d.ts.map +0 -1
  191. package/lib/typescript/commonjs/floatingMenu/autoDiscoverPresets.d.ts.map +0 -1
  192. package/lib/typescript/commonjs/floatingMenu/autoExternalSync.d.ts.map +0 -1
  193. package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts.map +0 -1
  194. package/lib/typescript/commonjs/floatingMenu/deviceIdentity.d.ts.map +0 -1
  195. package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.d.ts.map +0 -1
  196. package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.web.d.ts.map +0 -1
  197. package/lib/typescript/commonjs/floatingMenu/dial/DialHyperspace.d.ts.map +0 -1
  198. package/lib/typescript/commonjs/floatingMenu/dial/DialIcon.d.ts.map +0 -1
  199. package/lib/typescript/commonjs/floatingMenu/dial/DialPagination.d.ts.map +0 -1
  200. package/lib/typescript/commonjs/floatingMenu/dial/DialSnow.d.ts.map +0 -1
  201. package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.d.ts.map +0 -1
  202. package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +0 -1
  203. package/lib/typescript/commonjs/floatingMenu/dial/dialUsageStore.d.ts.map +0 -1
  204. package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.d.ts.map +0 -1
  205. package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.web.d.ts.map +0 -1
  206. package/lib/typescript/commonjs/floatingMenu/externalSyncGate.d.ts.map +0 -1
  207. package/lib/typescript/commonjs/floatingMenu/floatingTools.d.ts.map +0 -1
  208. package/lib/typescript/commonjs/floatingMenu/floatingTools.web.d.ts.map +0 -1
  209. package/lib/typescript/commonjs/floatingMenu/optionalRequire.d.ts.map +0 -1
  210. package/lib/typescript/commonjs/floatingMenu/settingsBus.d.ts.map +0 -1
  211. package/lib/typescript/commonjs/floatingMenu/sync/appSyncAdapter.d.ts.map +0 -1
  212. package/lib/typescript/commonjs/floatingMenu/types.d.ts.map +0 -1
  213. package/lib/typescript/commonjs/floatingMenu/useDesktopSyncStatus.d.ts.map +0 -1
  214. package/lib/typescript/commonjs/index.d.ts.map +0 -1
  215. package/lib/typescript/commonjs/index.web.d.ts.map +0 -1
  216. package/lib/typescript/commonjs/telemetry/installPing.d.ts.map +0 -1
  217. package/lib/typescript/commonjs/toolkit.d.ts.map +0 -1
  218. package/lib/typescript/commonjs/toolkitComponents.d.ts.map +0 -1
  219. package/lib/typescript/commonjs/utils/autoDiscoverPresets.web.d.ts.map +0 -1
  220. package/lib/typescript/commonjs/version.d.ts.map +0 -1
  221. package/lib/typescript/module/Buoy.d.ts.map +0 -1
  222. package/lib/typescript/module/floatingMenu/AppHost.d.ts.map +0 -1
  223. package/lib/typescript/module/floatingMenu/AppHost.web.d.ts.map +0 -1
  224. package/lib/typescript/module/floatingMenu/AppHostLogic.d.ts.map +0 -1
  225. package/lib/typescript/module/floatingMenu/AppIcon.d.ts.map +0 -1
  226. package/lib/typescript/module/floatingMenu/AppIcon.web.d.ts.map +0 -1
  227. package/lib/typescript/module/floatingMenu/DefaultConfigContext.d.ts.map +0 -1
  228. package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.d.ts.map +0 -1
  229. package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts.map +0 -1
  230. package/lib/typescript/module/floatingMenu/DevToolsVisibilityContext.d.ts.map +0 -1
  231. package/lib/typescript/module/floatingMenu/FloatingDevTools.d.ts.map +0 -1
  232. package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts.map +0 -1
  233. package/lib/typescript/module/floatingMenu/FloatingMenu.d.ts.map +0 -1
  234. package/lib/typescript/module/floatingMenu/MinimizedToolsContext.d.ts.map +0 -1
  235. package/lib/typescript/module/floatingMenu/MinimizedToolsStack.d.ts.map +0 -1
  236. package/lib/typescript/module/floatingMenu/MinimizedToolsStack.web.d.ts.map +0 -1
  237. package/lib/typescript/module/floatingMenu/ToggleStateManager.d.ts.map +0 -1
  238. package/lib/typescript/module/floatingMenu/ToolHost.d.ts.map +0 -1
  239. package/lib/typescript/module/floatingMenu/ToolOpenerBridge.d.ts.map +0 -1
  240. package/lib/typescript/module/floatingMenu/autoDiscoverPresets.d.ts.map +0 -1
  241. package/lib/typescript/module/floatingMenu/autoExternalSync.d.ts.map +0 -1
  242. package/lib/typescript/module/floatingMenu/defaultConfig.d.ts.map +0 -1
  243. package/lib/typescript/module/floatingMenu/deviceIdentity.d.ts.map +0 -1
  244. package/lib/typescript/module/floatingMenu/dial/DialDevTools.d.ts.map +0 -1
  245. package/lib/typescript/module/floatingMenu/dial/DialDevTools.web.d.ts.map +0 -1
  246. package/lib/typescript/module/floatingMenu/dial/DialHyperspace.d.ts.map +0 -1
  247. package/lib/typescript/module/floatingMenu/dial/DialIcon.d.ts.map +0 -1
  248. package/lib/typescript/module/floatingMenu/dial/DialPagination.d.ts.map +0 -1
  249. package/lib/typescript/module/floatingMenu/dial/DialSnow.d.ts.map +0 -1
  250. package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.d.ts.map +0 -1
  251. package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +0 -1
  252. package/lib/typescript/module/floatingMenu/dial/dialUsageStore.d.ts.map +0 -1
  253. package/lib/typescript/module/floatingMenu/dial/onboardingConstants.d.ts.map +0 -1
  254. package/lib/typescript/module/floatingMenu/dial/onboardingConstants.web.d.ts.map +0 -1
  255. package/lib/typescript/module/floatingMenu/externalSyncGate.d.ts.map +0 -1
  256. package/lib/typescript/module/floatingMenu/floatingTools.d.ts.map +0 -1
  257. package/lib/typescript/module/floatingMenu/floatingTools.web.d.ts.map +0 -1
  258. package/lib/typescript/module/floatingMenu/optionalRequire.d.ts.map +0 -1
  259. package/lib/typescript/module/floatingMenu/settingsBus.d.ts.map +0 -1
  260. package/lib/typescript/module/floatingMenu/sync/appSyncAdapter.d.ts.map +0 -1
  261. package/lib/typescript/module/floatingMenu/types.d.ts.map +0 -1
  262. package/lib/typescript/module/floatingMenu/useDesktopSyncStatus.d.ts.map +0 -1
  263. package/lib/typescript/module/index.d.ts.map +0 -1
  264. package/lib/typescript/module/index.web.d.ts.map +0 -1
  265. package/lib/typescript/module/telemetry/installPing.d.ts.map +0 -1
  266. package/lib/typescript/module/toolkit.d.ts.map +0 -1
  267. package/lib/typescript/module/toolkitComponents.d.ts.map +0 -1
  268. package/lib/typescript/module/utils/autoDiscoverPresets.web.d.ts.map +0 -1
  269. package/lib/typescript/module/version.d.ts.map +0 -1
@@ -0,0 +1,71 @@
1
+ import { FC } from "react";
2
+ import type { InstalledApp } from "./types";
3
+ import type { StorageAdapter } from "@buoy-gg/floating-tools-react";
4
+ /**
5
+ * Global settings that apply to all dev tools.
6
+ * These settings override individual tool configurations.
7
+ */
8
+ export interface GlobalDevToolsSettings {
9
+ /**
10
+ * When true, all modals share the same dimensions/position.
11
+ * When false (default), each modal has its own independent persistence.
12
+ * Priority: Settings UI > Prop override > Default (false)
13
+ */
14
+ enableSharedModalDimensions?: boolean;
15
+ /**
16
+ * When true (default), window control buttons expand on tap for easier pressing.
17
+ * When false, buttons are directly tappable at small size.
18
+ */
19
+ expandableWindowControls?: boolean;
20
+ }
21
+ /**
22
+ * Serialized preferences that power the floating dev tools UI. Values persist across sessions
23
+ * via AsyncStorage so teams can tailor which tools appear in the dial or floating row.
24
+ */
25
+ export interface DevToolsSettings {
26
+ /** Map of dial tool ids to enabled state (max slots enforced elsewhere). */
27
+ dialTools: Record<string, boolean>;
28
+ /** Map of floating tool ids to enabled state plus the environment indicator toggle. */
29
+ floatingTools: Record<string, boolean> & {
30
+ environment: boolean;
31
+ };
32
+ /** Global settings that apply to all dev tools */
33
+ globalSettings?: GlobalDevToolsSettings;
34
+ }
35
+ /**
36
+ * The subset of InstalledApp the settings modal needs per tool. `icon`/`color`
37
+ * let rows fall back to the tool's own glyph when getToolIcon() has no
38
+ * night-tuned override for it.
39
+ */
40
+ interface SettingsToolInfo {
41
+ id: string;
42
+ name: string;
43
+ description?: string;
44
+ slot?: "dial" | "row" | "both";
45
+ icon?: InstalledApp["icon"];
46
+ color?: string;
47
+ }
48
+ interface DevToolsSettingsModalProps {
49
+ visible: boolean;
50
+ onClose: () => void;
51
+ onSettingsChange?: (settings: DevToolsSettings) => void;
52
+ initialSettings?: DevToolsSettings;
53
+ availableApps?: SettingsToolInfo[];
54
+ storage?: StorageAdapter;
55
+ zIndex?: number;
56
+ }
57
+ /**
58
+ * Configurable modal surface that lets engineers pick which dev tools appear in the dial and
59
+ * floating row. Persists preferences and enforces slot limits for a consistent UX.
60
+ *
61
+ * Styled in the "night" language (Everlights port — see shared-ui's
62
+ * ui/night): section labels outside near-black cards, hairline-separated
63
+ * rows, real switches, and a transparent header the star field runs through.
64
+ */
65
+ export declare const DevToolsSettingsModal: FC<DevToolsSettingsModalProps>;
66
+ export declare const useDevToolsSettings: () => {
67
+ settings: DevToolsSettings;
68
+ refreshSettings: () => void;
69
+ };
70
+ export {};
71
+ //# sourceMappingURL=DevToolsSettingsModal.shared.d.ts.map
@@ -1,18 +1,4 @@
1
- /**
2
- * DevToolsSettingsModal - Web renderer for the dev tools settings modal.
3
- *
4
- * Uses shared configuration and logic from @buoy-gg/floating-tools-react.
5
- * Platform-specific: CSS, mouse events, web JSX.
6
- *
7
- * VISUAL PARITY: styled 1:1 against the native reference
8
- * (devtools-floating-menu/src/floatingMenu/DevToolsSettingsModal.tsx, which
9
- * renders in the "night" language — shared-ui's ui/night Everlights port —
10
- * inside JsModal variant="night"). shared-ui is RN-only, so the night tokens
11
- * and primitive styles are inlined below with provenance comments.
12
- *
13
- * @platform React DOM Web (Vite, CRA, Next.js, Electron)
14
- */
15
- import { type AvailableToolConfig, type DevToolsSettings, type StorageAdapter } from '@buoy-gg/floating-tools-react';
1
+ import type { AvailableToolConfig, DevToolsSettings, StorageAdapter } from "@buoy-gg/floating-tools-react";
16
2
  export interface SettingsModalProps {
17
3
  visible: boolean;
18
4
  onClose: () => void;
@@ -22,5 +8,6 @@ export interface SettingsModalProps {
22
8
  storage?: StorageAdapter;
23
9
  onSettingsChange?: (settings: DevToolsSettings) => void;
24
10
  }
25
- export declare function SettingsModal({ visible, onClose, availableTools, defaultFloatingTools, defaultDialTools, storage, onSettingsChange, }: SettingsModalProps): import("react").JSX.Element | null;
11
+ /** Adapts the browser host to the shared settings and account panel. */
12
+ export declare function SettingsModal({ visible, onClose, availableTools, defaultFloatingTools, defaultDialTools, storage, onSettingsChange, }: SettingsModalProps): import("react").JSX.Element;
26
13
  //# sourceMappingURL=DevToolsSettingsModal.web.d.ts.map
@@ -1,4 +1,8 @@
1
1
  import { type WebToolConfig, type Environment, type UserRole } from '@buoy-gg/floating-tools-react';
2
+ import { type BrowserToolModules } from '../utils/createWebTools';
3
+ import type { BrowserToolConfig } from '../utils/createWebTool';
4
+ import type { ExternalSyncOptions } from './autoExternalSync';
5
+ import type { EnvVarConfig } from './FloatingDevTools';
2
6
  export interface FloatingDevToolsProps {
3
7
  /** Current environment (local, dev, qa, staging, prod) */
4
8
  environment?: Environment;
@@ -8,14 +12,16 @@ export interface FloatingDevToolsProps {
8
12
  availableEnvironments?: Environment[];
9
13
  /** Callback when environment is switched */
10
14
  onEnvironmentSwitch?: (env: Environment) => void;
11
- /** Custom tools to add (will be merged with auto-discovered) */
12
- apps?: WebToolConfig[];
15
+ /** Custom tools to add to the registered packages. */
16
+ apps?: BrowserToolConfig[];
17
+ /** Imported tool packages, keyed by package name. */
18
+ modules?: BrowserToolModules;
19
+ externalSync?: boolean | ExternalSyncOptions;
20
+ requiredEnvVars?: EnvVarConfig[];
21
+ sentryGetClient?: () => unknown;
13
22
  /** Disable onboarding tooltips */
14
23
  disableHints?: boolean;
15
- /**
16
- * API parity with native. Desktop sync is native-only, so headless mode
17
- * on web simply renders nothing.
18
- */
24
+ /** Keep capture and desktop sync running without the floating menu. */
19
25
  headless?: boolean;
20
26
  licenseKey?: string;
21
27
  /** @deprecated Accounts are required for all dev tools. */
@@ -19,7 +19,7 @@
19
19
  * All known tool IDs that can appear in the floating menu or dial menu.
20
20
  * This is a union type of all auto-discovered tool IDs.
21
21
  */
22
- export type BuiltInToolId = 'env' | 'network' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'time-machine' | 'scenarios' | 'ask-buoy' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
22
+ export type BuiltInToolId = 'env' | 'network' | 'push-notifications' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'time-machine' | 'clock' | 'scenarios' | 'ask-buoy' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
23
23
  /**
24
24
  * Special floating-only tool IDs that only appear in the floating bubble row.
25
25
  */
@@ -1,10 +1,2 @@
1
- import type { DevToolsSettings } from './DevToolsSettingsModal';
2
- type Listener<T> = (payload: T) => void;
3
- declare class SimpleEventBus<T = DevToolsSettings> {
4
- private listeners;
5
- emit(payload: T): void;
6
- addListener(listener: Listener<T>): () => boolean;
7
- }
8
- export declare const settingsBus: SimpleEventBus<DevToolsSettings>;
9
- export {};
1
+ export { settingsEventBus as settingsBus } from "@buoy-gg/floating-tools-core";
10
2
  //# sourceMappingURL=settingsBus.d.ts.map
@@ -0,0 +1,3 @@
1
+ import type { DesktopSyncStatus } from "./useDesktopSyncStatus";
2
+ export declare function useDesktopSyncStatus(): DesktopSyncStatus | null;
3
+ //# sourceMappingURL=useDesktopSyncStatus.web.d.ts.map
@@ -8,6 +8,8 @@
8
8
  */
9
9
  export { FloatingDevTools } from "./floatingMenu/FloatingDevTools.web";
10
10
  export type { FloatingDevToolsProps } from "./floatingMenu/FloatingDevTools.web";
11
+ export { createWebTool } from "./utils/createWebTool";
12
+ export { clearReleaseOptIn } from "./releaseOptIn";
11
13
  export { FloatingTools, UserStatus, Divider } from "./floatingMenu/floatingTools.web";
12
14
  export type { FloatingToolsProps } from "./floatingMenu/floatingTools.web";
13
15
  export { DialMenu } from "./floatingMenu/dial/DialDevTools.web";
@@ -18,4 +20,9 @@ export { AppHostProvider, AppOverlay, useAppHost } from "./floatingMenu/AppHost.
18
20
  export { autoDiscoverWebPresets, autoDiscoverWithCustom, getToolsBySlot, getEnabledTools, defaultToolPresets, } from "./utils/autoDiscoverPresets.web";
19
21
  export type { WebToolConfig, Environment, UserRole, StorageAdapter, DevToolsSettings, AvailableToolConfig, } from "@buoy-gg/floating-tools-react";
20
22
  export { useSettings, useFloatingTools, getToolLabel, getToolDescription, getToolColor, settingsColors, settingsStyles, dialColors, dialStyles, } from "@buoy-gg/floating-tools-react";
23
+ export { createWebTools, type BrowserToolModules } from "./utils/createWebTools";
24
+ export * from "./toolkit";
25
+ export { useToolHost, useToolHeader, type ToolHostContextValue, type ToolHeaderOverride, type ToolToastType } from "./floatingMenu/ToolHost";
26
+ export { DevToolsVisibilityProvider, useDevToolsVisibility } from "./floatingMenu/DevToolsVisibilityContext";
27
+ export { appSyncAdapter } from "./floatingMenu/sync/appSyncAdapter";
21
28
  //# sourceMappingURL=index.web.d.ts.map
@@ -0,0 +1,8 @@
1
+ declare module 'react-devtools-core' {
2
+ export function initialize(settings?: Record<string, unknown>): void;
3
+ const devtools: {
4
+ initialize(settings?: Record<string, unknown>): void;
5
+ };
6
+ export default devtools;
7
+ }
8
+ //# sourceMappingURL=reactDevtoolsTypes.d.ts.map
@@ -0,0 +1,4 @@
1
+ export declare function hasReleaseOptIn(): boolean;
2
+ export declare function markReleaseOptIn(): void;
3
+ export declare function clearReleaseOptIn(): void;
4
+ //# sourceMappingURL=releaseOptIn.d.ts.map
@@ -1,45 +1,8 @@
1
- /**
2
- * Auto-discovery utility for React DOM Web.
3
- *
4
- * Uses Vite's import.meta.glob to discover installed @buoy-gg/* packages
5
- * at build time. This provides Metro-like auto-discovery behavior for web.
6
- *
7
- * How it works:
8
- * 1. import.meta.glob scans node_modules at build time
9
- * 2. Only packages that are actually installed are included
10
- * 3. Missing packages don't cause errors (like Metro's try-catch)
11
- * 4. Custom tools can override discovered ones by ID
12
- *
13
- * @platform React DOM Web (Vite, CRA, Next.js, Electron)
14
- */
15
- import type { WebToolConfig } from '@buoy-gg/floating-tools-react';
16
- /**
17
- * Default tool presets for when packages don't export web presets yet.
18
- * These will be used until each @buoy-gg/* package exports its own preset.
19
- * Icons are the BIF brand icon components (same artwork as native) —
20
- * never emoji strings (tofu in WKWebView).
21
- */
1
+ import type { WebToolConfig } from "@buoy-gg/floating-tools-react";
2
+ /** Browser tools are registered through FloatingDevTools.apps. */
22
3
  export declare const defaultToolPresets: WebToolConfig[];
23
- /**
24
- * Auto-discover installed @buoy-gg/* tool packages.
25
- *
26
- * Uses Vite's import.meta.glob to find packages at build time.
27
- * Only installed packages are included (no errors for missing ones).
28
- *
29
- * Note: Until packages export web presets, this returns default presets.
30
- *
31
- * @returns Array of discovered tool configurations
32
- */
4
+ /** @deprecated Pass explicitly imported presets through FloatingDevTools.apps. */
33
5
  export declare function autoDiscoverWebPresets(): WebToolConfig[];
34
- /**
35
- * Merge custom tools with auto-discovered ones.
36
- *
37
- * Custom tools take precedence - if a custom tool has the same ID as
38
- * a discovered tool, the custom one is used (same behavior as mobile).
39
- *
40
- * @param customTools - Custom tools to merge (optional)
41
- * @returns Merged array with custom tools taking precedence
42
- */
43
6
  export declare function autoDiscoverWithCustom(customTools?: WebToolConfig[]): WebToolConfig[];
44
7
  /**
45
8
  * Get tools filtered by slot.
@@ -0,0 +1,6 @@
1
+ import type { WebToolConfig } from "@buoy-gg/floating-tools-react";
2
+ import type { ToolPreset } from "@buoy-gg/shared-ui";
3
+ /** Adapt a shared tool preset to the browser menu's icon renderer. */
4
+ export type BrowserToolConfig = WebToolConfig & Pick<ToolPreset, "modal" | "sync">;
5
+ export declare function createWebTool(preset: ToolPreset): BrowserToolConfig;
6
+ //# sourceMappingURL=createWebTool.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { type ToolModule } from '@buoy-gg/shared-ui';
2
+ export type BrowserToolModules = Record<string, ToolModule>;
3
+ export declare function createWebTools(modules: BrowserToolModules): import("./createWebTool").BrowserToolConfig[];
4
+ //# sourceMappingURL=createWebTools.d.ts.map
@@ -9,5 +9,5 @@
9
9
  * Drift is prevented by a test that fails when this disagrees with
10
10
  * package.json, so a version bump that forgets this file cannot ship.
11
11
  */
12
- export declare const SDK_VERSION = "7.0.40";
12
+ export declare const SDK_VERSION = "7.0.42";
13
13
  //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1,13 @@
1
+ export { earlyHookScript } from './earlyHookScript';
2
+ /**
3
+ * Call before importing React DOM so render and element inspectors can see app
4
+ * roots. It also starts recording fetch and XHR calls, so the Network tool shows
5
+ * the requests the page made before Buoy loaded.
6
+ *
7
+ * In a production build it runs only in a browser where Buoy has recently
8
+ * rendered (see releaseOptIn.ts), or with `enableInRelease`.
9
+ */
10
+ export declare function registerBrowserDevTools(options?: {
11
+ enableInRelease?: boolean;
12
+ }): boolean;
13
+ //# sourceMappingURL=browserRegister.d.ts.map
@@ -0,0 +1,6 @@
1
+ export { earlyHookScript } from './earlyHookScript';
2
+ /** The server entry does not load the browser's React DevTools backend. */
3
+ export declare function registerBrowserDevTools(_options?: {
4
+ enableInRelease?: boolean;
5
+ }): boolean;
6
+ //# sourceMappingURL=browserRegister.server.d.ts.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Inline script for pages where React DOM loads before any app code, such as
3
+ * the Next.js Pages Router.
4
+ *
5
+ * Put it in the page's `<head>`, ahead of every bundle. It holds on to the
6
+ * renderer React DOM registers, and `@buoy-gg/core/web/register` later hands
7
+ * that renderer to the full React DevTools backend. Without it, React DOM
8
+ * registers with Fast Refresh's placeholder hook, which keeps nothing, and
9
+ * Highlight Updates sees no renders.
10
+ */
11
+ export declare const earlyHookScript: string;
12
+ //# sourceMappingURL=earlyHookScript.d.ts.map
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Records the page's fetch and XHR calls from the first line of the app, before
3
+ * the Network tool has loaded.
4
+ *
5
+ * Buoy is usually loaded lazily, after the app has hydrated, so the requests a
6
+ * page makes while it loads (the session check, the first queries) used to be
7
+ * missed. `@buoy-gg/core/web/register` already has to run before React DOM, so
8
+ * it installs this recorder too. When Network capture starts, the tool calls
9
+ * `adopt` and turns each record into a normal request row, including requests
10
+ * that are still in flight. After that the recorder only passes calls through.
11
+ *
12
+ * It has no dependencies because it loads before everything else. The shape
13
+ * of `window.__BUOY_EARLY_NETWORK__` is shared with @buoy-gg/network
14
+ * (network/utils/adoptEarlyNetwork.ts); change both together.
15
+ */
16
+ export interface EarlyFetchRecord {
17
+ kind: 'fetch';
18
+ input: RequestInfo | URL;
19
+ init?: RequestInit;
20
+ /** A copy of a `Request` body, taken before the app's request consumed it. */
21
+ requestCopy?: Request;
22
+ /** Real `Date.now()` when the call was made. */
23
+ start: number;
24
+ /**
25
+ * Settles when the headers arrive, with the app's response and a clone to
26
+ * read the body from (none for a stream), or with the error the app saw.
27
+ */
28
+ settled: Promise<{
29
+ response?: Response;
30
+ clone?: Response;
31
+ error?: unknown;
32
+ headersAt: number;
33
+ }>;
34
+ }
35
+ export interface EarlyXhrRecord {
36
+ kind: 'xhr';
37
+ xhr: XMLHttpRequest;
38
+ method: string;
39
+ url: string;
40
+ headers: Record<string, string>;
41
+ body: unknown;
42
+ start: number;
43
+ }
44
+ export type EarlyNetworkRecord = EarlyFetchRecord | EarlyXhrRecord;
45
+ export interface EarlyNetworkRecorder {
46
+ version: 1;
47
+ records: EarlyNetworkRecord[];
48
+ /** Hand every record to the Network tool and stop recording. Returns them once. */
49
+ adopt(): EarlyNetworkRecord[];
50
+ }
51
+ export declare function installEarlyNetworkRecorder(): void;
52
+ //# sourceMappingURL=earlyNetwork.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- import { AppInstance, OpenDefinition } from "./AppHostLogic";
2
+ import { AppInstance, OpenDefinition, type ModalRestoreState } from "./AppHostLogic";
3
3
  type AppHostContextValue = {
4
4
  openApps: AppInstance[];
5
5
  isAnyOpen: boolean;
@@ -8,9 +8,9 @@ type AppHostContextValue = {
8
8
  closeAll: () => void;
9
9
  registerApps: (apps: any[]) => void;
10
10
  /** Minimize a tool - hides the modal but keeps state */
11
- minimize: (instanceId: string) => void;
11
+ minimize: (instanceId: string, restoreState?: ModalRestoreState) => void;
12
12
  /** Restore a minimized tool to visible state */
13
- restore: (instanceId: string) => void;
13
+ restore: (instanceId: string, restoreState?: ModalRestoreState) => void;
14
14
  /** Check if a specific tool is minimized */
15
15
  isMinimized: (instanceId: string) => boolean;
16
16
  };
@@ -0,0 +1,14 @@
1
+ import type { BrowserToolModules } from '../utils/createWebTools';
2
+ import type { BrowserToolConfig } from '../utils/createWebTool';
3
+ import type { ExternalSyncOptions } from './autoExternalSync';
4
+ import type { EnvVarConfig } from './FloatingDevTools';
5
+ export interface BrowserToolRuntimeProps {
6
+ modules: BrowserToolModules;
7
+ apps?: BrowserToolConfig[];
8
+ requiredEnvVars?: EnvVarConfig[];
9
+ externalSync?: boolean | ExternalSyncOptions;
10
+ headless?: boolean;
11
+ sentryGetClient?: () => unknown;
12
+ }
13
+ export declare function BrowserToolRuntime(props: BrowserToolRuntimeProps): import("react").JSX.Element;
14
+ //# sourceMappingURL=BrowserToolRuntime.d.ts.map
@@ -1,68 +1,3 @@
1
- import { FC } from "react";
2
- import type { InstalledApp } from "./types";
3
- /**
4
- * Global settings that apply to all dev tools.
5
- * These settings override individual tool configurations.
6
- */
7
- export interface GlobalDevToolsSettings {
8
- /**
9
- * When true, all modals share the same dimensions/position.
10
- * When false (default), each modal has its own independent persistence.
11
- * Priority: Settings UI > Prop override > Default (false)
12
- */
13
- enableSharedModalDimensions?: boolean;
14
- /**
15
- * When true (default), window control buttons expand on tap for easier pressing.
16
- * When false, buttons are directly tappable at small size.
17
- */
18
- expandableWindowControls?: boolean;
19
- }
20
- /**
21
- * Serialized preferences that power the floating dev tools UI. Values persist across sessions
22
- * via AsyncStorage so teams can tailor which tools appear in the dial or floating row.
23
- */
24
- export interface DevToolsSettings {
25
- /** Map of dial tool ids to enabled state (max slots enforced elsewhere). */
26
- dialTools: Record<string, boolean>;
27
- /** Map of floating tool ids to enabled state plus the environment indicator toggle. */
28
- floatingTools: Record<string, boolean> & {
29
- environment: boolean;
30
- };
31
- /** Global settings that apply to all dev tools */
32
- globalSettings?: GlobalDevToolsSettings;
33
- }
34
- /**
35
- * The subset of InstalledApp the settings modal needs per tool. `icon`/`color`
36
- * let rows fall back to the tool's own glyph when getToolIcon() has no
37
- * night-tuned override for it.
38
- */
39
- interface SettingsToolInfo {
40
- id: string;
41
- name: string;
42
- description?: string;
43
- slot?: "dial" | "row" | "both";
44
- icon?: InstalledApp["icon"];
45
- color?: string;
46
- }
47
- interface DevToolsSettingsModalProps {
48
- visible: boolean;
49
- onClose: () => void;
50
- onSettingsChange?: (settings: DevToolsSettings) => void;
51
- initialSettings?: DevToolsSettings;
52
- availableApps?: SettingsToolInfo[];
53
- }
54
- /**
55
- * Configurable modal surface that lets engineers pick which dev tools appear in the dial and
56
- * floating row. Persists preferences and enforces slot limits for a consistent UX.
57
- *
58
- * Styled in the "night" language (Everlights port — see shared-ui's
59
- * ui/night): section labels outside near-black cards, hairline-separated
60
- * rows, real switches, and a transparent header the star field runs through.
61
- */
62
- export declare const DevToolsSettingsModal: FC<DevToolsSettingsModalProps>;
63
- export declare const useDevToolsSettings: () => {
64
- settings: DevToolsSettings;
65
- refreshSettings: () => void;
66
- };
67
- export {};
1
+ export { DevToolsSettingsModal, useDevToolsSettings } from "./DevToolsSettingsModal.shared";
2
+ export type { DevToolsSettings, GlobalDevToolsSettings } from "./DevToolsSettingsModal.shared";
68
3
  //# sourceMappingURL=DevToolsSettingsModal.d.ts.map
@@ -0,0 +1,71 @@
1
+ import { FC } from "react";
2
+ import type { InstalledApp } from "./types";
3
+ import type { StorageAdapter } from "@buoy-gg/floating-tools-react";
4
+ /**
5
+ * Global settings that apply to all dev tools.
6
+ * These settings override individual tool configurations.
7
+ */
8
+ export interface GlobalDevToolsSettings {
9
+ /**
10
+ * When true, all modals share the same dimensions/position.
11
+ * When false (default), each modal has its own independent persistence.
12
+ * Priority: Settings UI > Prop override > Default (false)
13
+ */
14
+ enableSharedModalDimensions?: boolean;
15
+ /**
16
+ * When true (default), window control buttons expand on tap for easier pressing.
17
+ * When false, buttons are directly tappable at small size.
18
+ */
19
+ expandableWindowControls?: boolean;
20
+ }
21
+ /**
22
+ * Serialized preferences that power the floating dev tools UI. Values persist across sessions
23
+ * via AsyncStorage so teams can tailor which tools appear in the dial or floating row.
24
+ */
25
+ export interface DevToolsSettings {
26
+ /** Map of dial tool ids to enabled state (max slots enforced elsewhere). */
27
+ dialTools: Record<string, boolean>;
28
+ /** Map of floating tool ids to enabled state plus the environment indicator toggle. */
29
+ floatingTools: Record<string, boolean> & {
30
+ environment: boolean;
31
+ };
32
+ /** Global settings that apply to all dev tools */
33
+ globalSettings?: GlobalDevToolsSettings;
34
+ }
35
+ /**
36
+ * The subset of InstalledApp the settings modal needs per tool. `icon`/`color`
37
+ * let rows fall back to the tool's own glyph when getToolIcon() has no
38
+ * night-tuned override for it.
39
+ */
40
+ interface SettingsToolInfo {
41
+ id: string;
42
+ name: string;
43
+ description?: string;
44
+ slot?: "dial" | "row" | "both";
45
+ icon?: InstalledApp["icon"];
46
+ color?: string;
47
+ }
48
+ interface DevToolsSettingsModalProps {
49
+ visible: boolean;
50
+ onClose: () => void;
51
+ onSettingsChange?: (settings: DevToolsSettings) => void;
52
+ initialSettings?: DevToolsSettings;
53
+ availableApps?: SettingsToolInfo[];
54
+ storage?: StorageAdapter;
55
+ zIndex?: number;
56
+ }
57
+ /**
58
+ * Configurable modal surface that lets engineers pick which dev tools appear in the dial and
59
+ * floating row. Persists preferences and enforces slot limits for a consistent UX.
60
+ *
61
+ * Styled in the "night" language (Everlights port — see shared-ui's
62
+ * ui/night): section labels outside near-black cards, hairline-separated
63
+ * rows, real switches, and a transparent header the star field runs through.
64
+ */
65
+ export declare const DevToolsSettingsModal: FC<DevToolsSettingsModalProps>;
66
+ export declare const useDevToolsSettings: () => {
67
+ settings: DevToolsSettings;
68
+ refreshSettings: () => void;
69
+ };
70
+ export {};
71
+ //# sourceMappingURL=DevToolsSettingsModal.shared.d.ts.map
@@ -1,18 +1,4 @@
1
- /**
2
- * DevToolsSettingsModal - Web renderer for the dev tools settings modal.
3
- *
4
- * Uses shared configuration and logic from @buoy-gg/floating-tools-react.
5
- * Platform-specific: CSS, mouse events, web JSX.
6
- *
7
- * VISUAL PARITY: styled 1:1 against the native reference
8
- * (devtools-floating-menu/src/floatingMenu/DevToolsSettingsModal.tsx, which
9
- * renders in the "night" language — shared-ui's ui/night Everlights port —
10
- * inside JsModal variant="night"). shared-ui is RN-only, so the night tokens
11
- * and primitive styles are inlined below with provenance comments.
12
- *
13
- * @platform React DOM Web (Vite, CRA, Next.js, Electron)
14
- */
15
- import { type AvailableToolConfig, type DevToolsSettings, type StorageAdapter } from '@buoy-gg/floating-tools-react';
1
+ import type { AvailableToolConfig, DevToolsSettings, StorageAdapter } from "@buoy-gg/floating-tools-react";
16
2
  export interface SettingsModalProps {
17
3
  visible: boolean;
18
4
  onClose: () => void;
@@ -22,5 +8,6 @@ export interface SettingsModalProps {
22
8
  storage?: StorageAdapter;
23
9
  onSettingsChange?: (settings: DevToolsSettings) => void;
24
10
  }
25
- export declare function SettingsModal({ visible, onClose, availableTools, defaultFloatingTools, defaultDialTools, storage, onSettingsChange, }: SettingsModalProps): import("react").JSX.Element | null;
11
+ /** Adapts the browser host to the shared settings and account panel. */
12
+ export declare function SettingsModal({ visible, onClose, availableTools, defaultFloatingTools, defaultDialTools, storage, onSettingsChange, }: SettingsModalProps): import("react").JSX.Element;
26
13
  //# sourceMappingURL=DevToolsSettingsModal.web.d.ts.map
@@ -1,4 +1,8 @@
1
1
  import { type WebToolConfig, type Environment, type UserRole } from '@buoy-gg/floating-tools-react';
2
+ import { type BrowserToolModules } from '../utils/createWebTools';
3
+ import type { BrowserToolConfig } from '../utils/createWebTool';
4
+ import type { ExternalSyncOptions } from './autoExternalSync';
5
+ import type { EnvVarConfig } from './FloatingDevTools';
2
6
  export interface FloatingDevToolsProps {
3
7
  /** Current environment (local, dev, qa, staging, prod) */
4
8
  environment?: Environment;
@@ -8,14 +12,16 @@ export interface FloatingDevToolsProps {
8
12
  availableEnvironments?: Environment[];
9
13
  /** Callback when environment is switched */
10
14
  onEnvironmentSwitch?: (env: Environment) => void;
11
- /** Custom tools to add (will be merged with auto-discovered) */
12
- apps?: WebToolConfig[];
15
+ /** Custom tools to add to the registered packages. */
16
+ apps?: BrowserToolConfig[];
17
+ /** Imported tool packages, keyed by package name. */
18
+ modules?: BrowserToolModules;
19
+ externalSync?: boolean | ExternalSyncOptions;
20
+ requiredEnvVars?: EnvVarConfig[];
21
+ sentryGetClient?: () => unknown;
13
22
  /** Disable onboarding tooltips */
14
23
  disableHints?: boolean;
15
- /**
16
- * API parity with native. Desktop sync is native-only, so headless mode
17
- * on web simply renders nothing.
18
- */
24
+ /** Keep capture and desktop sync running without the floating menu. */
19
25
  headless?: boolean;
20
26
  licenseKey?: string;
21
27
  /** @deprecated Accounts are required for all dev tools. */
@@ -19,7 +19,7 @@
19
19
  * All known tool IDs that can appear in the floating menu or dial menu.
20
20
  * This is a union type of all auto-discovered tool IDs.
21
21
  */
22
- export type BuiltInToolId = 'env' | 'network' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'time-machine' | 'scenarios' | 'ask-buoy' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
22
+ export type BuiltInToolId = 'env' | 'network' | 'push-notifications' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'time-machine' | 'clock' | 'scenarios' | 'ask-buoy' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
23
23
  /**
24
24
  * Special floating-only tool IDs that only appear in the floating bubble row.
25
25
  */
@@ -1,10 +1,2 @@
1
- import type { DevToolsSettings } from './DevToolsSettingsModal';
2
- type Listener<T> = (payload: T) => void;
3
- declare class SimpleEventBus<T = DevToolsSettings> {
4
- private listeners;
5
- emit(payload: T): void;
6
- addListener(listener: Listener<T>): () => boolean;
7
- }
8
- export declare const settingsBus: SimpleEventBus<DevToolsSettings>;
9
- export {};
1
+ export { settingsEventBus as settingsBus } from "@buoy-gg/floating-tools-core";
10
2
  //# sourceMappingURL=settingsBus.d.ts.map
@@ -0,0 +1,3 @@
1
+ import type { DesktopSyncStatus } from "./useDesktopSyncStatus";
2
+ export declare function useDesktopSyncStatus(): DesktopSyncStatus | null;
3
+ //# sourceMappingURL=useDesktopSyncStatus.web.d.ts.map
@@ -8,6 +8,8 @@
8
8
  */
9
9
  export { FloatingDevTools } from "./floatingMenu/FloatingDevTools.web";
10
10
  export type { FloatingDevToolsProps } from "./floatingMenu/FloatingDevTools.web";
11
+ export { createWebTool } from "./utils/createWebTool";
12
+ export { clearReleaseOptIn } from "./releaseOptIn";
11
13
  export { FloatingTools, UserStatus, Divider } from "./floatingMenu/floatingTools.web";
12
14
  export type { FloatingToolsProps } from "./floatingMenu/floatingTools.web";
13
15
  export { DialMenu } from "./floatingMenu/dial/DialDevTools.web";
@@ -18,4 +20,9 @@ export { AppHostProvider, AppOverlay, useAppHost } from "./floatingMenu/AppHost.
18
20
  export { autoDiscoverWebPresets, autoDiscoverWithCustom, getToolsBySlot, getEnabledTools, defaultToolPresets, } from "./utils/autoDiscoverPresets.web";
19
21
  export type { WebToolConfig, Environment, UserRole, StorageAdapter, DevToolsSettings, AvailableToolConfig, } from "@buoy-gg/floating-tools-react";
20
22
  export { useSettings, useFloatingTools, getToolLabel, getToolDescription, getToolColor, settingsColors, settingsStyles, dialColors, dialStyles, } from "@buoy-gg/floating-tools-react";
23
+ export { createWebTools, type BrowserToolModules } from "./utils/createWebTools";
24
+ export * from "./toolkit";
25
+ export { useToolHost, useToolHeader, type ToolHostContextValue, type ToolHeaderOverride, type ToolToastType } from "./floatingMenu/ToolHost";
26
+ export { DevToolsVisibilityProvider, useDevToolsVisibility } from "./floatingMenu/DevToolsVisibilityContext";
27
+ export { appSyncAdapter } from "./floatingMenu/sync/appSyncAdapter";
21
28
  //# sourceMappingURL=index.web.d.ts.map