@buoy-gg/core 7.0.36 → 7.0.39

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 (103) hide show
  1. package/README.md +57 -69
  2. package/bin/buoy.js +71 -20
  3. package/lib/commonjs/Buoy.js +3 -16
  4. package/lib/commonjs/floatingMenu/AppHost.js +1 -1
  5. package/lib/commonjs/floatingMenu/AppHost.web.js +1 -1
  6. package/lib/commonjs/floatingMenu/AppIcon.web.js +53 -0
  7. package/lib/commonjs/floatingMenu/DevToolsSettingsModal.js +12 -5
  8. package/lib/commonjs/floatingMenu/DevToolsSettingsModal.web.js +14 -34
  9. package/lib/commonjs/floatingMenu/FloatingDevTools.js +32 -48
  10. package/lib/commonjs/floatingMenu/FloatingDevTools.web.js +24 -4
  11. package/lib/commonjs/floatingMenu/FloatingMenu.js +1 -1
  12. package/lib/commonjs/floatingMenu/ToolHost.js +1 -0
  13. package/lib/commonjs/floatingMenu/autoExternalSync.js +3 -2
  14. package/lib/commonjs/floatingMenu/dial/DialDevTools.js +43 -10
  15. package/lib/commonjs/floatingMenu/dial/DialDevTools.web.js +18 -5
  16. package/lib/commonjs/floatingMenu/dial/dialUsageStore.js +13 -17
  17. package/lib/commonjs/floatingMenu/dial/onboardingConstants.js +37 -65
  18. package/lib/commonjs/floatingMenu/dial/onboardingConstants.web.js +37 -29
  19. package/lib/commonjs/floatingMenu/floatingTools.js +23 -889
  20. package/lib/commonjs/floatingMenu/floatingTools.web.js +24 -514
  21. package/lib/commonjs/floatingMenu/optionalRequire.js +4 -0
  22. package/lib/commonjs/telemetry/installPing.js +7 -0
  23. package/lib/commonjs/version.js +1 -1
  24. package/lib/module/Buoy.js +3 -16
  25. package/lib/module/floatingMenu/AppHost.js +1 -1
  26. package/lib/module/floatingMenu/AppHost.web.js +1 -1
  27. package/lib/module/floatingMenu/AppIcon.web.js +47 -0
  28. package/lib/module/floatingMenu/DevToolsSettingsModal.js +13 -6
  29. package/lib/module/floatingMenu/DevToolsSettingsModal.web.js +15 -35
  30. package/lib/module/floatingMenu/FloatingDevTools.js +35 -49
  31. package/lib/module/floatingMenu/FloatingDevTools.web.js +24 -3
  32. package/lib/module/floatingMenu/FloatingMenu.js +1 -1
  33. package/lib/module/floatingMenu/ToolHost.js +1 -0
  34. package/lib/module/floatingMenu/autoExternalSync.js +3 -2
  35. package/lib/module/floatingMenu/dial/DialDevTools.js +43 -10
  36. package/lib/module/floatingMenu/dial/DialDevTools.web.js +18 -5
  37. package/lib/module/floatingMenu/dial/dialUsageStore.js +14 -18
  38. package/lib/module/floatingMenu/dial/onboardingConstants.js +1 -62
  39. package/lib/module/floatingMenu/dial/onboardingConstants.web.js +1 -25
  40. package/lib/module/floatingMenu/floatingTools.js +15 -890
  41. package/lib/module/floatingMenu/floatingTools.web.js +1 -517
  42. package/lib/module/floatingMenu/optionalRequire.js +4 -0
  43. package/lib/module/telemetry/installPing.js +7 -0
  44. package/lib/module/version.js +1 -1
  45. package/lib/typescript/commonjs/Buoy.d.ts +14 -3
  46. package/lib/typescript/commonjs/Buoy.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/floatingMenu/AppIcon.web.d.ts +14 -0
  48. package/lib/typescript/commonjs/floatingMenu/AppIcon.web.d.ts.map +1 -0
  49. package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.d.ts +4 -14
  52. package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts +4 -19
  54. package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/floatingMenu/ToolHost.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/floatingMenu/autoExternalSync.d.ts +3 -4
  57. package/lib/typescript/commonjs/floatingMenu/autoExternalSync.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.web.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/floatingMenu/dial/dialUsageStore.d.ts +3 -15
  61. package/lib/typescript/commonjs/floatingMenu/dial/dialUsageStore.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.d.ts +1 -29
  63. package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.web.d.ts +1 -12
  65. package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.web.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/floatingMenu/floatingTools.d.ts +6 -55
  67. package/lib/typescript/commonjs/floatingMenu/floatingTools.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/floatingMenu/floatingTools.web.d.ts +3 -53
  69. package/lib/typescript/commonjs/floatingMenu/floatingTools.web.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/floatingMenu/optionalRequire.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/telemetry/installPing.d.ts +8 -1
  72. package/lib/typescript/commonjs/telemetry/installPing.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/version.d.ts +1 -1
  74. package/lib/typescript/module/Buoy.d.ts +14 -3
  75. package/lib/typescript/module/Buoy.d.ts.map +1 -1
  76. package/lib/typescript/module/floatingMenu/AppIcon.web.d.ts +14 -0
  77. package/lib/typescript/module/floatingMenu/AppIcon.web.d.ts.map +1 -0
  78. package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.d.ts.map +1 -1
  79. package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts.map +1 -1
  80. package/lib/typescript/module/floatingMenu/FloatingDevTools.d.ts +4 -14
  81. package/lib/typescript/module/floatingMenu/FloatingDevTools.d.ts.map +1 -1
  82. package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts +4 -19
  83. package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts.map +1 -1
  84. package/lib/typescript/module/floatingMenu/ToolHost.d.ts.map +1 -1
  85. package/lib/typescript/module/floatingMenu/autoExternalSync.d.ts +3 -4
  86. package/lib/typescript/module/floatingMenu/autoExternalSync.d.ts.map +1 -1
  87. package/lib/typescript/module/floatingMenu/dial/DialDevTools.d.ts.map +1 -1
  88. package/lib/typescript/module/floatingMenu/dial/DialDevTools.web.d.ts.map +1 -1
  89. package/lib/typescript/module/floatingMenu/dial/dialUsageStore.d.ts +3 -15
  90. package/lib/typescript/module/floatingMenu/dial/dialUsageStore.d.ts.map +1 -1
  91. package/lib/typescript/module/floatingMenu/dial/onboardingConstants.d.ts +1 -29
  92. package/lib/typescript/module/floatingMenu/dial/onboardingConstants.d.ts.map +1 -1
  93. package/lib/typescript/module/floatingMenu/dial/onboardingConstants.web.d.ts +1 -12
  94. package/lib/typescript/module/floatingMenu/dial/onboardingConstants.web.d.ts.map +1 -1
  95. package/lib/typescript/module/floatingMenu/floatingTools.d.ts +6 -55
  96. package/lib/typescript/module/floatingMenu/floatingTools.d.ts.map +1 -1
  97. package/lib/typescript/module/floatingMenu/floatingTools.web.d.ts +3 -53
  98. package/lib/typescript/module/floatingMenu/floatingTools.web.d.ts.map +1 -1
  99. package/lib/typescript/module/floatingMenu/optionalRequire.d.ts.map +1 -1
  100. package/lib/typescript/module/telemetry/installPing.d.ts +8 -1
  101. package/lib/typescript/module/telemetry/installPing.d.ts.map +1 -1
  102. package/lib/typescript/module/version.d.ts +1 -1
  103. package/package.json +6 -6
@@ -1,12 +1,6 @@
1
1
  /**
2
- * Dial Usage Store - persists and ranks dial tool usage.
3
- *
4
- * Wraps the pure scoring logic from `@buoy-gg/floating-tools-core` with a
5
- * persisted, in-memory cache. The dial menu uses this to order tools by how
6
- * recently/frequently they are used, so the most-used tools land on page 1.
7
- *
8
- * The cache is loaded eagerly on import so `getRankedToolIds` can run
9
- * synchronously by the time the dial opens.
2
+ * Persists dial usage and orders tools by their last launch.
3
+ * The cache loads on import so opening the dial can rank tools synchronously.
10
4
  */
11
5
  /**
12
6
  * Load persisted usage data into the in-memory cache. Safe to call multiple
@@ -15,13 +9,7 @@
15
9
  export declare function loadDialUsage(): Promise<void>;
16
10
  /** Whether the usage cache has finished loading from storage. */
17
11
  export declare function isDialUsageLoaded(): boolean;
18
- /**
19
- * Rank tool ids by recency-weighted usage, highest first. Synchronous —
20
- * operates against the in-memory cache. Never-used tools keep their original
21
- * order as a tie-breaker.
22
- *
23
- * @param orderedIds - Tool ids in their default/registration order
24
- */
12
+ /** Most recently opened first; unused tools keep registration order. */
25
13
  export declare function getRankedToolIds(orderedIds: string[]): string[];
26
14
  /**
27
15
  * Record a single press of a tool and persist the updated usage map.
@@ -1 +1 @@
1
- {"version":3,"file":"dialUsageStore.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/dialUsageStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB7C;AAKD,iEAAiE;AACjE,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/D;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/D;AAED,sDAAsD;AACtD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAOpD"}
1
+ {"version":3,"file":"dialUsageStore.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/dialUsageStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB7C;AAKD,iEAAiE;AACjE,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAK/D;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/D;AAED,sDAAsD;AACtD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAOpD"}
@@ -1,30 +1,2 @@
1
- /**
2
- * Shared constants for onboarding tooltip positioning
3
- * These ensure the floating menu aligns perfectly under the tooltip arrow
4
- * All positions are calculated dynamically based on screen size
5
- */
6
- export declare const ARROW_BOTTOM_OFFSET = -40;
7
- export declare const ARROW_HEIGHT = 20;
8
- export declare const SPACING_GAP = 10;
9
- /**
10
- * Calculate the center Y position of the screen
11
- * This is used to vertically center the onboarding UI
12
- *
13
- * @returns Y coordinate at the center of the screen
14
- */
15
- export declare function getScreenCenterY(): number;
16
- /**
17
- * Calculate the tooltip position to center it vertically on screen
18
- * Uses flexbox-style centering - tooltip will center itself with its actual size
19
- *
20
- * @returns Distance from screen bottom for tooltip positioning
21
- */
22
- export declare function calculateTooltipPosition(): number;
23
- /**
24
- * Calculate the position where a target element should be placed
25
- * to align directly under the tooltip arrow
26
- *
27
- * @returns Distance from screen bottom where element should be positioned
28
- */
29
- export declare function calculateTargetPosition(): number;
1
+ export { ARROW_BOTTOM_OFFSET, ARROW_HEIGHT, SPACING_GAP, getScreenCenterY, calculateTooltipPosition, calculateTargetPosition } from "@buoy-gg/shared-ui";
30
2
  //# sourceMappingURL=onboardingConstants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboardingConstants.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/onboardingConstants.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAGH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAUjD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAWhD"}
1
+ {"version":3,"file":"onboardingConstants.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/onboardingConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,13 +1,2 @@
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;
1
+ export { ARROW_BOTTOM_OFFSET, ARROW_HEIGHT, SPACING_GAP, getScreenCenterY, calculateTooltipPosition, calculateTargetPosition } from "@buoy-gg/shared-ui/floating";
13
2
  //# sourceMappingURL=onboardingConstants.web.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"onboardingConstants.web.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/onboardingConstants.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,56 +1,7 @@
1
- import { ReactNode } from "react";
2
- import { type Environment } from "@buoy-gg/shared-ui";
3
- import { type UserRole } from "@buoy-gg/floating-tools-core";
4
- export type { UserRole };
5
- export declare function Divider(): import("react").JSX.Element;
6
- export declare function UserStatus({ userRole, onPress, }: {
7
- userRole: UserRole;
8
- onPress?: () => void;
9
- }): import("react").JSX.Element;
10
- export type FloatingToolsProps = {
11
- enablePositionPersistence?: boolean;
12
- children?: ReactNode;
13
- /** When true, pushes the bubble to the side (hidden position) */
14
- pushToSide?: boolean;
15
- /** When true, centers the bubble on screen (for onboarding) */
16
- centerOnboarding?: boolean;
17
- /** Current environment for the environment selector */
18
- environment?: Environment;
19
- /** Available environments for switching */
20
- availableEnvironments?: Environment[];
21
- /** Callback when environment is selected */
22
- onEnvironmentSwitch?: (env: Environment) => void;
23
- /** Whether environment selector should be shown */
24
- showEnvironmentSelector?: boolean;
25
- };
26
- /**
27
- * FloatingTools - A draggable, resizable bubble for development tools
28
- *
29
- * This component provides a floating bubble interface that can contain various
30
- * development tools and controls. It features:
31
- * - Drag and drop positioning with boundary constraints
32
- * - Hide/show functionality by dragging to screen edge
33
- * - Position persistence across app restarts
34
- * - Safe area aware positioning
35
- * - Automatic divider insertion between child components
36
- *
37
- * @param props - Configuration for the floating tools
38
- * @param props.enablePositionPersistence - Whether to save/restore position (default: true)
39
- * @param props.children - Child components to render in the bubble
40
- *
41
- * @returns JSX.Element representing the floating tools bubble
42
- *
43
- * @example
44
- * ```typescript
45
- * <FloatingTools enablePositionPersistence={true}>
46
- * <UserStatus userRole="admin" onPress={handleUserPress} />
47
- * <ToolButton onPress={openSettings} />
48
- * </FloatingTools>
49
- * ```
50
- *
51
- * @performance Uses native driver animations for smooth positioning
52
- * @performance Implements efficient boundary checking and position validation
53
- * @performance Includes debounced position saving for optimal storage performance
54
- */
55
- export declare function FloatingTools({ enablePositionPersistence, pushToSide, centerOnboarding, children, environment, availableEnvironments, onEnvironmentSwitch, showEnvironmentSelector, }: FloatingToolsProps): import("react").JSX.Element | null;
1
+ import { type FloatingToolProps } from "@buoy-gg/shared-ui";
2
+ export { FloatingToolDivider as Divider, FloatingToolUserStatus as UserStatus } from "@buoy-gg/shared-ui";
3
+ export type { UserRole } from "@buoy-gg/floating-tools-core";
4
+ export type FloatingToolsProps = FloatingToolProps;
5
+ /** The DevTools content adapter. All floating behavior lives in shared UI. */
6
+ export declare function FloatingTools(props: FloatingToolsProps): import("react").JSX.Element;
56
7
  //# sourceMappingURL=floatingTools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"floatingTools.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/floatingTools.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,SAAS,EACV,MAAM,OAAO,CAAC;AAUf,OAAO,EAQL,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EAAE,QAAQ,EAAE,CAAC;AAiSzB,wBAAgB,OAAO,gCAQtB;AAuBD,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,+BA8CA;AAmBD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uDAAuD;IACvD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC;IACtC,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAAC,EAC5B,yBAAgC,EAChC,UAAkB,EAClB,gBAAwB,EACxB,QAAQ,EACR,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,uBAA+B,GAChC,EAAE,kBAAkB,sCAwgBpB"}
1
+ {"version":3,"file":"floatingTools.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/floatingTools.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAK1E,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,sBAAsB,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1G,YAAY,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEnD,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAMtD"}
@@ -1,54 +1,4 @@
1
- /**
2
- * FloatingTools - Web renderer using shared React bindings.
3
- *
4
- * This file contains ONLY web-specific code (React DOM):
5
- * - Pointer event handling (mouse + touch — WKWebView/Capacitor included)
6
- * - requestAnimationFrame animation
7
- * - Web JSX (div, span)
8
- * - localStorage adapter
9
- *
10
- * All logic is shared via @buoy-gg/floating-tools-react
11
- *
12
- * @platform React DOM Web (Vite, CRA, Next.js, Electron)
13
- */
14
- import { type ReactNode } from 'react';
15
- import { type UserRole } from '@buoy-gg/floating-tools-react';
16
- export type { UserRole };
17
- export declare function Divider(): import("react").JSX.Element;
18
- export declare function UserStatus({ userRole, onPress, }: {
19
- userRole: UserRole;
20
- onPress?: () => void;
21
- }): import("react").JSX.Element;
22
- export interface FloatingToolsProps {
23
- enablePositionPersistence?: boolean;
24
- children?: ReactNode;
25
- /**
26
- * Slide the bubble to the screen edge while a dial/tool is open and
27
- * restore it after (native `pushToSide`, FloatingMenu.tsx:178-181).
28
- */
29
- pushToSide?: boolean;
30
- /**
31
- * Disable pointer events on the bubble while overlays own the screen —
32
- * native sets pointerEvents:"none" on the floating layer while the dial
33
- * is open so its pager buttons aren't eaten by bubble gestures.
34
- */
35
- suspendPointerEvents?: boolean;
36
- /**
37
- * Center the bubble under the onboarding tooltip arrow
38
- * (native `centerOnboarding`, floatingTools.tsx:706-744).
39
- */
40
- centerOnboarding?: boolean;
41
- /**
42
- * Minimized-tools stack node, rendered fused to the top of the drag handle
43
- * (native floatingTools.tsx:944-960: absolute bottom 100%, left 0, width 32).
44
- */
45
- minimizedStack?: ReactNode;
46
- /** Whether the stack has items — morphs the bubble's top-left corner flat. */
47
- hasMinimizedStack?: boolean;
48
- }
49
- export declare function getBubbleAnchorPosition(): {
50
- x: number;
51
- y: number;
52
- } | null;
53
- export declare function FloatingTools({ enablePositionPersistence, children, pushToSide, suspendPointerEvents, centerOnboarding, minimizedStack, hasMinimizedStack, }: FloatingToolsProps): import("react").JSX.Element | null;
1
+ export { FloatingTool as FloatingTools, FloatingToolDivider as Divider, FloatingToolUserStatus as UserStatus, getBubbleAnchorPosition } from "@buoy-gg/shared-ui/floating";
2
+ export type { FloatingToolProps as FloatingToolsProps } from "@buoy-gg/shared-ui/floating";
3
+ export type { UserRole } from "@buoy-gg/floating-tools-core";
54
4
  //# sourceMappingURL=floatingTools.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"floatingTools.web.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/floatingTools.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAiBL,KAAK,QAAQ,EAEd,MAAM,+BAA+B,CAAC;AAGvC,YAAY,EAAE,QAAQ,EAAE,CAAC;AAgFzB,wBAAgB,OAAO,gCAWtB;AAgBD,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,+BAyDA;AAkDD,MAAM,WAAW,kBAAkB;IACjC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAKD,wBAAgB,uBAAuB,IAAI;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAEzE;AAED,wBAAgB,aAAa,CAAC,EAC5B,yBAAgC,EAChC,QAAQ,EACR,UAAkB,EAClB,oBAA4B,EAC5B,gBAAwB,EACxB,cAAc,EACd,iBAAyB,GAC1B,EAAE,kBAAkB,sCAgSpB"}
1
+ {"version":3,"file":"floatingTools.web.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/floatingTools.web.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,mBAAmB,IAAI,OAAO,EAAE,sBAAsB,IAAI,UAAU,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3K,YAAY,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,YAAY,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"optionalRequire.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/optionalRequire.ts"],"names":[],"mappings":"AASA;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,OAAO,GACX,IAAI,CAgBN"}
1
+ {"version":3,"file":"optionalRequire.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/optionalRequire.ts"],"names":[],"mappings":"AASA;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,OAAO,GACX,IAAI,CAoBN"}
@@ -23,13 +23,20 @@
23
23
  *
24
24
  * Opt out with `Buoy.init({ telemetry: false })`.
25
25
  */
26
+ /**
27
+ * What the ping reports about the account: the tier of an admitted account,
28
+ * or "locked" for an install that has not been admitted (no key, or a key the
29
+ * license server rejected). "locked" is what gives "how many installs never
30
+ * get an account" its numerator.
31
+ */
32
+ export type InstallTier = "free" | "pro" | "locked";
26
33
  /**
27
34
  * Send the ping if it is due. Safe to call on every mount: it is idempotent
28
35
  * within a session, throttled to once a day across sessions, and resolves
29
36
  * without throwing no matter what fails.
30
37
  */
31
38
  export declare function sendInstallPing(options: {
32
- tier: "anonymous" | "free" | "pro";
39
+ tier: InstallTier;
33
40
  enabled: boolean;
34
41
  }): Promise<void>;
35
42
  /** Test seam: forget that a ping already went out this session. */
@@ -1 +1 @@
1
- {"version":3,"file":"installPing.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/installPing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AA4DH;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwChB;AAED,mEAAmE;AACnE,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
1
+ {"version":3,"file":"installPing.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/installPing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AA4DH;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwChB;AAED,mEAAmE;AACnE,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
@@ -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.36";
12
+ export declare const SDK_VERSION = "7.0.39";
13
13
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@buoy-gg/core",
3
- "version": "7.0.36",
4
- "description": "Buoy devtools for React Native — a floating in-app dev menu; every tool streams live to your phone, desktop, and AI agent.",
3
+ "version": "7.0.39",
4
+ "description": "Floating developer menu and account setup for React Native. Add tool packages and configure Desktop or MCP connections separately.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
7
7
  "types": "lib/typescript/module/index.d.ts",
@@ -37,10 +37,10 @@
37
37
  ],
38
38
  "sideEffects": false,
39
39
  "dependencies": {
40
- "@buoy-gg/shared-ui": "^7.0.36",
41
- "@buoy-gg/license": "^7.0.36",
42
- "@buoy-gg/floating-tools-react": "^7.0.36",
43
- "@buoy-gg/floating-tools-core": "^7.0.36"
40
+ "@buoy-gg/shared-ui": "^7.0.39",
41
+ "@buoy-gg/license": "^7.0.39",
42
+ "@buoy-gg/floating-tools-core": "^7.0.39",
43
+ "@buoy-gg/floating-tools-react": "^7.0.39"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "react": "*",