@buoy-gg/core 7.0.15 → 7.0.17

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 (133) hide show
  1. package/lib/commonjs/floatingMenu/AppHost.js +18 -0
  2. package/lib/commonjs/floatingMenu/AppHost.web.js +359 -0
  3. package/lib/commonjs/floatingMenu/AppHostLogic.js +6 -0
  4. package/lib/commonjs/floatingMenu/DevToolsSettingsModal.web.js +787 -418
  5. package/lib/commonjs/floatingMenu/FloatingDevTools.js +1 -1
  6. package/lib/commonjs/floatingMenu/FloatingDevTools.web.js +244 -36
  7. package/lib/commonjs/floatingMenu/FloatingMenu.js +4 -3
  8. package/lib/commonjs/floatingMenu/MinimizedToolsContext.js +2 -3
  9. package/lib/commonjs/floatingMenu/MinimizedToolsStack.web.js +287 -0
  10. package/lib/commonjs/floatingMenu/ToolHost.js +264 -0
  11. package/lib/commonjs/floatingMenu/allToolsRegistry.js +7 -0
  12. package/lib/commonjs/floatingMenu/autoDiscoverPresets.js +32 -0
  13. package/lib/commonjs/floatingMenu/autoExternalSync.js +18 -0
  14. package/lib/commonjs/floatingMenu/dial/DialDevTools.js +9 -5
  15. package/lib/commonjs/floatingMenu/dial/DialDevTools.web.js +373 -231
  16. package/lib/commonjs/floatingMenu/dial/DialIcon.js +25 -3
  17. package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.js +1 -1
  18. package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.web.js +154 -0
  19. package/lib/commonjs/floatingMenu/dial/onboardingConstants.web.js +34 -0
  20. package/lib/commonjs/floatingMenu/floatingTools.js +3 -3
  21. package/lib/commonjs/floatingMenu/floatingTools.web.js +191 -28
  22. package/lib/commonjs/index.js +29 -2
  23. package/lib/commonjs/index.web.js +19 -0
  24. package/lib/commonjs/toolkit.js +427 -0
  25. package/lib/commonjs/utils/autoDiscoverPresets.web.js +50 -5
  26. package/lib/module/floatingMenu/AppHost.js +18 -0
  27. package/lib/module/floatingMenu/AppHost.web.js +351 -0
  28. package/lib/module/floatingMenu/AppHostLogic.js +6 -0
  29. package/lib/module/floatingMenu/DevToolsSettingsModal.web.js +792 -422
  30. package/lib/module/floatingMenu/FloatingDevTools.js +2 -2
  31. package/lib/module/floatingMenu/FloatingDevTools.web.js +247 -38
  32. package/lib/module/floatingMenu/FloatingMenu.js +4 -3
  33. package/lib/module/floatingMenu/MinimizedToolsContext.js +2 -3
  34. package/lib/module/floatingMenu/MinimizedToolsStack.web.js +284 -0
  35. package/lib/module/floatingMenu/ToolHost.js +256 -0
  36. package/lib/module/floatingMenu/allToolsRegistry.js +8 -1
  37. package/lib/module/floatingMenu/autoDiscoverPresets.js +32 -0
  38. package/lib/module/floatingMenu/autoExternalSync.js +18 -0
  39. package/lib/module/floatingMenu/dial/DialDevTools.js +10 -6
  40. package/lib/module/floatingMenu/dial/DialDevTools.web.js +375 -233
  41. package/lib/module/floatingMenu/dial/DialIcon.js +26 -4
  42. package/lib/module/floatingMenu/dial/OnboardingTooltip.js +1 -1
  43. package/lib/module/floatingMenu/dial/OnboardingTooltip.web.js +149 -0
  44. package/lib/module/floatingMenu/dial/onboardingConstants.web.js +27 -0
  45. package/lib/module/floatingMenu/floatingTools.js +3 -3
  46. package/lib/module/floatingMenu/floatingTools.web.js +190 -28
  47. package/lib/module/index.js +8 -2
  48. package/lib/module/index.web.js +5 -0
  49. package/lib/module/toolkit.js +45 -0
  50. package/lib/module/utils/autoDiscoverPresets.web.js +53 -7
  51. package/lib/typescript/commonjs/floatingMenu/AppHost.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/floatingMenu/AppHost.web.d.ts +38 -0
  53. package/lib/typescript/commonjs/floatingMenu/AppHost.web.d.ts.map +1 -0
  54. package/lib/typescript/commonjs/floatingMenu/AppHostLogic.d.ts +24 -1
  55. package/lib/typescript/commonjs/floatingMenu/AppHostLogic.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts +5 -2
  57. package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts +2 -14
  59. package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/floatingMenu/FloatingMenu.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/floatingMenu/MinimizedToolsContext.d.ts +2 -20
  62. package/lib/typescript/commonjs/floatingMenu/MinimizedToolsContext.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.web.d.ts +21 -0
  64. package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.web.d.ts.map +1 -0
  65. package/lib/typescript/commonjs/floatingMenu/ToolHost.d.ts +72 -0
  66. package/lib/typescript/commonjs/floatingMenu/ToolHost.d.ts.map +1 -0
  67. package/lib/typescript/commonjs/floatingMenu/allToolsRegistry.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/floatingMenu/autoDiscoverPresets.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/floatingMenu/autoExternalSync.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts +1 -1
  71. package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.web.d.ts +16 -2
  74. package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.web.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/floatingMenu/dial/DialIcon.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.web.d.ts +9 -0
  77. package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +1 -0
  78. package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.web.d.ts +13 -0
  79. package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.web.d.ts.map +1 -0
  80. package/lib/typescript/commonjs/floatingMenu/floatingTools.web.d.ts +29 -2
  81. package/lib/typescript/commonjs/floatingMenu/floatingTools.web.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/floatingMenu/types.d.ts +30 -1
  83. package/lib/typescript/commonjs/floatingMenu/types.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/index.d.ts +2 -0
  85. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/index.web.d.ts +1 -0
  87. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/toolkit.d.ts +22 -0
  89. package/lib/typescript/commonjs/toolkit.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/utils/autoDiscoverPresets.web.d.ts +2 -0
  91. package/lib/typescript/commonjs/utils/autoDiscoverPresets.web.d.ts.map +1 -1
  92. package/lib/typescript/module/floatingMenu/AppHost.d.ts.map +1 -1
  93. package/lib/typescript/module/floatingMenu/AppHost.web.d.ts +38 -0
  94. package/lib/typescript/module/floatingMenu/AppHost.web.d.ts.map +1 -0
  95. package/lib/typescript/module/floatingMenu/AppHostLogic.d.ts +24 -1
  96. package/lib/typescript/module/floatingMenu/AppHostLogic.d.ts.map +1 -1
  97. package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts +5 -2
  98. package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts.map +1 -1
  99. package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts +2 -14
  100. package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts.map +1 -1
  101. package/lib/typescript/module/floatingMenu/FloatingMenu.d.ts.map +1 -1
  102. package/lib/typescript/module/floatingMenu/MinimizedToolsContext.d.ts +2 -20
  103. package/lib/typescript/module/floatingMenu/MinimizedToolsContext.d.ts.map +1 -1
  104. package/lib/typescript/module/floatingMenu/MinimizedToolsStack.web.d.ts +21 -0
  105. package/lib/typescript/module/floatingMenu/MinimizedToolsStack.web.d.ts.map +1 -0
  106. package/lib/typescript/module/floatingMenu/ToolHost.d.ts +72 -0
  107. package/lib/typescript/module/floatingMenu/ToolHost.d.ts.map +1 -0
  108. package/lib/typescript/module/floatingMenu/allToolsRegistry.d.ts.map +1 -1
  109. package/lib/typescript/module/floatingMenu/autoDiscoverPresets.d.ts.map +1 -1
  110. package/lib/typescript/module/floatingMenu/autoExternalSync.d.ts.map +1 -1
  111. package/lib/typescript/module/floatingMenu/defaultConfig.d.ts +1 -1
  112. package/lib/typescript/module/floatingMenu/defaultConfig.d.ts.map +1 -1
  113. package/lib/typescript/module/floatingMenu/dial/DialDevTools.d.ts.map +1 -1
  114. package/lib/typescript/module/floatingMenu/dial/DialDevTools.web.d.ts +16 -2
  115. package/lib/typescript/module/floatingMenu/dial/DialDevTools.web.d.ts.map +1 -1
  116. package/lib/typescript/module/floatingMenu/dial/DialIcon.d.ts.map +1 -1
  117. package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.web.d.ts +9 -0
  118. package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +1 -0
  119. package/lib/typescript/module/floatingMenu/dial/onboardingConstants.web.d.ts +13 -0
  120. package/lib/typescript/module/floatingMenu/dial/onboardingConstants.web.d.ts.map +1 -0
  121. package/lib/typescript/module/floatingMenu/floatingTools.web.d.ts +29 -2
  122. package/lib/typescript/module/floatingMenu/floatingTools.web.d.ts.map +1 -1
  123. package/lib/typescript/module/floatingMenu/types.d.ts +30 -1
  124. package/lib/typescript/module/floatingMenu/types.d.ts.map +1 -1
  125. package/lib/typescript/module/index.d.ts +2 -0
  126. package/lib/typescript/module/index.d.ts.map +1 -1
  127. package/lib/typescript/module/index.web.d.ts +1 -0
  128. package/lib/typescript/module/index.web.d.ts.map +1 -1
  129. package/lib/typescript/module/toolkit.d.ts +22 -0
  130. package/lib/typescript/module/toolkit.d.ts.map +1 -0
  131. package/lib/typescript/module/utils/autoDiscoverPresets.web.d.ts +2 -0
  132. package/lib/typescript/module/utils/autoDiscoverPresets.web.d.ts.map +1 -1
  133. package/package.json +5 -5
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The public custom-tools toolkit — the blessed subset of Buoy's shared UI
5
+ * re-exported from `@buoy-gg/core`, so third-party tool authors need exactly
6
+ * one dependency and never touch `@buoy-gg/shared-ui` (which stays internal
7
+ * and free to churn).
8
+ *
9
+ * Everything here is considered API: additions are minor bumps, removals are
10
+ * major. If a component you want is missing, that's deliberate — request it
11
+ * rather than deep-importing.
12
+ */
13
+
14
+ // ---- Theme tokens ---------------------------------------------------------
15
+ export { toolTheme } from "@buoy-gg/shared-ui";
16
+
17
+ // ---- Layout / lists -------------------------------------------------------
18
+ export { CompactRow, SectionHeader, TabSelector, EmptyState, NoDataEmptyState, NoResultsEmptyState, NoSearchResultsEmptyState } from "@buoy-gg/shared-ui";
19
+
20
+ // ---- Badges ---------------------------------------------------------------
21
+ export { Badge, StatusBadge, CountBadge, TypeBadge, MethodBadge } from "@buoy-gg/shared-ui";
22
+
23
+ // ---- Buttons --------------------------------------------------------------
24
+ export { ToolButton, CopyButton, InlineCopyButton, ToolbarCopyButton, ToolbarClearButton, PowerToggleButton, HeaderSearchButton } from "@buoy-gg/shared-ui";
25
+
26
+ // ---- Detail / data display ------------------------------------------------
27
+ export { EventStepperFooter } from "@buoy-gg/shared-ui";
28
+ export { DataViewer } from "@buoy-gg/shared-ui/dataViewer";
29
+
30
+ // ---- Time -----------------------------------------------------------------
31
+ export { RelativeTime, formatRelativeTime } from "@buoy-gg/shared-ui";
32
+
33
+ // ---- Persistence ----------------------------------------------------------
34
+ export { persistentStorage, devToolsStorageKeys, usePersistedState } from "@buoy-gg/shared-ui";
35
+
36
+ // ---- Hooks / utils --------------------------------------------------------
37
+ export { useSafeAreaInsets, copyToClipboard, displayValue, safeStringify } from "@buoy-gg/shared-ui";
38
+
39
+ // ---- Manual chrome (advanced) --------------------------------------------
40
+ // Most tools should use `InstalledApp.modal` + `useToolHost` instead; these
41
+ // exist for tools that need full control of their shell.
42
+ export { JsModal, ModalHeader } from "@buoy-gg/shared-ui";
43
+
44
+ // ---- Icons (curated lucide set) ------------------------------------------
45
+ export { Activity, AlertTriangle, Bug, Check, CheckCircle, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Clock, Copy, Database, Eye, EyeOff, FileJson, FileText, Filter, FlaskConical, Globe, Hash, Info, Key, Layers, Lock, Pause, Play, Plus, Power, RefreshCw, Search, Settings, Shield, Trash2, User, Wifi, X, Zap } from "@buoy-gg/shared-ui";
@@ -15,7 +15,42 @@
15
15
  * @platform React DOM Web (Vite, CRA, Next.js, Electron)
16
16
  */
17
17
 
18
- import { NetworkIcon, EnvIcon } from '@buoy-gg/floating-tools-core';
18
+ import { NetworkIcon, EnvIcon, StorageIcon, QueryIcon, RoutesIcon, RendersIcon } from '@buoy-gg/floating-tools-core';
19
+
20
+ /**
21
+ * Dashed-square glyph for debug-borders (no BIF brand icon exists for it
22
+ * yet). Plain SVG so it renders identically everywhere — emoji icons are
23
+ * banned here: WKWebView (Capacitor/Tauri) renders them as tofu boxes.
24
+ */
25
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
+ function DebugBordersGlyph({
27
+ size
28
+ }) {
29
+ return /*#__PURE__*/_jsxs("svg", {
30
+ width: size,
31
+ height: size,
32
+ viewBox: "0 0 24 24",
33
+ "aria-hidden": "true",
34
+ children: [/*#__PURE__*/_jsx("rect", {
35
+ x: "3",
36
+ y: "3",
37
+ width: "18",
38
+ height: "18",
39
+ rx: "2",
40
+ fill: "none",
41
+ stroke: "#10b981",
42
+ strokeWidth: "2",
43
+ strokeDasharray: "4 3"
44
+ }), /*#__PURE__*/_jsx("rect", {
45
+ x: "8",
46
+ y: "8",
47
+ width: "8",
48
+ height: "8",
49
+ rx: "1",
50
+ fill: "#10b98155"
51
+ })]
52
+ });
53
+ }
19
54
 
20
55
  // =============================
21
56
  // Default Tool Presets (Fallback)
@@ -24,8 +59,9 @@ import { NetworkIcon, EnvIcon } from '@buoy-gg/floating-tools-core';
24
59
  /**
25
60
  * Default tool presets for when packages don't export web presets yet.
26
61
  * These will be used until each @buoy-gg/* package exports its own preset.
62
+ * Icons are the BIF brand icon components (same artwork as native) —
63
+ * never emoji strings (tofu in WKWebView).
27
64
  */
28
- import { jsx as _jsx } from "react/jsx-runtime";
29
65
  export const defaultToolPresets = [{
30
66
  id: 'env',
31
67
  name: 'ENV',
@@ -40,7 +76,9 @@ export const defaultToolPresets = [{
40
76
  name: 'STORAGE',
41
77
  description: 'AsyncStorage browser',
42
78
  slot: 'both',
43
- icon: '💾',
79
+ icon: size => /*#__PURE__*/_jsx(StorageIcon, {
80
+ size: size
81
+ }),
44
82
  color: '#BA68C8'
45
83
  }, {
46
84
  id: 'network',
@@ -56,28 +94,36 @@ export const defaultToolPresets = [{
56
94
  name: 'QUERY',
57
95
  description: 'React Query inspector',
58
96
  slot: 'both',
59
- icon: '🔍',
97
+ icon: size => /*#__PURE__*/_jsx(QueryIcon, {
98
+ size: size
99
+ }),
60
100
  color: '#FF4154'
61
101
  }, {
62
102
  id: 'route-events',
63
103
  name: 'ROUTES',
64
104
  description: 'Route tracking & navigation inspector',
65
105
  slot: 'both',
66
- icon: '🗺️',
106
+ icon: size => /*#__PURE__*/_jsx(RoutesIcon, {
107
+ size: size
108
+ }),
67
109
  color: '#FF9F1C'
68
110
  }, {
69
111
  id: 'highlight-updates',
70
112
  name: 'RENDERS',
71
113
  description: 'View component render tracking',
72
114
  slot: 'dial',
73
- icon: '✨',
115
+ icon: size => /*#__PURE__*/_jsx(RendersIcon, {
116
+ size: size
117
+ }),
74
118
  color: '#10b981'
75
119
  }, {
76
120
  id: 'debug-borders',
77
121
  name: 'DEBUG BORDERS',
78
122
  description: 'Component layout borders',
79
123
  slot: 'dial',
80
- icon: '📐',
124
+ icon: size => /*#__PURE__*/_jsx(DebugBordersGlyph, {
125
+ size: size
126
+ }),
81
127
  color: '#10b981'
82
128
  }];
83
129
 
@@ -1 +1 @@
1
- {"version":3,"file":"AppHost.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/AppHost.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAQZ,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,WAAW,EAIZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,KAAK,MAAM,CAAC;IACvD,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACrC,wDAAwD;IACxD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mFAAmF;IACnF,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACxE,4CAA4C;IAC5C,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C,CAAC;AAaF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,sBA2NpE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,2BAgBtB,CAAC;AAgGF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,gCAsFtB,CAAC"}
1
+ {"version":3,"file":"AppHost.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/AppHost.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAQZ,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,WAAW,EAIZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAIjC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,KAAK,MAAM,CAAC;IACvD,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACrC,wDAAwD;IACxD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mFAAmF;IACnF,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACxE,4CAA4C;IAC5C,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C,CAAC;AAaF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,sBA4NpE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,2BAgBtB,CAAC;AAkHF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,gCAsFtB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { type ReactNode } from "react";
2
+ import { AppInstance, OpenDefinition } from "./AppHostLogic";
3
+ type AppHostContextValue = {
4
+ openApps: AppInstance[];
5
+ isAnyOpen: boolean;
6
+ open: (def: OpenDefinition) => string;
7
+ close: (instanceId?: string) => void;
8
+ closeAll: () => void;
9
+ registerApps: (apps: any[]) => void;
10
+ /** Minimize a tool - hides the modal but keeps state */
11
+ minimize: (instanceId: string) => void;
12
+ /** Restore a minimized tool to visible state */
13
+ restore: (instanceId: string) => void;
14
+ /** Check if a specific tool is minimized */
15
+ isMinimized: (instanceId: string) => boolean;
16
+ };
17
+ /**
18
+ * Provides the floating dev tools application host for web. Tracks open tool
19
+ * instances, restores persisted state, and exposes the same imperative
20
+ * helpers as the native `AppHostProvider`.
21
+ */
22
+ export declare const AppHostProvider: ({ children }: {
23
+ children: ReactNode;
24
+ }) => import("react").JSX.Element;
25
+ /**
26
+ * Accessor hook for the web app host. Falls back to a no-op implementation
27
+ * when rendered outside the provider — same contract as native.
28
+ */
29
+ export declare const useAppHost: () => AppHostContextValue;
30
+ /**
31
+ * Renders all open dev tool surfaces — DOM twin of the native `AppOverlay`.
32
+ * Later-opened tools stack on top (base z 9000 + index). Minimized tools are
33
+ * shown by the MinimizedToolsStack fused to the floating bubble (native
34
+ * parity) — the old fixed bottom-right MinimizedDock was replaced by it.
35
+ */
36
+ export declare const AppOverlay: () => import("react").JSX.Element | null;
37
+ export {};
38
+ //# sourceMappingURL=AppHost.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppHost.web.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/AppHost.web.tsx"],"names":[],"mappings":"AAuBA,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EACL,WAAW,EACX,cAAc,EAEf,MAAM,gBAAgB,CAAC;AAGxB,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACpC,wDAAwD;IACxD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gDAAgD;IAChD,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4CAA4C;IAC5C,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C,CAAC;AAuBF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAsNpE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAO,mBAgB7B,CAAC;AAmGF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,0CA8BtB,CAAC"}
@@ -1,5 +1,26 @@
1
1
  import type { ComponentType, ReactNode } from "react";
2
- import type { ModalRestoreState } from "./MinimizedToolsContext";
2
+ import type { ToolModalConfig } from "./types";
3
+ /**
4
+ * Modal state to restore when reopening a minimized tool. Defined here (the
5
+ * platform-free logic module) so the web host doesn't pull in the native
6
+ * MinimizedToolsContext; that file re-exports this type for back-compat.
7
+ */
8
+ export interface ModalRestoreState {
9
+ /** Modal display mode */
10
+ mode: "bottomSheet" | "floating";
11
+ /** Panel height for bottom sheet mode */
12
+ panelHeight?: number;
13
+ /** Position for floating mode */
14
+ floatingPosition?: {
15
+ x: number;
16
+ y: number;
17
+ };
18
+ /** Dimensions for floating mode */
19
+ floatingDimensions?: {
20
+ width: number;
21
+ height: number;
22
+ };
23
+ }
3
24
  export type LaunchMode = "self-modal" | "host-modal" | "inline" | "toggle-only";
4
25
  export type AppInstance = {
5
26
  instanceId: string;
@@ -17,6 +38,8 @@ export type AppInstance = {
17
38
  color?: string;
18
39
  /** Modal state to restore when un-minimizing */
19
40
  restoreState?: ModalRestoreState;
41
+ /** Declarative chrome config — when set, AppHost wraps the component in the shared modal shell. */
42
+ modal?: ToolModalConfig;
20
43
  };
21
44
  export type OpenDefinition = Omit<AppInstance, "instanceId">;
22
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AppHostLogic.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/AppHostLogic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qCAAqC;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,WAAW,EAAE,EACtB,KAAK,cAAc,EACnB,YAAY,MAAM,MAAM,KACvB;IAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAuBlE,CAAC"}
1
+ {"version":3,"file":"AppHostLogic.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/AppHostLogic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC;IACjC,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,mCAAmC;IACnC,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qCAAqC;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,mGAAmG;IACnG,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,WAAW,EAAE,EACtB,KAAK,cAAc,EACnB,YAAY,MAAM,MAAM,KACvB;IAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAuBlE,CAAC"}
@@ -4,8 +4,11 @@
4
4
  * Uses shared configuration and logic from @buoy-gg/floating-tools-react.
5
5
  * Platform-specific: CSS, mouse events, web JSX.
6
6
  *
7
- * This follows the same pattern as DialDevTools - all colors, labels, descriptions,
8
- * and styling constants come from the shared core package.
7
+ * VISUAL PARITY: styled 1:1 against the native reference
8
+ * (devtools-floating-menu/src/floatingMenu/DevToolsSettingsModal.tsx, which
9
+ * renders inside JsModal + ModalHeader + TabSelector from @buoy-gg/shared-ui).
10
+ * shared-ui is RN-only, so its buoyColors palette and the native-only style
11
+ * values are inlined below with provenance comments.
9
12
  *
10
13
  * @platform React DOM Web (Vite, CRA, Next.js, Electron)
11
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsSettingsModal.web.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/DevToolsSettingsModal.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAeL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEpB,MAAM,+BAA+B,CAAC;AAOvC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzD;AAoQD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,cAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,OAA2B,EAC3B,gBAAgB,GACjB,EAAE,kBAAkB,sCAkWpB"}
1
+ {"version":3,"file":"DevToolsSettingsModal.web.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/DevToolsSettingsModal.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAaL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEpB,MAAM,+BAA+B,CAAC;AA6DvC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzD;AAqdD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,cAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,OAA2B,EAC3B,gBAAgB,GACjB,EAAE,kBAAkB,sCAoapB"}
@@ -28,7 +28,7 @@ export interface FloatingDevToolsProps {
28
28
  onEnvironmentSwitch?: (env: Environment) => void;
29
29
  /** Custom tools to add (will be merged with auto-discovered) */
30
30
  apps?: WebToolConfig[];
31
- /** Disable onboarding hints (not implemented yet) */
31
+ /** Disable onboarding tooltips */
32
32
  disableHints?: boolean;
33
33
  /**
34
34
  * API parity with native. Desktop sync is native-only, so headless mode
@@ -36,18 +36,6 @@ export interface FloatingDevToolsProps {
36
36
  */
37
37
  headless?: boolean;
38
38
  }
39
- /**
40
- * Unified FloatingDevTools component - self-contained, no wrapping required.
41
- *
42
- * Matches mobile API exactly:
43
- * ```tsx
44
- * // Mobile
45
- * <FloatingDevTools environment="qa" userRole={userRole} />
46
- *
47
- * // Web (this component)
48
- * <FloatingDevTools environment="qa" userRole="admin" />
49
- * ```
50
- */
51
- export declare function FloatingDevTools({ environment: _environment, userRole, availableEnvironments: _availableEnvironments, onEnvironmentSwitch: _onEnvironmentSwitch, apps, disableHints: _disableHints, headless, }: FloatingDevToolsProps): import("react").JSX.Element | null;
39
+ export declare function FloatingDevTools(props: FloatingDevToolsProps): import("react").JSX.Element;
52
40
  export type { WebToolConfig, Environment, UserRole };
53
41
  //# sourceMappingURL=FloatingDevTools.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingDevTools.web.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/FloatingDevTools.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,QAAQ,EAId,MAAM,+BAA+B,CAAC;AAWvC,MAAM,WAAW,qBAAqB;IAEpC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC;IACtC,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAGjD,gEAAgE;IAChE,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IAGvB,qDAAqD;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EAAE,YAAY,EACzB,QAAQ,EACR,qBAAqB,EAAE,sBAAsB,EAC7C,mBAAmB,EAAE,oBAAoB,EACzC,IAAI,EACJ,YAAY,EAAE,aAAa,EAC3B,QAAgB,GACjB,EAAE,qBAAqB,sCA4HvB;AAMD,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"FloatingDevTools.web.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/FloatingDevTools.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,QAAQ,EAId,MAAM,+BAA+B,CAAC;AA+BvC,MAAM,WAAW,qBAAqB;IAEpC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC;IACtC,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAGjD,gEAAgE;IAChE,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IAEvB,kCAAkC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAmCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAQ5D;AAiWD,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingMenu.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/FloatingMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAqD,MAAM,OAAO,CAAC;AASrF,OAAO,EAAiB,QAAQ,EAAc,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AActD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC;IACtC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1D;AAWD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAwU9C,CAAC"}
1
+ {"version":3,"file":"FloatingMenu.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/FloatingMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAqD,MAAM,OAAO,CAAC;AASrF,OAAO,EAAiB,QAAQ,EAAc,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AActD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC;IACtC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1D;AAWD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAyU9C,CAAC"}
@@ -1,23 +1,6 @@
1
1
  import React, { ReactNode } from "react";
2
- /**
3
- * Modal state to restore when reopening a minimized tool
4
- */
5
- export interface ModalRestoreState {
6
- /** Modal display mode */
7
- mode: "bottomSheet" | "floating";
8
- /** Panel height for bottom sheet mode */
9
- panelHeight?: number;
10
- /** Position for floating mode */
11
- floatingPosition?: {
12
- x: number;
13
- y: number;
14
- };
15
- /** Dimensions for floating mode */
16
- floatingDimensions?: {
17
- width: number;
18
- height: number;
19
- };
20
- }
2
+ import type { ModalRestoreState } from "./AppHostLogic";
3
+ export type { ModalRestoreState } from "./AppHostLogic";
21
4
  /**
22
5
  * Represents a minimized tool that can be restored
23
6
  */
@@ -91,5 +74,4 @@ export declare function MinimizedToolsProvider({ children, getToolIcon, }: Minim
91
74
  * Must be used within a MinimizedToolsProvider.
92
75
  */
93
76
  export declare function useMinimizedTools(): MinimizedToolsContextValue;
94
- export {};
95
77
  //# sourceMappingURL=MinimizedToolsContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MinimizedToolsContext.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/MinimizedToolsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAOZ,SAAS,EAEV,MAAM,OAAO,CAAC;AAQf;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC;IACjC,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,mCAAmC;IACnC,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,IAAI,EAAE,SAAS,CAAC;IAChB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAWD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAY3D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,UAAU,0BAA0B;IAClC,wCAAwC;IACxC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,IAAI,CAAC;IAC7D,wEAAwE;IACxE,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,CAAC;IACtD,6CAA6C;IAC7C,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,8CAA8C;IAC9C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IACpE,gCAAgC;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,mBAAmB,EAAE,MAAM,YAAY,CAAC;IACxC,wDAAwD;IACxD,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;CAClE;AAkCD,UAAU,2BAA2B;IACnC,QAAQ,EAAE,SAAS,CAAC;IACpB,oFAAoF;IACpF,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,WAAW,GACZ,EAAE,2BAA2B,qBAwJ7B;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,0BAA0B,CAmB9D"}
1
+ {"version":3,"file":"MinimizedToolsContext.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/MinimizedToolsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAOZ,SAAS,EAEV,MAAM,OAAO,CAAC;AAUf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,IAAI,EAAE,SAAS,CAAC;IAChB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAWD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAY3D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,UAAU,0BAA0B;IAClC,wCAAwC;IACxC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,IAAI,CAAC;IAC7D,wEAAwE;IACxE,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,CAAC;IACtD,6CAA6C;IAC7C,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,8CAA8C;IAC9C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IACpE,gCAAgC;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,mBAAmB,EAAE,MAAM,YAAY,CAAC;IACxC,wDAAwD;IACxD,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;CAClE;AAkCD,UAAU,2BAA2B;IACnC,QAAQ,EAAE,SAAS,CAAC;IACpB,oFAAoF;IACpF,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,WAAW,GACZ,EAAE,2BAA2B,qBAwJ7B;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,0BAA0B,CAmB9D"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * MinimizedToolsStack — Web twin of MinimizedToolsStack.tsx +
3
+ * shared-ui's ExpandablePopover (inlined: the popover is only used here on
4
+ * web). A vertical stack of minimized-tool icons fused to the top of the
5
+ * floating bubble's drag handle:
6
+ * - collapsed: a 28px "peek" tab (chevron-up + count) with top corners only
7
+ * - expanded: animated-height panel, icons newest-first, collapse chevron
8
+ * - expanded state persists under "@react_buoy_minimized_stack_expanded"
9
+ * - each icon runs the native randomized glitch loop (translateX shake +
10
+ * opacity flicker + scale pulse, 80ms), scheduled every 2-6s + index*300ms
11
+ *
12
+ * Data comes from the web AppHost (openApps with minimized === true) instead
13
+ * of the native MinimizedToolsContext — same derivation the MinimizedDock
14
+ * used before this replaced it.
15
+ */
16
+ export interface MinimizedToolsStackProps {
17
+ /** Width of the stack — native matches the drag handle (32). */
18
+ containerWidth?: number;
19
+ }
20
+ export declare function MinimizedToolsStack({ containerWidth }: MinimizedToolsStackProps): import("react").JSX.Element | null;
21
+ //# sourceMappingURL=MinimizedToolsStack.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MinimizedToolsStack.web.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/MinimizedToolsStack.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAyHH,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,cAAmB,EAAE,EAAE,wBAAwB,sCAsKpF"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * ToolHost — the declarative chrome layer for custom tools.
3
+ *
4
+ * When an `InstalledApp` declares `modal: {...}`, the AppHost renders its
5
+ * component inside `ToolModalShell` instead of raw: the shared JsModal
6
+ * (drag/resize, floating⇄bottom-sheet, minimize, dimension persistence) plus
7
+ * a managed header (title/subtitle, back navigation, search, actions) and a
8
+ * lightweight toast layer. The tool body talks back to the shell through
9
+ * `useToolHost()` / `useToolHeader()`.
10
+ */
11
+ import React, { type DependencyList, type ReactNode } from "react";
12
+ import type { AppInstance, ModalRestoreState } from "./AppHostLogic";
13
+ import type { ToolModalConfig } from "./types";
14
+ /** Per-screen header overrides a tool body can apply (see `useToolHeader`). */
15
+ export interface ToolHeaderOverride {
16
+ title?: string;
17
+ subtitle?: string;
18
+ /** Replaces the preset's static `headerActions` while active. */
19
+ actions?: ReactNode;
20
+ /** Shows the back chevron (and wires JsModal's top-left tap zone). */
21
+ onBack?: () => void;
22
+ }
23
+ export type ToolToastType = "success" | "error" | "info";
24
+ export interface ToolHostContextValue {
25
+ /** Current header-search query ("" while search is closed). */
26
+ search: string;
27
+ isSearchActive: boolean;
28
+ /** Close and clear the header search. */
29
+ clearSearch: () => void;
30
+ /** Close this tool. */
31
+ close: () => void;
32
+ /** Show a transient toast inside the tool modal. */
33
+ showToast: (message: string, type?: ToolToastType) => void;
34
+ /** Low-level header override setter — prefer `useToolHeader`. */
35
+ setHeaderOverride: (override: ToolHeaderOverride | null) => void;
36
+ /** Instance id assigned by the AppHost. */
37
+ instanceId?: string;
38
+ }
39
+ /**
40
+ * Access the hosting shell from a custom tool body: search query, toasts,
41
+ * close. Safe to call outside the shell (returns inert no-ops) so tool
42
+ * components can also be mounted standalone.
43
+ */
44
+ export declare function useToolHost(): ToolHostContextValue;
45
+ /**
46
+ * Declare per-screen header state (title/subtitle/actions/back) from inside a
47
+ * tool body. Applies while the calling component is mounted and reverts to
48
+ * the preset's static config on unmount — so a detail screen simply mounts
49
+ * with its own header and the list header returns when it unmounts.
50
+ *
51
+ * ```tsx
52
+ * useToolHeader(
53
+ * { title: flag.key, onBack: () => setScreen("list"), actions: <CopyButton value={flag} /> },
54
+ * [flag.key]
55
+ * );
56
+ * ```
57
+ */
58
+ export declare function useToolHeader(override: ToolHeaderOverride | null, deps: DependencyList): void;
59
+ interface ToolModalShellProps {
60
+ app: AppInstance;
61
+ config: ToolModalConfig;
62
+ visible: boolean;
63
+ zIndex: number;
64
+ onClose: () => void;
65
+ onMinimize: (modalState?: ModalRestoreState) => void;
66
+ initialModalState?: ModalRestoreState;
67
+ enableSharedModalDimensions?: boolean;
68
+ bodyProps: Record<string, unknown>;
69
+ }
70
+ export declare function ToolModalShell({ app, config, visible, zIndex, onClose, onMinimize, initialModalState, enableSharedModalDimensions, bodyProps, }: ToolModalShellProps): React.JSX.Element;
71
+ export {};
72
+ //# sourceMappingURL=ToolHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolHost.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/ToolHost.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,EAQZ,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAUf,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,uBAAuB;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3D,iEAAiE;IACjE,iBAAiB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAcD;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,oBAAoB,CAElD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EACnC,IAAI,EAAE,cAAc,QASrB;AAiDD,UAAU,mBAAmB;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAQD,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GACV,EAAE,mBAAmB,qBAiGrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"allToolsRegistry.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/allToolsRegistry.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAwC1B,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CAC/C;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAyE7C,CAAC"}
1
+ {"version":3,"file":"allToolsRegistry.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/allToolsRegistry.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AA0C1B,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CAC/C;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,EA+E7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"autoDiscoverPresets.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/autoDiscoverPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CAsQpD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,YAAY,EAAE,GAC1B,YAAY,EAAE,CAahB"}
1
+ {"version":3,"file":"autoDiscoverPresets.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/autoDiscoverPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CAkSpD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,YAAY,EAAE,GAC1B,YAAY,EAAE,CAahB"}
@@ -1 +1 @@
1
- {"version":3,"file":"autoExternalSync.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/autoExternalSync.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgIvD,iFAAiF;AACjF,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAuBD,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,eAAe,EACf,KAAK,EACL,UAAU,GACX,EAAE,qBAAqB,QAmHvB"}
1
+ {"version":3,"file":"autoExternalSync.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/autoExternalSync.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA4IvD,iFAAiF;AACjF,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAuBD,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,eAAe,EACf,KAAK,EACL,UAAU,GACX,EAAE,qBAAqB,QAyHvB"}
@@ -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' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
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' | '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 +1 @@
1
- {"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/defaultConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,SAAS,GACT,SAAS,GACT,OAAO,GACP,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,mBAAmB,GACnB,yBAAyB,GACzB,OAAO,GACP,SAAS,GACT,OAAO,GACP,QAAQ,GACR,eAAe,GACf,cAAc,GACd,oBAAoB,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,kBAAkB,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,cAAc,EAAE,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,EAAE,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAW9E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,cAAc,EAAE,EAC1B,CAAC,SAAS,UAAU,EAAE,EACtB,MAAM,EAAE;IACR,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,CAAC;CACV,GAAG;IACF,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;CACrB,CAUA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,cAAc,CAcjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,UAAU,CAazD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,GAAG,EAAE,CAAC,EAAE,EACR,cAAc,EAAE,CAAC,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
1
+ {"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/defaultConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,SAAS,GACT,SAAS,GACT,OAAO,GACP,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,mBAAmB,GACnB,yBAAyB,GACzB,OAAO,GACP,SAAS,GACT,OAAO,GACP,QAAQ,GACR,cAAc,GACd,eAAe,GACf,cAAc,GACd,oBAAoB,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,kBAAkB,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,cAAc,EAAE,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,EAAE,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAW9E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,cAAc,EAAE,EAC1B,CAAC,SAAS,UAAU,EAAE,EACtB,MAAM,EAAE;IACR,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,CAAC;CACV,GAAG;IACF,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;CACrB,CAUA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,cAAc,CAcjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,UAAU,CAazD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,GAAG,EAAE,CAAC,EAAE,EACR,cAAc,EAAE,CAAC,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialDevTools.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/DialDevTools.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAgC5E,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAqBlB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAAE,KAAK,SAAS,CAAC;IAC/H,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAWF,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAmrB9C,CAAC"}
1
+ {"version":3,"file":"DialDevTools.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/DialDevTools.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAgC5E,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAqBlB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAAE,KAAK,SAAS,CAAC;IAC/H,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAWF,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAurB9C,CAAC"}
@@ -4,7 +4,8 @@
4
4
  * Uses shared layout calculations, styling, and animation config from @buoy-gg/floating-tools-core.
5
5
  * Platform-specific: CSS animations, mouse events, web JSX.
6
6
  *
7
- * Animation behavior matches mobile exactly - see docs/dial-animation-spec.md
7
+ * Visuals mirror the native DialDevTools.tsx exactly — values that never made
8
+ * it into the shared dial.ts are inlined here with provenance comments.
8
9
  *
9
10
  * @platform React DOM Web (Vite, CRA, Next.js, Electron)
10
11
  */
@@ -15,12 +16,25 @@ export interface DialIcon {
15
16
  icon: ReactNode;
16
17
  color?: string;
17
18
  onPress: () => void;
19
+ /**
20
+ * Tool can't be launched (no component/onPress on web). Rendered like the
21
+ * native uninstalled state: real icon + name with a muted "Unavailable"
22
+ * caption, non-interactive, and the dial stays open on tap.
23
+ */
24
+ unavailable?: boolean;
18
25
  }
19
26
  export interface DialMenuProps {
20
27
  icons: DialIcon[];
21
28
  onClose: () => void;
22
29
  centerLabel?: string;
23
30
  onCenterPress?: () => void;
31
+ /**
32
+ * The settings modal is open above the dial — center label becomes the
33
+ * stacked CLOSE / SETTINGS (native DialDevTools.tsx:716-724).
34
+ */
35
+ settingsOpen?: boolean;
36
+ /** Suppress the settings onboarding tooltip (disableHints). */
37
+ hintsDisabled?: boolean;
24
38
  }
25
- export declare function DialMenu({ icons, onClose, centerLabel, onCenterPress, }: DialMenuProps): import("react").JSX.Element;
39
+ export declare function DialMenu({ icons, onClose, centerLabel, onCenterPress, settingsOpen, hintsDisabled, }: DialMenuProps): import("react").JSX.Element;
26
40
  //# sourceMappingURL=DialDevTools.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialDevTools.web.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/DialDevTools.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAqD,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAgC9G,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AA6JD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,OAAO,EACP,WAAoB,EACpB,aAAa,GACd,EAAE,aAAa,+BAmiBf"}
1
+ {"version":3,"file":"DialDevTools.web.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/DialDevTools.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAqD,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAwC9G,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAsQD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,OAAO,EACP,WAAoB,EACpB,aAAa,EACb,YAAoB,EACpB,aAAqB,GACtB,EAAE,aAAa,+BA4jBf"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialIcon.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/DialIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,EAAE,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAML,QAAQ,EACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAiB1C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,KAAK,CAwO9B,CAAC"}
1
+ {"version":3,"file":"DialIcon.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/DialIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,EAAE,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAML,QAAQ,EACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAkB1C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,KAAK,CAwO9B,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface OnboardingTooltipProps {
2
+ title: string;
3
+ message: string;
4
+ onDismiss: () => void;
5
+ /** Hide the arrow (dial settings tooltip points at nothing specific). */
6
+ showArrow?: boolean;
7
+ }
8
+ export declare function OnboardingTooltip({ title, message, onDismiss, showArrow, }: OnboardingTooltipProps): import("react").JSX.Element;
9
+ //# sourceMappingURL=OnboardingTooltip.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnboardingTooltip.web.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/OnboardingTooltip.web.tsx"],"names":[],"mappings":"AAmCA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAgB,GACjB,EAAE,sBAAsB,+BAsIxB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Web twin of onboardingConstants.ts — same math, window.innerHeight instead
3
+ * of RN Dimensions.
4
+ */
5
+ export declare const ARROW_BOTTOM_OFFSET = -40;
6
+ export declare const ARROW_HEIGHT = 20;
7
+ export declare const SPACING_GAP = 10;
8
+ export declare function getScreenCenterY(): number;
9
+ /** Distance from screen bottom for tooltip positioning (centered-ish). */
10
+ export declare function calculateTooltipPosition(): number;
11
+ /** Distance from screen bottom where the bubble should sit (under the arrow). */
12
+ export declare function calculateTargetPosition(): number;
13
+ //# sourceMappingURL=onboardingConstants.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboardingConstants.web.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/onboardingConstants.web.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,0EAA0E;AAC1E,wBAAgB,wBAAwB,IAAI,MAAM,CAGjD;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,IAAI,MAAM,CAKhD"}