@buoy-gg/core 2.2.0 → 3.0.0
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/lib/commonjs/floatingMenu/DevToolsSettingsModal.js +1 -1
- package/lib/commonjs/floatingMenu/FloatingMenu.js +0 -4
- package/lib/commonjs/floatingMenu/defaultConfig.js +1 -1
- package/lib/commonjs/floatingMenu/dial/DialDevTools.js +48 -36
- package/lib/commonjs/floatingMenu/dial/DialIcon.js +12 -13
- package/lib/module/floatingMenu/DevToolsSettingsModal.js +2 -2
- package/lib/module/floatingMenu/FloatingMenu.js +1 -5
- package/lib/module/floatingMenu/defaultConfig.js +1 -1
- package/lib/module/floatingMenu/dial/DialDevTools.js +51 -38
- package/lib/module/floatingMenu/dial/DialIcon.js +15 -15
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/FloatingMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts +1 -1
- package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialIcon.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/FloatingMenu.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/defaultConfig.d.ts +1 -1
- package/lib/typescript/module/floatingMenu/defaultConfig.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/dial/DialDevTools.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/dial/DialIcon.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -808,7 +808,7 @@ const DevToolsSettingsModal = ({
|
|
|
808
808
|
children: clearSuccess ? "CLEARED" : isClearing ? "CLEARING..." : "CLEAR ALL SETTINGS"
|
|
809
809
|
})]
|
|
810
810
|
})]
|
|
811
|
-
}), renderGlobalSettingCard("enableSharedModalDimensions", "SHARED MODAL SIZE", "MODAL", "Sync dimensions across all tools", "When enabled, all tool modals will share the same size and position. Resizing one modal will affect all others. When disabled, each tool remembers its own size and position independently.", "Keep OFF for the best experience. This allows you to customize each tool's modal size separately. Enable only if you prefer uniform modal sizes across all dev tools."), renderGlobalSettingCard("expandableWindowControls", "EXPAND CONTROLS", "MODAL", "iPad-style expandable window buttons", "When enabled, the window control buttons (minimize, toggle mode, close) start as small dots and expand into larger, easy-to-tap buttons when pressed — similar to iPad window controls. When disabled, buttons are directly tappable at their small size.", "Keep ON for touch devices where the small buttons are hard to press. Turn OFF if you prefer direct single-tap access (e.g. when using a mouse or simulator)."), isDevelopmentMode && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
811
|
+
}), renderGlobalSettingCard("enableSharedModalDimensions", "SHARED MODAL SIZE", "MODAL", "Sync dimensions across all tools", "When enabled, all tool modals will share the same size and position. Resizing one modal will affect all others. When disabled, each tool remembers its own size and position independently.", "Keep OFF for the best experience. This allows you to customize each tool's modal size separately. Enable only if you prefer uniform modal sizes across all dev tools."), _reactNative.Platform.OS !== "web" && renderGlobalSettingCard("expandableWindowControls", "EXPAND CONTROLS", "MODAL", "iPad-style expandable window buttons", "When enabled, the window control buttons (minimize, toggle mode, close) start as small dots and expand into larger, easy-to-tap buttons when pressed — similar to iPad window controls. When disabled, buttons are directly tappable at their small size.", "Keep ON for touch devices where the small buttons are hard to press. Turn OFF if you prefer direct single-tap access (e.g. when using a mouse or simulator)."), isDevelopmentMode && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
812
812
|
style: styles.exportConfigCard,
|
|
813
813
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
814
814
|
activeOpacity: 0.85,
|
|
@@ -27,10 +27,6 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
27
27
|
*/
|
|
28
28
|
const FLOATING_MENU_ONBOARDING_KEY = "@react_buoy_floating_menu_tooltip_shown";
|
|
29
29
|
const ONBOARDING_STEP_KEY = "@react_buoy_onboarding_step";
|
|
30
|
-
const {
|
|
31
|
-
width: SCREEN_WIDTH,
|
|
32
|
-
height: SCREEN_HEIGHT
|
|
33
|
-
} = _reactNative.Dimensions.get("window");
|
|
34
30
|
const FloatingMenu = ({
|
|
35
31
|
apps,
|
|
36
32
|
state,
|
|
@@ -32,7 +32,7 @@ exports.validateDialConfig = validateDialConfig;
|
|
|
32
32
|
* This is a union type of all auto-discovered tool IDs.
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
-
//
|
|
35
|
+
// Benchmark recording modal (@buoy-gg/perf-monitor)
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* Special floating-only tool IDs that only appear in the floating bubble row.
|
|
@@ -18,17 +18,10 @@ var _floatingToolsCore = require("@buoy-gg/floating-tools-core");
|
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
19
|
// Icons are provided by installedApps; no direct icon imports here.
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// Use shared layout calculation from core
|
|
27
|
-
const layout = (0, _floatingToolsCore.getDialLayout)({
|
|
28
|
-
screenWidth: SCREEN_WIDTH
|
|
29
|
-
});
|
|
30
|
-
const CIRCLE_SIZE = layout.circleSize;
|
|
31
|
-
const BUTTON_SIZE = layout.buttonSize;
|
|
21
|
+
// The circle size depends on the live window width, so it's computed inside
|
|
22
|
+
// the component via useWindowDimensions — a module-scope Dimensions.get
|
|
23
|
+
// snapshot goes stale when the window resizes after load (web/desktop).
|
|
24
|
+
const BUTTON_SIZE = _floatingToolsCore.DIAL_BUTTON_SIZE;
|
|
32
25
|
const ONBOARDING_STORAGE_KEY = "@react_buoy_settings_tooltip_shown";
|
|
33
26
|
/** A non-interactive placeholder used to fill out the last dial page. */
|
|
34
27
|
const createEmptySlot = slotIndex => ({
|
|
@@ -60,6 +53,33 @@ const DialDevTools = ({
|
|
|
60
53
|
} = (0, _AppHost.useAppHost)();
|
|
61
54
|
const isPro = (0, _license.useIsPro)();
|
|
62
55
|
|
|
56
|
+
// Live window size — keeps the dial centered and sized correctly when the
|
|
57
|
+
// window resizes (Electron/web) or the device rotates.
|
|
58
|
+
const {
|
|
59
|
+
width: screenWidth,
|
|
60
|
+
height: screenHeight
|
|
61
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
62
|
+
const circleSize = (0, _floatingToolsCore.getDialLayout)({
|
|
63
|
+
screenWidth
|
|
64
|
+
}).circleSize;
|
|
65
|
+
const sizeStyles = (0, _react.useMemo)(() => ({
|
|
66
|
+
parent: {
|
|
67
|
+
width: circleSize,
|
|
68
|
+
height: circleSize
|
|
69
|
+
},
|
|
70
|
+
circle: {
|
|
71
|
+
width: circleSize,
|
|
72
|
+
height: circleSize,
|
|
73
|
+
borderRadius: circleSize / 2
|
|
74
|
+
},
|
|
75
|
+
rounded: {
|
|
76
|
+
borderRadius: circleSize / 2
|
|
77
|
+
},
|
|
78
|
+
gridLine: {
|
|
79
|
+
width: circleSize
|
|
80
|
+
}
|
|
81
|
+
}), [circleSize]);
|
|
82
|
+
|
|
63
83
|
// Load persisted settings modal state on mount
|
|
64
84
|
(0, _react.useEffect)(() => {
|
|
65
85
|
const loadSettingsModalState = async () => {
|
|
@@ -489,9 +509,9 @@ const DialDevTools = ({
|
|
|
489
509
|
onPress: handleClose
|
|
490
510
|
})
|
|
491
511
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
|
|
492
|
-
style: [styles.parent, {
|
|
512
|
+
style: [styles.parent, sizeStyles.parent, {
|
|
493
513
|
position: "absolute",
|
|
494
|
-
left: (
|
|
514
|
+
left: (screenWidth - circleSize) / 2,
|
|
495
515
|
bottom: 80,
|
|
496
516
|
transform: [{
|
|
497
517
|
scale: dialScale
|
|
@@ -503,21 +523,21 @@ const DialDevTools = ({
|
|
|
503
523
|
}]
|
|
504
524
|
}],
|
|
505
525
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
|
|
506
|
-
style: styles.circle,
|
|
526
|
+
style: [styles.circle, sizeStyles.circle],
|
|
507
527
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
508
|
-
style: styles.gradientBackground,
|
|
528
|
+
style: [styles.gradientBackground, sizeStyles.rounded],
|
|
509
529
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
510
|
-
style: styles.gradientLayer1
|
|
530
|
+
style: [styles.gradientLayer1, sizeStyles.rounded]
|
|
511
531
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
512
|
-
style: styles.gradientLayer2
|
|
532
|
+
style: [styles.gradientLayer2, sizeStyles.rounded]
|
|
513
533
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
514
|
-
style: styles.gradientLayer3
|
|
534
|
+
style: [styles.gradientLayer3, sizeStyles.rounded]
|
|
515
535
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
516
536
|
style: styles.gridPattern,
|
|
517
537
|
children: Array.from({
|
|
518
538
|
length: 6
|
|
519
539
|
}).map((_, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
520
|
-
style: [styles.gridLine, {
|
|
540
|
+
style: [styles.gridLine, sizeStyles.gridLine, {
|
|
521
541
|
transform: [{
|
|
522
542
|
rotate: `${i * 60}deg`
|
|
523
543
|
}]
|
|
@@ -608,11 +628,11 @@ const DialDevTools = ({
|
|
|
608
628
|
onNext: () => handlePageChange(safePage + 1),
|
|
609
629
|
animatedStyle: {
|
|
610
630
|
position: "absolute",
|
|
611
|
-
left: (
|
|
612
|
-
// Circle's bottom edge sits at bottom: 80 ->
|
|
631
|
+
left: (screenWidth - circleSize) / 2,
|
|
632
|
+
// Circle's bottom edge sits at bottom: 80 -> screenHeight - 80
|
|
613
633
|
// from the top. Place the pager 16px below that edge.
|
|
614
|
-
top:
|
|
615
|
-
width:
|
|
634
|
+
top: screenHeight - 80 + 16,
|
|
635
|
+
width: circleSize,
|
|
616
636
|
opacity: dialScale,
|
|
617
637
|
transform: [{
|
|
618
638
|
scale: dialScale
|
|
@@ -641,16 +661,13 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
641
661
|
..._reactNative.StyleSheet.absoluteFillObject,
|
|
642
662
|
backgroundColor: _floatingToolsCore.dialColors.dialBackdrop
|
|
643
663
|
},
|
|
664
|
+
// width/height/borderRadius for the circle pieces come from sizeStyles —
|
|
665
|
+
// they track the live window width.
|
|
644
666
|
parent: {
|
|
645
|
-
width: CIRCLE_SIZE,
|
|
646
|
-
height: CIRCLE_SIZE,
|
|
647
667
|
alignItems: "center",
|
|
648
668
|
justifyContent: "center"
|
|
649
669
|
},
|
|
650
670
|
circle: {
|
|
651
|
-
width: CIRCLE_SIZE,
|
|
652
|
-
height: CIRCLE_SIZE,
|
|
653
|
-
borderRadius: CIRCLE_SIZE / 2,
|
|
654
671
|
position: "absolute",
|
|
655
672
|
backgroundColor: "transparent",
|
|
656
673
|
borderWidth: 1,
|
|
@@ -667,7 +684,6 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
667
684
|
gradientBackground: {
|
|
668
685
|
width: "100%",
|
|
669
686
|
height: "100%",
|
|
670
|
-
borderRadius: CIRCLE_SIZE / 2,
|
|
671
687
|
position: "relative",
|
|
672
688
|
backgroundColor: _floatingToolsCore.dialColors.dialBackground,
|
|
673
689
|
overflow: "hidden"
|
|
@@ -675,24 +691,21 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
675
691
|
gradientLayer1: {
|
|
676
692
|
..._reactNative.StyleSheet.absoluteFillObject,
|
|
677
693
|
backgroundColor: _floatingToolsCore.dialColors.dialGradient1,
|
|
678
|
-
opacity: 0.6
|
|
679
|
-
borderRadius: CIRCLE_SIZE / 2
|
|
694
|
+
opacity: 0.6
|
|
680
695
|
},
|
|
681
696
|
gradientLayer2: {
|
|
682
697
|
..._reactNative.StyleSheet.absoluteFillObject,
|
|
683
698
|
backgroundColor: _floatingToolsCore.dialColors.dialGradient2,
|
|
684
699
|
opacity: 0.4,
|
|
685
700
|
top: "30%",
|
|
686
|
-
left: "30%"
|
|
687
|
-
borderRadius: CIRCLE_SIZE / 2
|
|
701
|
+
left: "30%"
|
|
688
702
|
},
|
|
689
703
|
gradientLayer3: {
|
|
690
704
|
..._reactNative.StyleSheet.absoluteFillObject,
|
|
691
705
|
backgroundColor: _floatingToolsCore.dialColors.dialGradient3,
|
|
692
706
|
opacity: 0.3,
|
|
693
707
|
top: "50%",
|
|
694
|
-
left: "50%"
|
|
695
|
-
borderRadius: CIRCLE_SIZE / 2
|
|
708
|
+
left: "50%"
|
|
696
709
|
},
|
|
697
710
|
gridPattern: {
|
|
698
711
|
..._reactNative.StyleSheet.absoluteFillObject,
|
|
@@ -701,7 +714,6 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
701
714
|
},
|
|
702
715
|
gridLine: {
|
|
703
716
|
position: "absolute",
|
|
704
|
-
width: CIRCLE_SIZE,
|
|
705
717
|
height: 1,
|
|
706
718
|
backgroundColor: _floatingToolsCore.dialColors.dialGridLine
|
|
707
719
|
},
|
|
@@ -8,16 +8,9 @@ var _react = require("react");
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _floatingToolsCore = require("@buoy-gg/floating-tools-core");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
// Use shared layout calculation
|
|
16
|
-
const layout = (0, _floatingToolsCore.getDialLayout)({
|
|
17
|
-
screenWidth: SCREEN_WIDTH
|
|
18
|
-
});
|
|
19
|
-
const VIEW_SIZE = layout.iconSize;
|
|
20
|
-
const CIRCLE_RADIUS = layout.circleRadius;
|
|
11
|
+
// The circle radius depends on the live window width and is computed inside
|
|
12
|
+
// the component (must match DialDevTools' circle, which does the same).
|
|
13
|
+
const VIEW_SIZE = _floatingToolsCore.DIAL_ICON_SIZE;
|
|
21
14
|
const DialIcon = ({
|
|
22
15
|
index,
|
|
23
16
|
icon,
|
|
@@ -28,6 +21,12 @@ const DialIcon = ({
|
|
|
28
21
|
}) => {
|
|
29
22
|
// Animation values - using interpolation for better performance
|
|
30
23
|
const scale = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
|
|
24
|
+
const {
|
|
25
|
+
width: screenWidth
|
|
26
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
27
|
+
const layout = (0, _react.useMemo)(() => (0, _floatingToolsCore.getDialLayout)({
|
|
28
|
+
screenWidth
|
|
29
|
+
}), [screenWidth]);
|
|
31
30
|
|
|
32
31
|
// Hover animation on press in/out - using shared config
|
|
33
32
|
// Fallback values in case dialAnimationConfig hasn't loaded yet
|
|
@@ -123,14 +122,14 @@ const DialIcon = ({
|
|
|
123
122
|
itemOpacity,
|
|
124
123
|
progressScale: staggeredProgress
|
|
125
124
|
};
|
|
126
|
-
}, [index, totalIcons, iconsProgress]);
|
|
125
|
+
}, [index, totalIcons, iconsProgress, layout]);
|
|
127
126
|
|
|
128
127
|
// Main animated style for position and appearance
|
|
129
128
|
const animatedStyle = {
|
|
130
129
|
position: "absolute",
|
|
131
|
-
left:
|
|
130
|
+
left: layout.circleRadius - VIEW_SIZE / 2,
|
|
132
131
|
// Center position
|
|
133
|
-
top:
|
|
132
|
+
top: layout.circleRadius - VIEW_SIZE / 2,
|
|
134
133
|
// Center position
|
|
135
134
|
opacity: motion.itemOpacity,
|
|
136
135
|
transform: [{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useState, useEffect, useCallback, useMemo } from "react";
|
|
4
|
-
import { View, Text, StyleSheet, ScrollView, TouchableOpacity, Dimensions } from "react-native";
|
|
4
|
+
import { View, Text, StyleSheet, ScrollView, TouchableOpacity, Dimensions, Platform } from "react-native";
|
|
5
5
|
import { settingsBus } from "./settingsBus.js";
|
|
6
6
|
import { SentryBugIcon, WifiCircuitIcon, ImageOverlayIcon, RenderCountIcon, Info, Layers, ChevronRightIcon, ChevronDown, getStorageBackendType, persistentStorage, Database, Trash2, CheckCircle2, AlertTriangle, Zap, FileText, HardDrive, Copy, FileCode, copyToClipboard, LicenseEntryModal, SectionHeader } from "@buoy-gg/shared-ui";
|
|
7
7
|
import { EnvIcon, StorageIcon, RoutesIcon, NetworkIcon, QueryIcon, HighlighterIcon, ReduxIcon, EventsIcon } from "@buoy-gg/floating-tools-core";
|
|
@@ -809,7 +809,7 @@ export const DevToolsSettingsModal = ({
|
|
|
809
809
|
children: clearSuccess ? "CLEARED" : isClearing ? "CLEARING..." : "CLEAR ALL SETTINGS"
|
|
810
810
|
})]
|
|
811
811
|
})]
|
|
812
|
-
}), renderGlobalSettingCard("enableSharedModalDimensions", "SHARED MODAL SIZE", "MODAL", "Sync dimensions across all tools", "When enabled, all tool modals will share the same size and position. Resizing one modal will affect all others. When disabled, each tool remembers its own size and position independently.", "Keep OFF for the best experience. This allows you to customize each tool's modal size separately. Enable only if you prefer uniform modal sizes across all dev tools."), renderGlobalSettingCard("expandableWindowControls", "EXPAND CONTROLS", "MODAL", "iPad-style expandable window buttons", "When enabled, the window control buttons (minimize, toggle mode, close) start as small dots and expand into larger, easy-to-tap buttons when pressed — similar to iPad window controls. When disabled, buttons are directly tappable at their small size.", "Keep ON for touch devices where the small buttons are hard to press. Turn OFF if you prefer direct single-tap access (e.g. when using a mouse or simulator)."), isDevelopmentMode && /*#__PURE__*/_jsxs(View, {
|
|
812
|
+
}), renderGlobalSettingCard("enableSharedModalDimensions", "SHARED MODAL SIZE", "MODAL", "Sync dimensions across all tools", "When enabled, all tool modals will share the same size and position. Resizing one modal will affect all others. When disabled, each tool remembers its own size and position independently.", "Keep OFF for the best experience. This allows you to customize each tool's modal size separately. Enable only if you prefer uniform modal sizes across all dev tools."), Platform.OS !== "web" && renderGlobalSettingCard("expandableWindowControls", "EXPAND CONTROLS", "MODAL", "iPad-style expandable window buttons", "When enabled, the window control buttons (minimize, toggle mode, close) start as small dots and expand into larger, easy-to-tap buttons when pressed — similar to iPad window controls. When disabled, buttons are directly tappable at their small size.", "Keep ON for touch devices where the small buttons are hard to press. Turn OFF if you prefer direct single-tap access (e.g. when using a mouse or simulator)."), isDevelopmentMode && /*#__PURE__*/_jsxs(View, {
|
|
813
813
|
style: styles.exportConfigCard,
|
|
814
814
|
children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
815
815
|
activeOpacity: 0.85,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
-
import { TouchableOpacity, StyleSheet, View
|
|
4
|
+
import { TouchableOpacity, StyleSheet, View } from "react-native";
|
|
5
5
|
import { FloatingTools, UserStatus } from "./floatingTools";
|
|
6
6
|
import { DialDevTools } from "./dial/DialDevTools";
|
|
7
7
|
import { EnvironmentIndicator, persistentStorage, useHintsDisabled, devToolsStorageKeys, buoyColors } from "@buoy-gg/shared-ui";
|
|
@@ -22,10 +22,6 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
22
22
|
*/
|
|
23
23
|
const FLOATING_MENU_ONBOARDING_KEY = "@react_buoy_floating_menu_tooltip_shown";
|
|
24
24
|
const ONBOARDING_STEP_KEY = "@react_buoy_onboarding_step";
|
|
25
|
-
const {
|
|
26
|
-
width: SCREEN_WIDTH,
|
|
27
|
-
height: SCREEN_HEIGHT
|
|
28
|
-
} = Dimensions.get("window");
|
|
29
25
|
export const FloatingMenu = ({
|
|
30
26
|
apps,
|
|
31
27
|
state,
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* This is a union type of all auto-discovered tool IDs.
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
|
-
//
|
|
26
|
+
// Benchmark recording modal (@buoy-gg/perf-monitor)
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Special floating-only tool IDs that only appear in the floating bubble row.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
-
import { Pressable, StyleSheet, View,
|
|
4
|
+
import { Pressable, StyleSheet, View, useWindowDimensions, Text, Animated, Easing } from "react-native";
|
|
5
5
|
// Icons are provided by installedApps; no direct icon imports here.
|
|
6
6
|
import { DialIcon } from "./DialIcon.js";
|
|
7
7
|
import { DialPagination } from "./DialPagination.js";
|
|
@@ -11,19 +11,13 @@ import { DevToolsSettingsModal, useDevToolsSettings } from "../DevToolsSettingsM
|
|
|
11
11
|
import { useIsPro } from "@buoy-gg/license";
|
|
12
12
|
import { useAppHost } from "../AppHost.js";
|
|
13
13
|
import { OnboardingTooltip } from "./OnboardingTooltip.js";
|
|
14
|
-
import { getDialLayout, MAX_DIAL_SLOTS, dialAnimationConfig, dialColors } from "@buoy-gg/floating-tools-core";
|
|
15
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
16
|
-
const {
|
|
17
|
-
width: SCREEN_WIDTH,
|
|
18
|
-
height: SCREEN_HEIGHT
|
|
19
|
-
} = Dimensions.get("window");
|
|
14
|
+
import { getDialLayout, MAX_DIAL_SLOTS, DIAL_BUTTON_SIZE, dialAnimationConfig, dialColors } from "@buoy-gg/floating-tools-core";
|
|
20
15
|
|
|
21
|
-
//
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
const
|
|
26
|
-
const BUTTON_SIZE = layout.buttonSize;
|
|
16
|
+
// The circle size depends on the live window width, so it's computed inside
|
|
17
|
+
// the component via useWindowDimensions — a module-scope Dimensions.get
|
|
18
|
+
// snapshot goes stale when the window resizes after load (web/desktop).
|
|
19
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
|
+
const BUTTON_SIZE = DIAL_BUTTON_SIZE;
|
|
27
21
|
const ONBOARDING_STORAGE_KEY = "@react_buoy_settings_tooltip_shown";
|
|
28
22
|
/** A non-interactive placeholder used to fill out the last dial page. */
|
|
29
23
|
const createEmptySlot = slotIndex => ({
|
|
@@ -55,6 +49,33 @@ export const DialDevTools = ({
|
|
|
55
49
|
} = useAppHost();
|
|
56
50
|
const isPro = useIsPro();
|
|
57
51
|
|
|
52
|
+
// Live window size — keeps the dial centered and sized correctly when the
|
|
53
|
+
// window resizes (Electron/web) or the device rotates.
|
|
54
|
+
const {
|
|
55
|
+
width: screenWidth,
|
|
56
|
+
height: screenHeight
|
|
57
|
+
} = useWindowDimensions();
|
|
58
|
+
const circleSize = getDialLayout({
|
|
59
|
+
screenWidth
|
|
60
|
+
}).circleSize;
|
|
61
|
+
const sizeStyles = useMemo(() => ({
|
|
62
|
+
parent: {
|
|
63
|
+
width: circleSize,
|
|
64
|
+
height: circleSize
|
|
65
|
+
},
|
|
66
|
+
circle: {
|
|
67
|
+
width: circleSize,
|
|
68
|
+
height: circleSize,
|
|
69
|
+
borderRadius: circleSize / 2
|
|
70
|
+
},
|
|
71
|
+
rounded: {
|
|
72
|
+
borderRadius: circleSize / 2
|
|
73
|
+
},
|
|
74
|
+
gridLine: {
|
|
75
|
+
width: circleSize
|
|
76
|
+
}
|
|
77
|
+
}), [circleSize]);
|
|
78
|
+
|
|
58
79
|
// Load persisted settings modal state on mount
|
|
59
80
|
useEffect(() => {
|
|
60
81
|
const loadSettingsModalState = async () => {
|
|
@@ -484,9 +505,9 @@ export const DialDevTools = ({
|
|
|
484
505
|
onPress: handleClose
|
|
485
506
|
})
|
|
486
507
|
}), /*#__PURE__*/_jsxs(Animated.View, {
|
|
487
|
-
style: [styles.parent, {
|
|
508
|
+
style: [styles.parent, sizeStyles.parent, {
|
|
488
509
|
position: "absolute",
|
|
489
|
-
left: (
|
|
510
|
+
left: (screenWidth - circleSize) / 2,
|
|
490
511
|
bottom: 80,
|
|
491
512
|
transform: [{
|
|
492
513
|
scale: dialScale
|
|
@@ -498,21 +519,21 @@ export const DialDevTools = ({
|
|
|
498
519
|
}]
|
|
499
520
|
}],
|
|
500
521
|
children: [/*#__PURE__*/_jsxs(Animated.View, {
|
|
501
|
-
style: styles.circle,
|
|
522
|
+
style: [styles.circle, sizeStyles.circle],
|
|
502
523
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
503
|
-
style: styles.gradientBackground,
|
|
524
|
+
style: [styles.gradientBackground, sizeStyles.rounded],
|
|
504
525
|
children: [/*#__PURE__*/_jsx(View, {
|
|
505
|
-
style: styles.gradientLayer1
|
|
526
|
+
style: [styles.gradientLayer1, sizeStyles.rounded]
|
|
506
527
|
}), /*#__PURE__*/_jsx(View, {
|
|
507
|
-
style: styles.gradientLayer2
|
|
528
|
+
style: [styles.gradientLayer2, sizeStyles.rounded]
|
|
508
529
|
}), /*#__PURE__*/_jsx(View, {
|
|
509
|
-
style: styles.gradientLayer3
|
|
530
|
+
style: [styles.gradientLayer3, sizeStyles.rounded]
|
|
510
531
|
}), /*#__PURE__*/_jsx(View, {
|
|
511
532
|
style: styles.gridPattern,
|
|
512
533
|
children: Array.from({
|
|
513
534
|
length: 6
|
|
514
535
|
}).map((_, i) => /*#__PURE__*/_jsx(View, {
|
|
515
|
-
style: [styles.gridLine, {
|
|
536
|
+
style: [styles.gridLine, sizeStyles.gridLine, {
|
|
516
537
|
transform: [{
|
|
517
538
|
rotate: `${i * 60}deg`
|
|
518
539
|
}]
|
|
@@ -603,11 +624,11 @@ export const DialDevTools = ({
|
|
|
603
624
|
onNext: () => handlePageChange(safePage + 1),
|
|
604
625
|
animatedStyle: {
|
|
605
626
|
position: "absolute",
|
|
606
|
-
left: (
|
|
607
|
-
// Circle's bottom edge sits at bottom: 80 ->
|
|
627
|
+
left: (screenWidth - circleSize) / 2,
|
|
628
|
+
// Circle's bottom edge sits at bottom: 80 -> screenHeight - 80
|
|
608
629
|
// from the top. Place the pager 16px below that edge.
|
|
609
|
-
top:
|
|
610
|
-
width:
|
|
630
|
+
top: screenHeight - 80 + 16,
|
|
631
|
+
width: circleSize,
|
|
611
632
|
opacity: dialScale,
|
|
612
633
|
transform: [{
|
|
613
634
|
scale: dialScale
|
|
@@ -635,16 +656,13 @@ const styles = StyleSheet.create({
|
|
|
635
656
|
...StyleSheet.absoluteFillObject,
|
|
636
657
|
backgroundColor: dialColors.dialBackdrop
|
|
637
658
|
},
|
|
659
|
+
// width/height/borderRadius for the circle pieces come from sizeStyles —
|
|
660
|
+
// they track the live window width.
|
|
638
661
|
parent: {
|
|
639
|
-
width: CIRCLE_SIZE,
|
|
640
|
-
height: CIRCLE_SIZE,
|
|
641
662
|
alignItems: "center",
|
|
642
663
|
justifyContent: "center"
|
|
643
664
|
},
|
|
644
665
|
circle: {
|
|
645
|
-
width: CIRCLE_SIZE,
|
|
646
|
-
height: CIRCLE_SIZE,
|
|
647
|
-
borderRadius: CIRCLE_SIZE / 2,
|
|
648
666
|
position: "absolute",
|
|
649
667
|
backgroundColor: "transparent",
|
|
650
668
|
borderWidth: 1,
|
|
@@ -661,7 +679,6 @@ const styles = StyleSheet.create({
|
|
|
661
679
|
gradientBackground: {
|
|
662
680
|
width: "100%",
|
|
663
681
|
height: "100%",
|
|
664
|
-
borderRadius: CIRCLE_SIZE / 2,
|
|
665
682
|
position: "relative",
|
|
666
683
|
backgroundColor: dialColors.dialBackground,
|
|
667
684
|
overflow: "hidden"
|
|
@@ -669,24 +686,21 @@ const styles = StyleSheet.create({
|
|
|
669
686
|
gradientLayer1: {
|
|
670
687
|
...StyleSheet.absoluteFillObject,
|
|
671
688
|
backgroundColor: dialColors.dialGradient1,
|
|
672
|
-
opacity: 0.6
|
|
673
|
-
borderRadius: CIRCLE_SIZE / 2
|
|
689
|
+
opacity: 0.6
|
|
674
690
|
},
|
|
675
691
|
gradientLayer2: {
|
|
676
692
|
...StyleSheet.absoluteFillObject,
|
|
677
693
|
backgroundColor: dialColors.dialGradient2,
|
|
678
694
|
opacity: 0.4,
|
|
679
695
|
top: "30%",
|
|
680
|
-
left: "30%"
|
|
681
|
-
borderRadius: CIRCLE_SIZE / 2
|
|
696
|
+
left: "30%"
|
|
682
697
|
},
|
|
683
698
|
gradientLayer3: {
|
|
684
699
|
...StyleSheet.absoluteFillObject,
|
|
685
700
|
backgroundColor: dialColors.dialGradient3,
|
|
686
701
|
opacity: 0.3,
|
|
687
702
|
top: "50%",
|
|
688
|
-
left: "50%"
|
|
689
|
-
borderRadius: CIRCLE_SIZE / 2
|
|
703
|
+
left: "50%"
|
|
690
704
|
},
|
|
691
705
|
gridPattern: {
|
|
692
706
|
...StyleSheet.absoluteFillObject,
|
|
@@ -695,7 +709,6 @@ const styles = StyleSheet.create({
|
|
|
695
709
|
},
|
|
696
710
|
gridLine: {
|
|
697
711
|
position: "absolute",
|
|
698
|
-
width: CIRCLE_SIZE,
|
|
699
712
|
height: 1,
|
|
700
713
|
backgroundColor: dialColors.dialGridLine
|
|
701
714
|
},
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useMemo, useRef } from "react";
|
|
4
|
-
import { StyleSheet, Pressable, View, Text,
|
|
5
|
-
import { getDialLayout, getIconPosition, getIconStaggerInputRange, DIAL_START_ANGLE, dialColors, dialStyles, dialAnimationConfig } from "@buoy-gg/floating-tools-core";
|
|
6
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
-
const {
|
|
8
|
-
width: SCREEN_WIDTH
|
|
9
|
-
} = Dimensions.get("window");
|
|
4
|
+
import { StyleSheet, Pressable, View, Text, useWindowDimensions, Animated } from "react-native";
|
|
5
|
+
import { getDialLayout, getIconPosition, getIconStaggerInputRange, DIAL_START_ANGLE, DIAL_ICON_SIZE, dialColors, dialStyles, dialAnimationConfig } from "@buoy-gg/floating-tools-core";
|
|
10
6
|
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const VIEW_SIZE = layout.iconSize;
|
|
16
|
-
const CIRCLE_RADIUS = layout.circleRadius;
|
|
7
|
+
// The circle radius depends on the live window width and is computed inside
|
|
8
|
+
// the component (must match DialDevTools' circle, which does the same).
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const VIEW_SIZE = DIAL_ICON_SIZE;
|
|
17
11
|
export const DialIcon = ({
|
|
18
12
|
index,
|
|
19
13
|
icon,
|
|
@@ -24,6 +18,12 @@ export const DialIcon = ({
|
|
|
24
18
|
}) => {
|
|
25
19
|
// Animation values - using interpolation for better performance
|
|
26
20
|
const scale = useRef(new Animated.Value(1)).current;
|
|
21
|
+
const {
|
|
22
|
+
width: screenWidth
|
|
23
|
+
} = useWindowDimensions();
|
|
24
|
+
const layout = useMemo(() => getDialLayout({
|
|
25
|
+
screenWidth
|
|
26
|
+
}), [screenWidth]);
|
|
27
27
|
|
|
28
28
|
// Hover animation on press in/out - using shared config
|
|
29
29
|
// Fallback values in case dialAnimationConfig hasn't loaded yet
|
|
@@ -119,14 +119,14 @@ export const DialIcon = ({
|
|
|
119
119
|
itemOpacity,
|
|
120
120
|
progressScale: staggeredProgress
|
|
121
121
|
};
|
|
122
|
-
}, [index, totalIcons, iconsProgress]);
|
|
122
|
+
}, [index, totalIcons, iconsProgress, layout]);
|
|
123
123
|
|
|
124
124
|
// Main animated style for position and appearance
|
|
125
125
|
const animatedStyle = {
|
|
126
126
|
position: "absolute",
|
|
127
|
-
left:
|
|
127
|
+
left: layout.circleRadius - VIEW_SIZE / 2,
|
|
128
128
|
// Center position
|
|
129
|
-
top:
|
|
129
|
+
top: layout.circleRadius - VIEW_SIZE / 2,
|
|
130
130
|
// Center position
|
|
131
131
|
opacity: motion.itemOpacity,
|
|
132
132
|
transform: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsSettingsModal.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/DevToolsSettingsModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6C,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DevToolsSettingsModal.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/DevToolsSettingsModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6C,EAAE,EAAE,MAAM,OAAO,CAAC;AAsJtE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,uFAAuF;IACvF,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACvC,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,kDAAkD;IAClD,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,UAAU,0BAA0B;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACxD,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,aAAa,CAAC,EAAE;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;KAChC,EAAE,CAAC;CACL;AA2DD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CA+8BhE,CAAC;AAwDF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;CAuD/B,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;
|
|
1
|
+
{"version":3,"file":"FloatingMenu.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/FloatingMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAqD,MAAM,OAAO,CAAC;AAQrF,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"}
|
|
@@ -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';
|
|
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';
|
|
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,CAAC;
|
|
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 +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;AA8B5E,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,UAAU,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;AA8B5E,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAoBlB,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;CACrB,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,CA4nB9C,CAAC"}
|
|
@@ -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;
|
|
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;AAgB1C,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,CAuM9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsSettingsModal.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/DevToolsSettingsModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6C,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DevToolsSettingsModal.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/DevToolsSettingsModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6C,EAAE,EAAE,MAAM,OAAO,CAAC;AAsJtE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,uFAAuF;IACvF,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACvC,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,kDAAkD;IAClD,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,UAAU,0BAA0B;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACxD,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,aAAa,CAAC,EAAE;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;KAChC,EAAE,CAAC;CACL;AA2DD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CA+8BhE,CAAC;AAwDF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;CAuD/B,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;
|
|
1
|
+
{"version":3,"file":"FloatingMenu.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/FloatingMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAqD,MAAM,OAAO,CAAC;AAQrF,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"}
|
|
@@ -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';
|
|
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';
|
|
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,CAAC;
|
|
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 +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;AA8B5E,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,UAAU,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;AA8B5E,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAoBlB,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;CACrB,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,CA4nB9C,CAAC"}
|
|
@@ -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;
|
|
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;AAgB1C,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,CAuM9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buoy-gg/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Floating dev tools launcher and AppHost",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
],
|
|
23
23
|
"sideEffects": false,
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@buoy-gg/shared-ui": "
|
|
26
|
-
"@buoy-gg/license": "
|
|
27
|
-
"@buoy-gg/floating-tools-core": "
|
|
28
|
-
"@buoy-gg/floating-tools-react": "
|
|
25
|
+
"@buoy-gg/shared-ui": "3.0.0",
|
|
26
|
+
"@buoy-gg/license": "3.0.0",
|
|
27
|
+
"@buoy-gg/floating-tools-core": "3.0.0",
|
|
28
|
+
"@buoy-gg/floating-tools-react": "3.0.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"react": "*",
|