@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.
- package/README.md +14 -85
- package/bin/buoy.js +20 -347
- package/lib/commonjs/Buoy.js +1 -107
- package/lib/commonjs/browserRegister.js +1 -0
- package/lib/commonjs/browserRegister.server.js +1 -0
- package/lib/commonjs/earlyHookScript.js +1 -0
- package/lib/commonjs/earlyNetwork.js +1 -0
- package/lib/commonjs/floatingMenu/AppHost.js +1 -460
- package/lib/commonjs/floatingMenu/AppHost.web.js +1 -364
- package/lib/commonjs/floatingMenu/AppHostLogic.js +1 -50
- package/lib/commonjs/floatingMenu/AppIcon.js +1 -91
- package/lib/commonjs/floatingMenu/AppIcon.web.js +1 -53
- package/lib/commonjs/floatingMenu/BrowserToolRuntime.js +1 -0
- package/lib/commonjs/floatingMenu/DefaultConfigContext.js +1 -45
- package/lib/commonjs/floatingMenu/DevToolsSettingsModal.js +1 -1119
- package/lib/commonjs/floatingMenu/DevToolsSettingsModal.shared.js +1 -0
- package/lib/commonjs/floatingMenu/DevToolsSettingsModal.web.js +1 -1048
- package/lib/commonjs/floatingMenu/DevToolsVisibilityContext.js +1 -49
- package/lib/commonjs/floatingMenu/FloatingDevTools.js +1 -554
- package/lib/commonjs/floatingMenu/FloatingDevTools.web.js +1 -401
- package/lib/commonjs/floatingMenu/FloatingMenu.js +1 -371
- package/lib/commonjs/floatingMenu/MinimizedToolsContext.js +1 -274
- package/lib/commonjs/floatingMenu/MinimizedToolsStack.js +1 -288
- package/lib/commonjs/floatingMenu/MinimizedToolsStack.web.js +1 -371
- package/lib/commonjs/floatingMenu/ToggleStateManager.js +1 -36
- package/lib/commonjs/floatingMenu/ToolHost.js +1 -281
- package/lib/commonjs/floatingMenu/ToolOpenerBridge.js +1 -41
- package/lib/commonjs/floatingMenu/autoDiscoverPresets.js +1 -461
- package/lib/commonjs/floatingMenu/autoExternalSync.js +1 -434
- package/lib/commonjs/floatingMenu/defaultConfig.js +1 -167
- package/lib/commonjs/floatingMenu/deviceIdentity.js +1 -173
- package/lib/commonjs/floatingMenu/dial/DialDevTools.js +1 -904
- package/lib/commonjs/floatingMenu/dial/DialDevTools.web.js +1 -821
- package/lib/commonjs/floatingMenu/dial/DialHyperspace.js +1 -177
- package/lib/commonjs/floatingMenu/dial/DialIcon.js +1 -302
- package/lib/commonjs/floatingMenu/dial/DialPagination.js +1 -165
- package/lib/commonjs/floatingMenu/dial/DialSnow.js +1 -92
- package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.js +1 -246
- package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.web.js +2 -147
- package/lib/commonjs/floatingMenu/dial/dialUsageStore.js +1 -93
- package/lib/commonjs/floatingMenu/dial/onboardingConstants.js +1 -42
- package/lib/commonjs/floatingMenu/dial/onboardingConstants.web.js +1 -42
- package/lib/commonjs/floatingMenu/externalSyncGate.js +1 -49
- package/lib/commonjs/floatingMenu/floatingTools.js +1 -42
- package/lib/commonjs/floatingMenu/floatingTools.web.js +1 -30
- package/lib/commonjs/floatingMenu/optionalRequire.js +1 -37
- package/lib/commonjs/floatingMenu/settingsBus.js +1 -23
- package/lib/commonjs/floatingMenu/sync/appSyncAdapter.js +1 -115
- package/lib/commonjs/floatingMenu/types.js +1 -5
- package/lib/commonjs/floatingMenu/useDesktopSyncStatus.js +1 -28
- package/lib/commonjs/floatingMenu/useDesktopSyncStatus.web.js +1 -0
- package/lib/commonjs/index.js +1 -291
- package/lib/commonjs/index.web.js +1 -150
- package/lib/commonjs/reactDevtoolsTypes.js +1 -0
- package/lib/commonjs/releaseOptIn.js +1 -0
- package/lib/commonjs/telemetry/installPing.js +1 -131
- package/lib/commonjs/toolkit.js +1 -584
- package/lib/commonjs/toolkitComponents.js +1 -241
- package/lib/commonjs/utils/autoDiscoverPresets.web.js +1 -219
- package/lib/commonjs/utils/createWebTool.js +1 -0
- package/lib/commonjs/utils/createWebTools.js +1 -0
- package/lib/commonjs/version.js +1 -18
- package/lib/module/Buoy.js +1 -102
- package/lib/module/browserRegister.js +1 -0
- package/lib/module/browserRegister.server.js +1 -0
- package/lib/module/earlyHookScript.js +1 -0
- package/lib/module/earlyNetwork.js +1 -0
- package/lib/module/floatingMenu/AppHost.js +1 -452
- package/lib/module/floatingMenu/AppHost.web.js +1 -356
- package/lib/module/floatingMenu/AppHostLogic.js +1 -45
- package/lib/module/floatingMenu/AppIcon.js +1 -84
- package/lib/module/floatingMenu/AppIcon.web.js +1 -47
- package/lib/module/floatingMenu/BrowserToolRuntime.js +1 -0
- package/lib/module/floatingMenu/DefaultConfigContext.js +1 -39
- package/lib/module/floatingMenu/DevToolsSettingsModal.js +1 -1115
- package/lib/module/floatingMenu/DevToolsSettingsModal.shared.js +1 -0
- package/lib/module/floatingMenu/DevToolsSettingsModal.web.js +1 -1055
- package/lib/module/floatingMenu/DevToolsVisibilityContext.js +1 -44
- package/lib/module/floatingMenu/FloatingDevTools.js +1 -551
- package/lib/module/floatingMenu/FloatingDevTools.web.js +1 -399
- package/lib/module/floatingMenu/FloatingMenu.js +1 -366
- package/lib/module/floatingMenu/MinimizedToolsContext.js +1 -266
- package/lib/module/floatingMenu/MinimizedToolsStack.js +1 -285
- package/lib/module/floatingMenu/MinimizedToolsStack.web.js +1 -368
- package/lib/module/floatingMenu/ToggleStateManager.js +1 -32
- package/lib/module/floatingMenu/ToolHost.js +1 -273
- package/lib/module/floatingMenu/ToolOpenerBridge.js +1 -37
- package/lib/module/floatingMenu/autoDiscoverPresets.js +1 -457
- package/lib/module/floatingMenu/autoExternalSync.js +1 -427
- package/lib/module/floatingMenu/defaultConfig.js +1 -158
- package/lib/module/floatingMenu/deviceIdentity.js +1 -163
- package/lib/module/floatingMenu/dial/DialDevTools.js +1 -900
- package/lib/module/floatingMenu/dial/DialDevTools.web.js +1 -818
- package/lib/module/floatingMenu/dial/DialHyperspace.js +1 -173
- package/lib/module/floatingMenu/dial/DialIcon.js +1 -299
- package/lib/module/floatingMenu/dial/DialPagination.js +1 -160
- package/lib/module/floatingMenu/dial/DialSnow.js +1 -90
- package/lib/module/floatingMenu/dial/OnboardingTooltip.js +1 -240
- package/lib/module/floatingMenu/dial/OnboardingTooltip.web.js +2 -142
- package/lib/module/floatingMenu/dial/dialUsageStore.js +1 -85
- package/lib/module/floatingMenu/dial/onboardingConstants.js +1 -3
- package/lib/module/floatingMenu/dial/onboardingConstants.web.js +1 -3
- package/lib/module/floatingMenu/externalSyncGate.js +1 -44
- package/lib/module/floatingMenu/floatingTools.js +1 -27
- package/lib/module/floatingMenu/floatingTools.web.js +1 -3
- package/lib/module/floatingMenu/optionalRequire.js +1 -33
- package/lib/module/floatingMenu/settingsBus.js +1 -19
- package/lib/module/floatingMenu/sync/appSyncAdapter.js +1 -112
- package/lib/module/floatingMenu/types.js +1 -3
- package/lib/module/floatingMenu/useDesktopSyncStatus.js +1 -25
- package/lib/module/floatingMenu/useDesktopSyncStatus.web.js +1 -0
- package/lib/module/index.js +1 -41
- package/lib/module/index.web.js +1 -29
- package/lib/module/reactDevtoolsTypes.js +1 -0
- package/lib/module/releaseOptIn.js +1 -0
- package/lib/module/telemetry/installPing.js +1 -127
- package/lib/module/toolkit.js +1 -62
- package/lib/module/toolkitComponents.js +1 -230
- package/lib/module/utils/autoDiscoverPresets.web.js +1 -213
- package/lib/module/utils/createWebTool.js +1 -0
- package/lib/module/utils/createWebTools.js +1 -0
- package/lib/module/version.js +1 -14
- package/lib/typescript/commonjs/browserRegister.d.ts +13 -0
- package/lib/typescript/commonjs/browserRegister.server.d.ts +6 -0
- package/lib/typescript/commonjs/earlyHookScript.d.ts +12 -0
- package/lib/typescript/commonjs/earlyNetwork.d.ts +52 -0
- package/lib/typescript/commonjs/floatingMenu/AppHost.web.d.ts +3 -3
- package/lib/typescript/commonjs/floatingMenu/BrowserToolRuntime.d.ts +14 -0
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.d.ts +2 -67
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.shared.d.ts +71 -0
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts +3 -16
- package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts +12 -6
- package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts +1 -1
- package/lib/typescript/commonjs/floatingMenu/settingsBus.d.ts +1 -9
- package/lib/typescript/commonjs/floatingMenu/useDesktopSyncStatus.web.d.ts +3 -0
- package/lib/typescript/commonjs/index.web.d.ts +7 -0
- package/lib/typescript/commonjs/reactDevtoolsTypes.d.ts +8 -0
- package/lib/typescript/commonjs/releaseOptIn.d.ts +4 -0
- package/lib/typescript/commonjs/utils/autoDiscoverPresets.web.d.ts +3 -40
- package/lib/typescript/commonjs/utils/createWebTool.d.ts +6 -0
- package/lib/typescript/commonjs/utils/createWebTools.d.ts +4 -0
- package/lib/typescript/commonjs/version.d.ts +1 -1
- package/lib/typescript/module/browserRegister.d.ts +13 -0
- package/lib/typescript/module/browserRegister.server.d.ts +6 -0
- package/lib/typescript/module/earlyHookScript.d.ts +12 -0
- package/lib/typescript/module/earlyNetwork.d.ts +52 -0
- package/lib/typescript/module/floatingMenu/AppHost.web.d.ts +3 -3
- package/lib/typescript/module/floatingMenu/BrowserToolRuntime.d.ts +14 -0
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.d.ts +2 -67
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.shared.d.ts +71 -0
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts +3 -16
- package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts +12 -6
- package/lib/typescript/module/floatingMenu/defaultConfig.d.ts +1 -1
- package/lib/typescript/module/floatingMenu/settingsBus.d.ts +1 -9
- package/lib/typescript/module/floatingMenu/useDesktopSyncStatus.web.d.ts +3 -0
- package/lib/typescript/module/index.web.d.ts +7 -0
- package/lib/typescript/module/reactDevtoolsTypes.d.ts +8 -0
- package/lib/typescript/module/releaseOptIn.d.ts +4 -0
- package/lib/typescript/module/utils/autoDiscoverPresets.web.d.ts +3 -40
- package/lib/typescript/module/utils/createWebTool.d.ts +6 -0
- package/lib/typescript/module/utils/createWebTools.d.ts +4 -0
- package/lib/typescript/module/version.d.ts +1 -1
- package/lib/web/chunks/chunk-5SGL6QL4.mjs +1 -0
- package/lib/web/chunks/chunk-FROELTJH.mjs +1 -0
- package/lib/web/chunks/chunk-QZDVCMCT.mjs +1 -0
- package/lib/web/chunks/chunk-R7RGRTY5.mjs +1 -0
- package/lib/web/index.mjs +10 -0
- package/lib/web/register-server.mjs +1 -0
- package/lib/web/register.mjs +1 -0
- package/lib/web/toolkit.mjs +1 -0
- package/package.json +50 -12
- package/lib/typescript/commonjs/Buoy.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppHost.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppHost.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppHostLogic.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppIcon.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppIcon.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/DefaultConfigContext.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/DevToolsVisibilityContext.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/FloatingMenu.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsContext.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/ToggleStateManager.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/ToolHost.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/ToolOpenerBridge.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/autoDiscoverPresets.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/autoExternalSync.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/deviceIdentity.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialHyperspace.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialIcon.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialPagination.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialSnow.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/dialUsageStore.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/externalSyncGate.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/floatingTools.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/floatingTools.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/optionalRequire.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/settingsBus.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/sync/appSyncAdapter.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/types.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/useDesktopSyncStatus.d.ts.map +0 -1
- package/lib/typescript/commonjs/index.d.ts.map +0 -1
- package/lib/typescript/commonjs/index.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/telemetry/installPing.d.ts.map +0 -1
- package/lib/typescript/commonjs/toolkit.d.ts.map +0 -1
- package/lib/typescript/commonjs/toolkitComponents.d.ts.map +0 -1
- package/lib/typescript/commonjs/utils/autoDiscoverPresets.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/version.d.ts.map +0 -1
- package/lib/typescript/module/Buoy.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppHost.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppHost.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppHostLogic.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppIcon.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppIcon.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/DefaultConfigContext.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/DevToolsVisibilityContext.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/FloatingDevTools.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/FloatingMenu.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/MinimizedToolsContext.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/MinimizedToolsStack.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/MinimizedToolsStack.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/ToggleStateManager.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/ToolHost.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/ToolOpenerBridge.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/autoDiscoverPresets.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/autoExternalSync.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/defaultConfig.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/deviceIdentity.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialDevTools.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialDevTools.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialHyperspace.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialIcon.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialPagination.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialSnow.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/dialUsageStore.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/onboardingConstants.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/onboardingConstants.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/externalSyncGate.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/floatingTools.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/floatingTools.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/optionalRequire.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/settingsBus.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/sync/appSyncAdapter.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/types.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/useDesktopSyncStatus.d.ts.map +0 -1
- package/lib/typescript/module/index.d.ts.map +0 -1
- package/lib/typescript/module/index.web.d.ts.map +0 -1
- package/lib/typescript/module/telemetry/installPing.d.ts.map +0 -1
- package/lib/typescript/module/toolkit.d.ts.map +0 -1
- package/lib/typescript/module/toolkitComponents.d.ts.map +0 -1
- package/lib/typescript/module/utils/autoDiscoverPresets.web.d.ts.map +0 -1
- 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
|
-
|
|
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
|
|
12
|
-
apps?:
|
|
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
|
-
|
|
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
|
|
@@ -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
|
|
@@ -1,45 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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.
|
|
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
|
-
|
|
2
|
-
|
|
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
|
-
|
|
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
|
|
12
|
-
apps?:
|
|
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
|
-
|
|
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
|
|
@@ -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
|