@buoy-gg/core 7.0.14 → 7.0.16
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/AppHost.web.js +359 -0
- package/lib/commonjs/floatingMenu/AppHostLogic.js +6 -0
- package/lib/commonjs/floatingMenu/DevToolsSettingsModal.web.js +787 -418
- package/lib/commonjs/floatingMenu/FloatingDevTools.js +1 -1
- package/lib/commonjs/floatingMenu/FloatingDevTools.web.js +244 -36
- package/lib/commonjs/floatingMenu/FloatingMenu.js +2 -2
- package/lib/commonjs/floatingMenu/MinimizedToolsContext.js +2 -3
- package/lib/commonjs/floatingMenu/MinimizedToolsStack.web.js +287 -0
- package/lib/commonjs/floatingMenu/autoDiscoverPresets.js +16 -0
- package/lib/commonjs/floatingMenu/autoExternalSync.js +9 -0
- package/lib/commonjs/floatingMenu/dial/DialDevTools.js +7 -4
- package/lib/commonjs/floatingMenu/dial/DialDevTools.web.js +373 -231
- package/lib/commonjs/floatingMenu/dial/DialIcon.js +25 -3
- package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.js +1 -1
- package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.web.js +154 -0
- package/lib/commonjs/floatingMenu/dial/onboardingConstants.web.js +34 -0
- package/lib/commonjs/floatingMenu/floatingTools.js +3 -3
- package/lib/commonjs/floatingMenu/floatingTools.web.js +191 -28
- package/lib/commonjs/index.js +2 -2
- package/lib/commonjs/index.web.js +19 -0
- package/lib/commonjs/utils/autoDiscoverPresets.web.js +50 -5
- package/lib/module/floatingMenu/AppHost.web.js +351 -0
- package/lib/module/floatingMenu/AppHostLogic.js +6 -0
- package/lib/module/floatingMenu/DevToolsSettingsModal.web.js +792 -422
- package/lib/module/floatingMenu/FloatingDevTools.js +2 -2
- package/lib/module/floatingMenu/FloatingDevTools.web.js +247 -38
- package/lib/module/floatingMenu/FloatingMenu.js +2 -2
- package/lib/module/floatingMenu/MinimizedToolsContext.js +2 -3
- package/lib/module/floatingMenu/MinimizedToolsStack.web.js +284 -0
- package/lib/module/floatingMenu/autoDiscoverPresets.js +16 -0
- package/lib/module/floatingMenu/autoExternalSync.js +9 -0
- package/lib/module/floatingMenu/dial/DialDevTools.js +8 -5
- package/lib/module/floatingMenu/dial/DialDevTools.web.js +375 -233
- package/lib/module/floatingMenu/dial/DialIcon.js +26 -4
- package/lib/module/floatingMenu/dial/OnboardingTooltip.js +1 -1
- package/lib/module/floatingMenu/dial/OnboardingTooltip.web.js +149 -0
- package/lib/module/floatingMenu/dial/onboardingConstants.web.js +27 -0
- package/lib/module/floatingMenu/floatingTools.js +3 -3
- package/lib/module/floatingMenu/floatingTools.web.js +190 -28
- package/lib/module/index.js +2 -2
- package/lib/module/index.web.js +5 -0
- package/lib/module/utils/autoDiscoverPresets.web.js +53 -7
- package/lib/typescript/commonjs/floatingMenu/AppHost.web.d.ts +38 -0
- package/lib/typescript/commonjs/floatingMenu/AppHost.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/floatingMenu/AppHostLogic.d.ts +21 -1
- package/lib/typescript/commonjs/floatingMenu/AppHostLogic.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts +5 -2
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts +2 -14
- package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsContext.d.ts +2 -20
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.web.d.ts +21 -0
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/floatingMenu/autoDiscoverPresets.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/autoExternalSync.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.web.d.ts +16 -2
- package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.web.d.ts +9 -0
- package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.web.d.ts +13 -0
- package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/floatingMenu/floatingTools.web.d.ts +29 -2
- package/lib/typescript/commonjs/floatingMenu/floatingTools.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +1 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/autoDiscoverPresets.web.d.ts +2 -0
- package/lib/typescript/commonjs/utils/autoDiscoverPresets.web.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/AppHost.web.d.ts +38 -0
- package/lib/typescript/module/floatingMenu/AppHost.web.d.ts.map +1 -0
- package/lib/typescript/module/floatingMenu/AppHostLogic.d.ts +21 -1
- package/lib/typescript/module/floatingMenu/AppHostLogic.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts +5 -2
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts +2 -14
- package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/MinimizedToolsContext.d.ts +2 -20
- package/lib/typescript/module/floatingMenu/MinimizedToolsContext.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/MinimizedToolsStack.web.d.ts +21 -0
- package/lib/typescript/module/floatingMenu/MinimizedToolsStack.web.d.ts.map +1 -0
- package/lib/typescript/module/floatingMenu/autoDiscoverPresets.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/autoExternalSync.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/dial/DialDevTools.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/dial/DialDevTools.web.d.ts +16 -2
- package/lib/typescript/module/floatingMenu/dial/DialDevTools.web.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/dial/DialIcon.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.web.d.ts +9 -0
- package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +1 -0
- package/lib/typescript/module/floatingMenu/dial/onboardingConstants.web.d.ts +13 -0
- package/lib/typescript/module/floatingMenu/dial/onboardingConstants.web.d.ts.map +1 -0
- package/lib/typescript/module/floatingMenu/floatingTools.web.d.ts +29 -2
- package/lib/typescript/module/floatingMenu/floatingTools.web.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +1 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/utils/autoDiscoverPresets.web.d.ts +2 -0
- package/lib/typescript/module/utils/autoDiscoverPresets.web.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MinimizedToolsStack = MinimizedToolsStack;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
9
|
+
var _AppHostWeb = require("./AppHost.web.js");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
/**
|
|
12
|
+
* MinimizedToolsStack — Web twin of MinimizedToolsStack.tsx +
|
|
13
|
+
* shared-ui's ExpandablePopover (inlined: the popover is only used here on
|
|
14
|
+
* web). A vertical stack of minimized-tool icons fused to the top of the
|
|
15
|
+
* floating bubble's drag handle:
|
|
16
|
+
* - collapsed: a 28px "peek" tab (chevron-up + count) with top corners only
|
|
17
|
+
* - expanded: animated-height panel, icons newest-first, collapse chevron
|
|
18
|
+
* - expanded state persists under "@react_buoy_minimized_stack_expanded"
|
|
19
|
+
* - each icon runs the native randomized glitch loop (translateX shake +
|
|
20
|
+
* opacity flicker + scale pulse, 80ms), scheduled every 2-6s + index*300ms
|
|
21
|
+
*
|
|
22
|
+
* Data comes from the web AppHost (openApps with minimized === true) instead
|
|
23
|
+
* of the native MinimizedToolsContext — same derivation the MinimizedDock
|
|
24
|
+
* used before this replaced it.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
// native MinimizedToolsStack.tsx constants
|
|
28
|
+
const PEEK_HEIGHT = 28;
|
|
29
|
+
const TOOL_ITEM_SIZE = 32;
|
|
30
|
+
const ICON_GAP = 6;
|
|
31
|
+
const TOOLBAR_PADDING = 8;
|
|
32
|
+
const COLLAPSE_BUTTON_SIZE = 24;
|
|
33
|
+
const STORAGE_KEY_EXPANDED = '@react_buoy_minimized_stack_expanded';
|
|
34
|
+
const GLITCH_DURATION_MS = 80;
|
|
35
|
+
const MIN_GLITCH_DELAY = 2000;
|
|
36
|
+
const MAX_GLITCH_DELAY = 6000;
|
|
37
|
+
|
|
38
|
+
// native shared-ui buoyColors (gameUIColors.ts) — card + textMuted
|
|
39
|
+
const CARD = '#1A1A1A';
|
|
40
|
+
const TEXT_MUTED = '#888888';
|
|
41
|
+
function ChevronGlyph({
|
|
42
|
+
down = false
|
|
43
|
+
}) {
|
|
44
|
+
// native: ChevronUp size 12, strokeWidth 2, buoyColors.textMuted
|
|
45
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
|
|
46
|
+
width: 12,
|
|
47
|
+
height: 12,
|
|
48
|
+
viewBox: "0 0 24 24",
|
|
49
|
+
"aria-hidden": "true",
|
|
50
|
+
style: {
|
|
51
|
+
transform: down ? 'rotate(180deg)' : undefined
|
|
52
|
+
},
|
|
53
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
54
|
+
d: "M18 15l-6-6-6 6",
|
|
55
|
+
fill: "none",
|
|
56
|
+
stroke: TEXT_MUTED,
|
|
57
|
+
strokeWidth: "2",
|
|
58
|
+
strokeLinecap: "round",
|
|
59
|
+
strokeLinejoin: "round"
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function GlitchToolButton({
|
|
64
|
+
title,
|
|
65
|
+
icon,
|
|
66
|
+
index,
|
|
67
|
+
onPress
|
|
68
|
+
}) {
|
|
69
|
+
const innerRef = (0, _react.useRef)(null);
|
|
70
|
+
(0, _react.useEffect)(() => {
|
|
71
|
+
let mounted = true;
|
|
72
|
+
let timer;
|
|
73
|
+
const runGlitch = () => {
|
|
74
|
+
// native: parallel translateX shake / opacity flicker / scale pulse,
|
|
75
|
+
// all inside GLITCH_DURATION_MS — one WAAPI animation with offsets.
|
|
76
|
+
innerRef.current?.animate([{
|
|
77
|
+
transform: 'translateX(0) scale(1)',
|
|
78
|
+
opacity: 1,
|
|
79
|
+
offset: 0
|
|
80
|
+
}, {
|
|
81
|
+
transform: 'translateX(3px) scale(1.05)',
|
|
82
|
+
opacity: 0.4,
|
|
83
|
+
offset: 0.2
|
|
84
|
+
}, {
|
|
85
|
+
transform: 'translateX(-3px) scale(1.1)',
|
|
86
|
+
opacity: 1,
|
|
87
|
+
offset: 0.4
|
|
88
|
+
}, {
|
|
89
|
+
transform: 'translateX(2px) scale(1.0)',
|
|
90
|
+
opacity: 0.6,
|
|
91
|
+
offset: 0.6
|
|
92
|
+
}, {
|
|
93
|
+
transform: 'translateX(-1px) scale(0.95)',
|
|
94
|
+
opacity: 1,
|
|
95
|
+
offset: 0.8
|
|
96
|
+
}, {
|
|
97
|
+
transform: 'translateX(0) scale(1)',
|
|
98
|
+
opacity: 1,
|
|
99
|
+
offset: 1
|
|
100
|
+
}], {
|
|
101
|
+
duration: GLITCH_DURATION_MS,
|
|
102
|
+
easing: 'linear'
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
const schedule = initial => {
|
|
106
|
+
const delay = initial ? 500 + Math.random() * 1500 + index * 200 : MIN_GLITCH_DELAY + Math.random() * (MAX_GLITCH_DELAY - MIN_GLITCH_DELAY) + index * 300;
|
|
107
|
+
timer = setTimeout(() => {
|
|
108
|
+
if (!mounted) return;
|
|
109
|
+
runGlitch();
|
|
110
|
+
schedule(false);
|
|
111
|
+
}, delay);
|
|
112
|
+
};
|
|
113
|
+
schedule(true);
|
|
114
|
+
return () => {
|
|
115
|
+
mounted = false;
|
|
116
|
+
clearTimeout(timer);
|
|
117
|
+
};
|
|
118
|
+
}, [index]);
|
|
119
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
120
|
+
type: "button",
|
|
121
|
+
"aria-label": `Restore ${title}`,
|
|
122
|
+
onClick: onPress,
|
|
123
|
+
style: {
|
|
124
|
+
width: TOOL_ITEM_SIZE,
|
|
125
|
+
height: TOOL_ITEM_SIZE,
|
|
126
|
+
display: 'flex',
|
|
127
|
+
alignItems: 'center',
|
|
128
|
+
justifyContent: 'center',
|
|
129
|
+
background: 'none',
|
|
130
|
+
border: 'none',
|
|
131
|
+
padding: 0,
|
|
132
|
+
cursor: 'pointer'
|
|
133
|
+
},
|
|
134
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
135
|
+
ref: innerRef,
|
|
136
|
+
style: {
|
|
137
|
+
display: 'flex',
|
|
138
|
+
alignItems: 'center',
|
|
139
|
+
justifyContent: 'center'
|
|
140
|
+
},
|
|
141
|
+
children: icon
|
|
142
|
+
})
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
function MinimizedToolsStack({
|
|
146
|
+
containerWidth = 32
|
|
147
|
+
}) {
|
|
148
|
+
const {
|
|
149
|
+
openApps,
|
|
150
|
+
restore
|
|
151
|
+
} = (0, _AppHostWeb.useAppHost)();
|
|
152
|
+
const minimized = openApps.filter(app => app.minimized && app.launchMode !== 'toggle-only');
|
|
153
|
+
const [isExpanded, setIsExpanded] = (0, _react.useState)(false);
|
|
154
|
+
const [isStateRestored, setIsStateRestored] = (0, _react.useState)(false);
|
|
155
|
+
|
|
156
|
+
// Restore + persist the expanded flag (native ExpandablePopover persistState).
|
|
157
|
+
(0, _react.useEffect)(() => {
|
|
158
|
+
let cancelled = false;
|
|
159
|
+
const load = async () => {
|
|
160
|
+
const saved = await _sharedUi.persistentStorage.getItem(STORAGE_KEY_EXPANDED);
|
|
161
|
+
if (!cancelled && saved === 'true') setIsExpanded(true);
|
|
162
|
+
if (!cancelled) setIsStateRestored(true);
|
|
163
|
+
};
|
|
164
|
+
void load();
|
|
165
|
+
return () => {
|
|
166
|
+
cancelled = true;
|
|
167
|
+
};
|
|
168
|
+
}, []);
|
|
169
|
+
(0, _react.useEffect)(() => {
|
|
170
|
+
if (!isStateRestored) return;
|
|
171
|
+
void _sharedUi.persistentStorage.setItem(STORAGE_KEY_EXPANDED, isExpanded ? 'true' : 'false');
|
|
172
|
+
}, [isExpanded, isStateRestored]);
|
|
173
|
+
const handleRestore = (0, _react.useCallback)(instanceId => {
|
|
174
|
+
restore(instanceId);
|
|
175
|
+
}, [restore]);
|
|
176
|
+
if (minimized.length === 0) return null;
|
|
177
|
+
|
|
178
|
+
// native: expandedHeight = padding + n*item + (n-1)*gap + gap + collapse + 4
|
|
179
|
+
const expandedHeight = TOOLBAR_PADDING + minimized.length * TOOL_ITEM_SIZE + (minimized.length - 1) * ICON_GAP + ICON_GAP + COLLAPSE_BUTTON_SIZE + 4;
|
|
180
|
+
const frame = {
|
|
181
|
+
// native peekButton/expandedContainer: card bg, top corners 6, 1px border
|
|
182
|
+
// on top/left/right only (fuses with the bubble below)
|
|
183
|
+
backgroundColor: CARD,
|
|
184
|
+
borderTopLeftRadius: 6,
|
|
185
|
+
borderTopRightRadius: 6,
|
|
186
|
+
borderTop: `1px solid ${TEXT_MUTED}66`,
|
|
187
|
+
borderLeft: `1px solid ${TEXT_MUTED}66`,
|
|
188
|
+
borderRight: `1px solid ${TEXT_MUTED}66`,
|
|
189
|
+
borderBottom: 'none',
|
|
190
|
+
boxSizing: 'border-box'
|
|
191
|
+
};
|
|
192
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
193
|
+
style: {
|
|
194
|
+
height: PEEK_HEIGHT,
|
|
195
|
+
overflow: 'visible',
|
|
196
|
+
position: 'relative'
|
|
197
|
+
},
|
|
198
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
199
|
+
style: {
|
|
200
|
+
position: 'absolute',
|
|
201
|
+
bottom: 0,
|
|
202
|
+
left: 0,
|
|
203
|
+
width: containerWidth,
|
|
204
|
+
height: isExpanded ? expandedHeight : 0,
|
|
205
|
+
opacity: isExpanded ? 1 : 0,
|
|
206
|
+
overflow: 'hidden',
|
|
207
|
+
transition: 'height 200ms ease, opacity 200ms ease',
|
|
208
|
+
pointerEvents: isExpanded ? 'auto' : 'none',
|
|
209
|
+
...frame
|
|
210
|
+
},
|
|
211
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
212
|
+
style: {
|
|
213
|
+
height: expandedHeight,
|
|
214
|
+
display: 'flex',
|
|
215
|
+
flexDirection: 'column',
|
|
216
|
+
alignItems: 'center',
|
|
217
|
+
paddingTop: TOOLBAR_PADDING,
|
|
218
|
+
gap: ICON_GAP,
|
|
219
|
+
boxSizing: 'border-box'
|
|
220
|
+
},
|
|
221
|
+
children: [[...minimized].reverse().map((app, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(GlitchToolButton, {
|
|
222
|
+
title: app.title || app.id,
|
|
223
|
+
icon: app.icon ?? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
224
|
+
style: {
|
|
225
|
+
color: '#fff',
|
|
226
|
+
fontSize: 13
|
|
227
|
+
},
|
|
228
|
+
children: (app.title || app.id).slice(0, 1).toUpperCase()
|
|
229
|
+
}),
|
|
230
|
+
index: index,
|
|
231
|
+
onPress: () => handleRestore(app.instanceId)
|
|
232
|
+
}, app.instanceId)), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
233
|
+
type: "button",
|
|
234
|
+
"aria-label": "Collapse",
|
|
235
|
+
onClick: () => setIsExpanded(false),
|
|
236
|
+
style: {
|
|
237
|
+
width: '100%',
|
|
238
|
+
height: COLLAPSE_BUTTON_SIZE,
|
|
239
|
+
marginTop: 3,
|
|
240
|
+
display: 'flex',
|
|
241
|
+
alignItems: 'center',
|
|
242
|
+
justifyContent: 'center',
|
|
243
|
+
background: 'none',
|
|
244
|
+
border: 'none',
|
|
245
|
+
cursor: 'pointer',
|
|
246
|
+
padding: 0
|
|
247
|
+
},
|
|
248
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ChevronGlyph, {
|
|
249
|
+
down: true
|
|
250
|
+
})
|
|
251
|
+
})]
|
|
252
|
+
})
|
|
253
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
|
|
254
|
+
type: "button",
|
|
255
|
+
"aria-label": `Show ${minimized.length} minimized tools`,
|
|
256
|
+
onClick: () => setIsExpanded(true),
|
|
257
|
+
style: {
|
|
258
|
+
position: 'absolute',
|
|
259
|
+
bottom: 0,
|
|
260
|
+
left: 0,
|
|
261
|
+
width: containerWidth,
|
|
262
|
+
height: PEEK_HEIGHT,
|
|
263
|
+
display: 'flex',
|
|
264
|
+
flexDirection: 'row',
|
|
265
|
+
alignItems: 'center',
|
|
266
|
+
justifyContent: 'center',
|
|
267
|
+
gap: 2,
|
|
268
|
+
cursor: 'pointer',
|
|
269
|
+
padding: 0,
|
|
270
|
+
opacity: isExpanded ? 0 : 1,
|
|
271
|
+
transform: isExpanded ? 'scale(0.9)' : 'scale(1)',
|
|
272
|
+
transition: 'opacity 200ms ease, transform 200ms ease',
|
|
273
|
+
pointerEvents: isExpanded ? 'none' : 'auto',
|
|
274
|
+
...frame
|
|
275
|
+
},
|
|
276
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ChevronGlyph, {}), minimized.length > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
277
|
+
style: {
|
|
278
|
+
fontSize: 9,
|
|
279
|
+
fontWeight: 600,
|
|
280
|
+
color: TEXT_MUTED,
|
|
281
|
+
marginLeft: 1
|
|
282
|
+
},
|
|
283
|
+
children: minimized.length
|
|
284
|
+
})]
|
|
285
|
+
})]
|
|
286
|
+
});
|
|
287
|
+
}
|
|
@@ -318,6 +318,22 @@ function autoDiscoverPresets() {
|
|
|
318
318
|
return null;
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
|
+
},
|
|
322
|
+
// ASSETS — bundled-asset inventory (sizes / scale coverage / unused)
|
|
323
|
+
{
|
|
324
|
+
name: "@buoy-gg/assets",
|
|
325
|
+
loader: () => {
|
|
326
|
+
try {
|
|
327
|
+
// @ts-ignore - Dynamic import that may not exist
|
|
328
|
+
const {
|
|
329
|
+
assetsToolPreset
|
|
330
|
+
} = require("@buoy-gg/assets");
|
|
331
|
+
return assetsToolPreset;
|
|
332
|
+
} catch (e) {
|
|
333
|
+
(0, _optionalRequire.reportOptionalRequireError)("@buoy-gg/assets", e);
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
321
337
|
}];
|
|
322
338
|
|
|
323
339
|
// Attempt to load each preset
|
|
@@ -51,6 +51,7 @@ let impersonateModule = null;
|
|
|
51
51
|
let perfMonitorModule = null;
|
|
52
52
|
let jsTopModule = null;
|
|
53
53
|
let imagesModule = null;
|
|
54
|
+
let assetsModule = null;
|
|
54
55
|
let expoConstantsModule = null;
|
|
55
56
|
|
|
56
57
|
// Catch bodies report through reportOptionalRequireError: silent for a
|
|
@@ -141,6 +142,11 @@ try {
|
|
|
141
142
|
} catch (e) {
|
|
142
143
|
(0, _optionalRequire.reportOptionalRequireError)("@buoy-gg/images", e);
|
|
143
144
|
}
|
|
145
|
+
try {
|
|
146
|
+
assetsModule = require("@buoy-gg/assets");
|
|
147
|
+
} catch (e) {
|
|
148
|
+
(0, _optionalRequire.reportOptionalRequireError)("@buoy-gg/assets", e);
|
|
149
|
+
}
|
|
144
150
|
try {
|
|
145
151
|
expoConstantsModule = require("expo-constants");
|
|
146
152
|
} catch (e) {
|
|
@@ -275,6 +281,9 @@ function AutoExternalSync({
|
|
|
275
281
|
if (imagesModule?.imagesSyncAdapter) {
|
|
276
282
|
map.images = imagesModule.imagesSyncAdapter;
|
|
277
283
|
}
|
|
284
|
+
if (assetsModule?.assetsSyncAdapter) {
|
|
285
|
+
map.assets = assetsModule.assetsSyncAdapter;
|
|
286
|
+
}
|
|
278
287
|
return map;
|
|
279
288
|
}, [queryAdapter, requiredEnvVars]);
|
|
280
289
|
useExternalSync({
|
|
@@ -13,8 +13,8 @@ var _DialPagination = require("./DialPagination.js");
|
|
|
13
13
|
var _dialUsageStore = require("./dialUsageStore.js");
|
|
14
14
|
var _DevToolsSettingsModal = require("../DevToolsSettingsModal");
|
|
15
15
|
var _license = require("@buoy-gg/license");
|
|
16
|
-
var _AppHost = require("../AppHost
|
|
17
|
-
var _OnboardingTooltip = require("./OnboardingTooltip
|
|
16
|
+
var _AppHost = require("../AppHost");
|
|
17
|
+
var _OnboardingTooltip = require("./OnboardingTooltip");
|
|
18
18
|
var _floatingToolsCore = require("@buoy-gg/floating-tools-core");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
20
|
// Icons are provided by installedApps; no direct icon imports here.
|
|
@@ -230,8 +230,11 @@ const DialDevTools = ({
|
|
|
230
230
|
map.set(tool.id, {
|
|
231
231
|
id: tool.id,
|
|
232
232
|
name: tool.name,
|
|
233
|
-
// Pre-render the icon at the standard
|
|
234
|
-
|
|
233
|
+
// Pre-render the icon at the standard GLYPH size (not the slot size —
|
|
234
|
+
// the slot also holds the label + "Unavailable" caption, so a glyph
|
|
235
|
+
// rendered at DIAL_ICON_SIZE overflows the slot and looks ~2x bigger
|
|
236
|
+
// than installed tools' icons).
|
|
237
|
+
icon: tool.renderIcon(_floatingToolsCore.DIAL_ICON_GLYPH_SIZE),
|
|
235
238
|
iconComponent: undefined,
|
|
236
239
|
color: tool.color,
|
|
237
240
|
unavailable: true,
|