@buoy-gg/core 7.0.16 → 7.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/floatingMenu/AppHost.js +18 -0
- package/lib/commonjs/floatingMenu/FloatingMenu.js +2 -1
- package/lib/commonjs/floatingMenu/ToolHost.js +264 -0
- package/lib/commonjs/floatingMenu/allToolsRegistry.js +7 -0
- package/lib/commonjs/floatingMenu/autoDiscoverPresets.js +16 -0
- package/lib/commonjs/floatingMenu/autoExternalSync.js +9 -0
- package/lib/commonjs/floatingMenu/dial/DialDevTools.js +2 -1
- package/lib/commonjs/index.js +27 -0
- package/lib/commonjs/toolkit.js +427 -0
- package/lib/module/floatingMenu/AppHost.js +18 -0
- package/lib/module/floatingMenu/FloatingMenu.js +2 -1
- package/lib/module/floatingMenu/ToolHost.js +256 -0
- package/lib/module/floatingMenu/allToolsRegistry.js +8 -1
- package/lib/module/floatingMenu/autoDiscoverPresets.js +16 -0
- package/lib/module/floatingMenu/autoExternalSync.js +9 -0
- package/lib/module/floatingMenu/dial/DialDevTools.js +2 -1
- package/lib/module/index.js +6 -0
- package/lib/module/toolkit.js +45 -0
- package/lib/typescript/commonjs/floatingMenu/AppHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/AppHostLogic.d.ts +3 -0
- package/lib/typescript/commonjs/floatingMenu/AppHostLogic.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/FloatingMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/floatingMenu/ToolHost.d.ts +72 -0
- package/lib/typescript/commonjs/floatingMenu/ToolHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/floatingMenu/allToolsRegistry.d.ts.map +1 -1
- 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/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/types.d.ts +30 -1
- package/lib/typescript/commonjs/floatingMenu/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/toolkit.d.ts +22 -0
- package/lib/typescript/commonjs/toolkit.d.ts.map +1 -0
- package/lib/typescript/module/floatingMenu/AppHost.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/AppHostLogic.d.ts +3 -0
- package/lib/typescript/module/floatingMenu/AppHostLogic.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/FloatingMenu.d.ts.map +1 -1
- package/lib/typescript/module/floatingMenu/ToolHost.d.ts +72 -0
- package/lib/typescript/module/floatingMenu/ToolHost.d.ts.map +1 -0
- package/lib/typescript/module/floatingMenu/allToolsRegistry.d.ts.map +1 -1
- 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/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/types.d.ts +30 -1
- package/lib/typescript/module/floatingMenu/types.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/toolkit.d.ts +22 -0
- package/lib/typescript/module/toolkit.d.ts.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ToolHost — the declarative chrome layer for custom tools.
|
|
5
|
+
*
|
|
6
|
+
* When an `InstalledApp` declares `modal: {...}`, the AppHost renders its
|
|
7
|
+
* component inside `ToolModalShell` instead of raw: the shared JsModal
|
|
8
|
+
* (drag/resize, floating⇄bottom-sheet, minimize, dimension persistence) plus
|
|
9
|
+
* a managed header (title/subtitle, back navigation, search, actions) and a
|
|
10
|
+
* lightweight toast layer. The tool body talks back to the shell through
|
|
11
|
+
* `useToolHost()` / `useToolHeader()`.
|
|
12
|
+
*/
|
|
13
|
+
import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
14
|
+
import { Animated, StyleSheet, Text, View } from "react-native";
|
|
15
|
+
import { JsModal, ModalHeader, HeaderSearchButton, devToolsStorageKeys, buoyColors, gameUIColors } from "@buoy-gg/shared-ui";
|
|
16
|
+
|
|
17
|
+
/** Per-screen header overrides a tool body can apply (see `useToolHeader`). */
|
|
18
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
|
+
const noop = () => {};
|
|
20
|
+
const FALLBACK_CONTEXT = {
|
|
21
|
+
search: "",
|
|
22
|
+
isSearchActive: false,
|
|
23
|
+
clearSearch: noop,
|
|
24
|
+
close: noop,
|
|
25
|
+
showToast: noop,
|
|
26
|
+
setHeaderOverride: noop
|
|
27
|
+
};
|
|
28
|
+
const ToolHostContext = /*#__PURE__*/createContext(null);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Access the hosting shell from a custom tool body: search query, toasts,
|
|
32
|
+
* close. Safe to call outside the shell (returns inert no-ops) so tool
|
|
33
|
+
* components can also be mounted standalone.
|
|
34
|
+
*/
|
|
35
|
+
export function useToolHost() {
|
|
36
|
+
return useContext(ToolHostContext) ?? FALLBACK_CONTEXT;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Declare per-screen header state (title/subtitle/actions/back) from inside a
|
|
41
|
+
* tool body. Applies while the calling component is mounted and reverts to
|
|
42
|
+
* the preset's static config on unmount — so a detail screen simply mounts
|
|
43
|
+
* with its own header and the list header returns when it unmounts.
|
|
44
|
+
*
|
|
45
|
+
* ```tsx
|
|
46
|
+
* useToolHeader(
|
|
47
|
+
* { title: flag.key, onBack: () => setScreen("list"), actions: <CopyButton value={flag} /> },
|
|
48
|
+
* [flag.key]
|
|
49
|
+
* );
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export function useToolHeader(override, deps) {
|
|
53
|
+
const {
|
|
54
|
+
setHeaderOverride
|
|
55
|
+
} = useToolHost();
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
setHeaderOverride(override);
|
|
58
|
+
return () => setHeaderOverride(null);
|
|
59
|
+
// Caller-provided deps intentionally control when the override refreshes.
|
|
60
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
+
}, deps);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// ---------------------------------------------------------------------------
|
|
65
|
+
// Toast layer
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
|
|
68
|
+
const TOAST_DURATION_MS = 2200;
|
|
69
|
+
const TOAST_COLORS = {
|
|
70
|
+
success: gameUIColors.success,
|
|
71
|
+
error: gameUIColors.error,
|
|
72
|
+
info: gameUIColors.info
|
|
73
|
+
};
|
|
74
|
+
function ToastView({
|
|
75
|
+
message,
|
|
76
|
+
type,
|
|
77
|
+
nonce
|
|
78
|
+
}) {
|
|
79
|
+
const opacity = useRef(new Animated.Value(0)).current;
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
opacity.setValue(0);
|
|
82
|
+
Animated.sequence([Animated.timing(opacity, {
|
|
83
|
+
toValue: 1,
|
|
84
|
+
duration: 150,
|
|
85
|
+
useNativeDriver: true
|
|
86
|
+
}), Animated.delay(TOAST_DURATION_MS - 450), Animated.timing(opacity, {
|
|
87
|
+
toValue: 0,
|
|
88
|
+
duration: 300,
|
|
89
|
+
useNativeDriver: true
|
|
90
|
+
})]).start();
|
|
91
|
+
}, [nonce, opacity]);
|
|
92
|
+
const color = TOAST_COLORS[type];
|
|
93
|
+
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
94
|
+
pointerEvents: "none",
|
|
95
|
+
style: [styles.toast, {
|
|
96
|
+
opacity,
|
|
97
|
+
borderColor: color + "60"
|
|
98
|
+
}],
|
|
99
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
100
|
+
style: [styles.toastDot, {
|
|
101
|
+
backgroundColor: color
|
|
102
|
+
}]
|
|
103
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
104
|
+
style: styles.toastText,
|
|
105
|
+
numberOfLines: 2,
|
|
106
|
+
children: message
|
|
107
|
+
})]
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// ---------------------------------------------------------------------------
|
|
112
|
+
// Shell
|
|
113
|
+
// ---------------------------------------------------------------------------
|
|
114
|
+
|
|
115
|
+
export function ToolModalShell({
|
|
116
|
+
app,
|
|
117
|
+
config,
|
|
118
|
+
visible,
|
|
119
|
+
zIndex,
|
|
120
|
+
onClose,
|
|
121
|
+
onMinimize,
|
|
122
|
+
initialModalState,
|
|
123
|
+
enableSharedModalDimensions,
|
|
124
|
+
bodyProps
|
|
125
|
+
}) {
|
|
126
|
+
const Body = app.component;
|
|
127
|
+
const [isSearchActive, setIsSearchActive] = useState(false);
|
|
128
|
+
const [search, setSearch] = useState("");
|
|
129
|
+
const [headerOverride, setHeaderOverride] = useState(null);
|
|
130
|
+
const [toast, setToast] = useState(null);
|
|
131
|
+
const toastTimeoutRef = useRef(null);
|
|
132
|
+
const clearSearch = useCallback(() => {
|
|
133
|
+
setIsSearchActive(false);
|
|
134
|
+
setSearch("");
|
|
135
|
+
}, []);
|
|
136
|
+
const showToast = useCallback((message, type = "info") => {
|
|
137
|
+
if (toastTimeoutRef.current) clearTimeout(toastTimeoutRef.current);
|
|
138
|
+
setToast(prev => ({
|
|
139
|
+
message,
|
|
140
|
+
type,
|
|
141
|
+
nonce: (prev?.nonce ?? 0) + 1
|
|
142
|
+
}));
|
|
143
|
+
toastTimeoutRef.current = setTimeout(() => setToast(null), TOAST_DURATION_MS);
|
|
144
|
+
}, []);
|
|
145
|
+
useEffect(() => {
|
|
146
|
+
return () => {
|
|
147
|
+
if (toastTimeoutRef.current) clearTimeout(toastTimeoutRef.current);
|
|
148
|
+
};
|
|
149
|
+
}, []);
|
|
150
|
+
const contextValue = useMemo(() => ({
|
|
151
|
+
search: isSearchActive ? search : "",
|
|
152
|
+
isSearchActive,
|
|
153
|
+
clearSearch,
|
|
154
|
+
close: onClose,
|
|
155
|
+
showToast,
|
|
156
|
+
setHeaderOverride,
|
|
157
|
+
instanceId: app.instanceId
|
|
158
|
+
}), [search, isSearchActive, clearSearch, onClose, showToast, app.instanceId]);
|
|
159
|
+
const title = headerOverride?.title ?? config.title ?? app.title ?? app.id;
|
|
160
|
+
const subtitle = headerOverride?.subtitle ?? config.subtitle;
|
|
161
|
+
const onBack = headerOverride?.onBack;
|
|
162
|
+
const actions = headerOverride?.actions ?? config.headerActions;
|
|
163
|
+
|
|
164
|
+
// Tool-scoped persistence via the custom namespace unless the user has the
|
|
165
|
+
// shared-dimensions global setting on (all tools share one window size).
|
|
166
|
+
const persistenceKey = enableSharedModalDimensions ? devToolsStorageKeys.modal.root() : devToolsStorageKeys.custom(app.id).modal();
|
|
167
|
+
const header = /*#__PURE__*/_jsxs(ModalHeader, {
|
|
168
|
+
children: [onBack && !isSearchActive && /*#__PURE__*/_jsx(ModalHeader.Navigation, {
|
|
169
|
+
onBack: onBack
|
|
170
|
+
}), isSearchActive ? /*#__PURE__*/_jsx(ModalHeader.Search, {
|
|
171
|
+
value: search,
|
|
172
|
+
onChangeText: setSearch,
|
|
173
|
+
onCancel: clearSearch,
|
|
174
|
+
placeholder: config.searchPlaceholder
|
|
175
|
+
}) : /*#__PURE__*/_jsx(ModalHeader.Content, {
|
|
176
|
+
title: title,
|
|
177
|
+
subtitle: subtitle
|
|
178
|
+
}), /*#__PURE__*/_jsxs(ModalHeader.Actions, {
|
|
179
|
+
children: [!isSearchActive && actions, config.searchable && !isSearchActive && /*#__PURE__*/_jsx(HeaderSearchButton, {
|
|
180
|
+
onPress: () => setIsSearchActive(true)
|
|
181
|
+
})]
|
|
182
|
+
})]
|
|
183
|
+
});
|
|
184
|
+
return /*#__PURE__*/_jsx(ToolHostContext.Provider, {
|
|
185
|
+
value: contextValue,
|
|
186
|
+
children: /*#__PURE__*/_jsx(JsModal, {
|
|
187
|
+
visible: visible,
|
|
188
|
+
onClose: onClose,
|
|
189
|
+
onBack: onBack,
|
|
190
|
+
onMinimize: onMinimize,
|
|
191
|
+
initialModalState: initialModalState,
|
|
192
|
+
zIndex: zIndex,
|
|
193
|
+
persistenceKey: persistenceKey,
|
|
194
|
+
enablePersistence: true,
|
|
195
|
+
initialMode: config.initialMode ?? "bottomSheet",
|
|
196
|
+
header: {
|
|
197
|
+
customContent: header,
|
|
198
|
+
showToggleButton: true
|
|
199
|
+
}
|
|
200
|
+
// Tool bodies own their scrolling (ScrollView/FlatList) — the shell
|
|
201
|
+
// must not add a competing wrapper.
|
|
202
|
+
,
|
|
203
|
+
disableScrollWrapper: true,
|
|
204
|
+
styles: {},
|
|
205
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
206
|
+
style: styles.bodyRoot,
|
|
207
|
+
children: [/*#__PURE__*/_jsx(Body, {
|
|
208
|
+
...bodyProps
|
|
209
|
+
}), toast && /*#__PURE__*/_jsx(ToastView, {
|
|
210
|
+
message: toast.message,
|
|
211
|
+
type: toast.type,
|
|
212
|
+
nonce: toast.nonce
|
|
213
|
+
})]
|
|
214
|
+
})
|
|
215
|
+
})
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
const styles = StyleSheet.create({
|
|
219
|
+
bodyRoot: {
|
|
220
|
+
flex: 1,
|
|
221
|
+
minHeight: 0,
|
|
222
|
+
backgroundColor: buoyColors.base
|
|
223
|
+
},
|
|
224
|
+
toast: {
|
|
225
|
+
position: "absolute",
|
|
226
|
+
bottom: 16,
|
|
227
|
+
alignSelf: "center",
|
|
228
|
+
flexDirection: "row",
|
|
229
|
+
alignItems: "center",
|
|
230
|
+
gap: 8,
|
|
231
|
+
maxWidth: "86%",
|
|
232
|
+
backgroundColor: buoyColors.card,
|
|
233
|
+
borderWidth: 1,
|
|
234
|
+
borderRadius: 8,
|
|
235
|
+
paddingHorizontal: 12,
|
|
236
|
+
paddingVertical: 8,
|
|
237
|
+
shadowColor: "#000",
|
|
238
|
+
shadowOpacity: 0.4,
|
|
239
|
+
shadowRadius: 8,
|
|
240
|
+
shadowOffset: {
|
|
241
|
+
width: 0,
|
|
242
|
+
height: 2
|
|
243
|
+
},
|
|
244
|
+
elevation: 6
|
|
245
|
+
},
|
|
246
|
+
toastDot: {
|
|
247
|
+
width: 6,
|
|
248
|
+
height: 6,
|
|
249
|
+
borderRadius: 3
|
|
250
|
+
},
|
|
251
|
+
toastText: {
|
|
252
|
+
flex: 1,
|
|
253
|
+
fontSize: 12,
|
|
254
|
+
color: buoyColors.text
|
|
255
|
+
}
|
|
256
|
+
});
|
|
@@ -27,7 +27,7 @@ import { ImageOverlayIcon } from "@buoy-gg/shared-ui";
|
|
|
27
27
|
// in shared/icons/*.json and generated into @buoy-gg/floating-tools-core, which
|
|
28
28
|
// IS a required dependency. Unavailable items therefore render the ACTUAL tool
|
|
29
29
|
// icon (just dimmed by DialIcon), and it can no longer drift from the real one.
|
|
30
|
-
import { ZustandIcon, ZUSTAND_ICON_COLOR, JotaiIcon, JOTAI_ICON_COLOR, IMAGE_OVERLAY_ICON_COLOR } from "@buoy-gg/floating-tools-core";
|
|
30
|
+
import { ZustandIcon, ZUSTAND_ICON_COLOR, JotaiIcon, JOTAI_ICON_COLOR, IMAGE_OVERLAY_ICON_COLOR, TimeMachineIcon, TIME_MACHINE_ICON_COLOR } from "@buoy-gg/floating-tools-core";
|
|
31
31
|
|
|
32
32
|
// ─── Registry entry type ──────────────────────────────────────────────────────
|
|
33
33
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -109,6 +109,13 @@ export const ALL_TOOLS_REGISTRY = [{
|
|
|
109
109
|
renderIcon: size => /*#__PURE__*/_jsx(EventsIcon, {
|
|
110
110
|
size: size
|
|
111
111
|
})
|
|
112
|
+
}, {
|
|
113
|
+
id: "time-machine",
|
|
114
|
+
name: "TIME MACHINE",
|
|
115
|
+
color: TIME_MACHINE_ICON_COLOR,
|
|
116
|
+
renderIcon: size => /*#__PURE__*/_jsx(TimeMachineIcon, {
|
|
117
|
+
size: size
|
|
118
|
+
})
|
|
112
119
|
}, {
|
|
113
120
|
id: "jotai",
|
|
114
121
|
name: "JOTAI",
|
|
@@ -185,6 +185,22 @@ export function autoDiscoverPresets() {
|
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
},
|
|
188
|
+
// Time Machine
|
|
189
|
+
{
|
|
190
|
+
name: "@buoy-gg/time-machine",
|
|
191
|
+
loader: () => {
|
|
192
|
+
try {
|
|
193
|
+
// @ts-ignore - Dynamic import that may not exist
|
|
194
|
+
const {
|
|
195
|
+
timeMachineToolPreset
|
|
196
|
+
} = require("@buoy-gg/time-machine");
|
|
197
|
+
return timeMachineToolPreset;
|
|
198
|
+
} catch (e) {
|
|
199
|
+
reportOptionalRequireError("@buoy-gg/time-machine", e);
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
},
|
|
188
204
|
// Redux DevTools
|
|
189
205
|
{
|
|
190
206
|
name: "@buoy-gg/redux",
|
|
@@ -39,6 +39,7 @@ let zustandModule = null;
|
|
|
39
39
|
let jotaiModule = null;
|
|
40
40
|
let eventsModule = null;
|
|
41
41
|
let consoleModule = null;
|
|
42
|
+
let timeMachineModule = null;
|
|
42
43
|
let envModule = null;
|
|
43
44
|
let highlightUpdatesModule = null;
|
|
44
45
|
let debugBordersModule = null;
|
|
@@ -102,6 +103,11 @@ try {
|
|
|
102
103
|
} catch (e) {
|
|
103
104
|
reportOptionalRequireError("@buoy-gg/console", e);
|
|
104
105
|
}
|
|
106
|
+
try {
|
|
107
|
+
timeMachineModule = require("@buoy-gg/time-machine");
|
|
108
|
+
} catch (e) {
|
|
109
|
+
reportOptionalRequireError("@buoy-gg/time-machine", e);
|
|
110
|
+
}
|
|
105
111
|
try {
|
|
106
112
|
envModule = require("@buoy-gg/env");
|
|
107
113
|
} catch (e) {
|
|
@@ -255,6 +261,9 @@ export function AutoExternalSync({
|
|
|
255
261
|
if (consoleModule?.consoleSyncAdapter) {
|
|
256
262
|
map.console = consoleModule.consoleSyncAdapter;
|
|
257
263
|
}
|
|
264
|
+
if (timeMachineModule?.timeMachineSyncAdapter) {
|
|
265
|
+
map["time-machine"] = timeMachineModule.timeMachineSyncAdapter;
|
|
266
|
+
}
|
|
258
267
|
if (envModule?.createEnvSyncAdapter) {
|
|
259
268
|
map.env = envModule.createEnvSyncAdapter(requiredEnvVars ?? []);
|
|
260
269
|
}
|
package/lib/module/index.js
CHANGED
|
@@ -20,6 +20,12 @@ export { DevToolsSettingsModal, useDevToolsSettings } from "./floatingMenu/DevTo
|
|
|
20
20
|
// Export AppHost components for advanced use cases
|
|
21
21
|
export { AppHostProvider, AppOverlay, useAppHost } from "./floatingMenu/AppHost";
|
|
22
22
|
|
|
23
|
+
// Declarative chrome for custom tools (pairs with InstalledApp.modal)
|
|
24
|
+
export { useToolHost, useToolHeader } from "./floatingMenu/ToolHost.js";
|
|
25
|
+
|
|
26
|
+
// The custom-tools toolkit: blessed shared-ui components/hooks/tokens
|
|
27
|
+
export * from "./toolkit.js";
|
|
28
|
+
|
|
23
29
|
// Export DevTools visibility tracking
|
|
24
30
|
export { DevToolsVisibilityProvider, useDevToolsVisibility } from "./floatingMenu/DevToolsVisibilityContext.js";
|
|
25
31
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The public custom-tools toolkit — the blessed subset of Buoy's shared UI
|
|
5
|
+
* re-exported from `@buoy-gg/core`, so third-party tool authors need exactly
|
|
6
|
+
* one dependency and never touch `@buoy-gg/shared-ui` (which stays internal
|
|
7
|
+
* and free to churn).
|
|
8
|
+
*
|
|
9
|
+
* Everything here is considered API: additions are minor bumps, removals are
|
|
10
|
+
* major. If a component you want is missing, that's deliberate — request it
|
|
11
|
+
* rather than deep-importing.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
// ---- Theme tokens ---------------------------------------------------------
|
|
15
|
+
export { toolTheme } from "@buoy-gg/shared-ui";
|
|
16
|
+
|
|
17
|
+
// ---- Layout / lists -------------------------------------------------------
|
|
18
|
+
export { CompactRow, SectionHeader, TabSelector, EmptyState, NoDataEmptyState, NoResultsEmptyState, NoSearchResultsEmptyState } from "@buoy-gg/shared-ui";
|
|
19
|
+
|
|
20
|
+
// ---- Badges ---------------------------------------------------------------
|
|
21
|
+
export { Badge, StatusBadge, CountBadge, TypeBadge, MethodBadge } from "@buoy-gg/shared-ui";
|
|
22
|
+
|
|
23
|
+
// ---- Buttons --------------------------------------------------------------
|
|
24
|
+
export { ToolButton, CopyButton, InlineCopyButton, ToolbarCopyButton, ToolbarClearButton, PowerToggleButton, HeaderSearchButton } from "@buoy-gg/shared-ui";
|
|
25
|
+
|
|
26
|
+
// ---- Detail / data display ------------------------------------------------
|
|
27
|
+
export { EventStepperFooter } from "@buoy-gg/shared-ui";
|
|
28
|
+
export { DataViewer } from "@buoy-gg/shared-ui/dataViewer";
|
|
29
|
+
|
|
30
|
+
// ---- Time -----------------------------------------------------------------
|
|
31
|
+
export { RelativeTime, formatRelativeTime } from "@buoy-gg/shared-ui";
|
|
32
|
+
|
|
33
|
+
// ---- Persistence ----------------------------------------------------------
|
|
34
|
+
export { persistentStorage, devToolsStorageKeys, usePersistedState } from "@buoy-gg/shared-ui";
|
|
35
|
+
|
|
36
|
+
// ---- Hooks / utils --------------------------------------------------------
|
|
37
|
+
export { useSafeAreaInsets, copyToClipboard, displayValue, safeStringify } from "@buoy-gg/shared-ui";
|
|
38
|
+
|
|
39
|
+
// ---- Manual chrome (advanced) --------------------------------------------
|
|
40
|
+
// Most tools should use `InstalledApp.modal` + `useToolHost` instead; these
|
|
41
|
+
// exist for tools that need full control of their shell.
|
|
42
|
+
export { JsModal, ModalHeader } from "@buoy-gg/shared-ui";
|
|
43
|
+
|
|
44
|
+
// ---- Icons (curated lucide set) ------------------------------------------
|
|
45
|
+
export { Activity, AlertTriangle, Bug, Check, CheckCircle, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Clock, Copy, Database, Eye, EyeOff, FileJson, FileText, Filter, FlaskConical, Globe, Hash, Info, Key, Layers, Lock, Pause, Play, Plus, Power, RefreshCw, Search, Settings, Shield, Trash2, User, Wifi, X, Zap } from "@buoy-gg/shared-ui";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppHost.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/AppHost.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAQZ,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,WAAW,EAIZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"AppHost.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/AppHost.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAQZ,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,WAAW,EAIZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAIjC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,KAAK,MAAM,CAAC;IACvD,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACrC,wDAAwD;IACxD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mFAAmF;IACnF,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACxE,4CAA4C;IAC5C,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C,CAAC;AAaF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,sBA4NpE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,2BAgBtB,CAAC;AAkHF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,gCAsFtB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from "react";
|
|
2
|
+
import type { ToolModalConfig } from "./types";
|
|
2
3
|
/**
|
|
3
4
|
* Modal state to restore when reopening a minimized tool. Defined here (the
|
|
4
5
|
* platform-free logic module) so the web host doesn't pull in the native
|
|
@@ -37,6 +38,8 @@ export type AppInstance = {
|
|
|
37
38
|
color?: string;
|
|
38
39
|
/** Modal state to restore when un-minimizing */
|
|
39
40
|
restoreState?: ModalRestoreState;
|
|
41
|
+
/** Declarative chrome config — when set, AppHost wraps the component in the shared modal shell. */
|
|
42
|
+
modal?: ToolModalConfig;
|
|
40
43
|
};
|
|
41
44
|
export type OpenDefinition = Omit<AppInstance, "instanceId">;
|
|
42
45
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppHostLogic.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/AppHostLogic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AppHostLogic.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/AppHostLogic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC;IACjC,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,mCAAmC;IACnC,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qCAAqC;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,mGAAmG;IACnG,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,WAAW,EAAE,EACtB,KAAK,cAAc,EACnB,YAAY,MAAM,MAAM,KACvB;IAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAuBlE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingMenu.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/FloatingMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAqD,MAAM,OAAO,CAAC;AASrF,OAAO,EAAiB,QAAQ,EAAc,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AActD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC;IACtC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1D;AAWD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"FloatingMenu.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/FloatingMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAqD,MAAM,OAAO,CAAC;AASrF,OAAO,EAAiB,QAAQ,EAAc,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AActD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC;IACtC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1D;AAWD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAyU9C,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ToolHost — the declarative chrome layer for custom tools.
|
|
3
|
+
*
|
|
4
|
+
* When an `InstalledApp` declares `modal: {...}`, the AppHost renders its
|
|
5
|
+
* component inside `ToolModalShell` instead of raw: the shared JsModal
|
|
6
|
+
* (drag/resize, floating⇄bottom-sheet, minimize, dimension persistence) plus
|
|
7
|
+
* a managed header (title/subtitle, back navigation, search, actions) and a
|
|
8
|
+
* lightweight toast layer. The tool body talks back to the shell through
|
|
9
|
+
* `useToolHost()` / `useToolHeader()`.
|
|
10
|
+
*/
|
|
11
|
+
import React, { type DependencyList, type ReactNode } from "react";
|
|
12
|
+
import type { AppInstance, ModalRestoreState } from "./AppHostLogic";
|
|
13
|
+
import type { ToolModalConfig } from "./types";
|
|
14
|
+
/** Per-screen header overrides a tool body can apply (see `useToolHeader`). */
|
|
15
|
+
export interface ToolHeaderOverride {
|
|
16
|
+
title?: string;
|
|
17
|
+
subtitle?: string;
|
|
18
|
+
/** Replaces the preset's static `headerActions` while active. */
|
|
19
|
+
actions?: ReactNode;
|
|
20
|
+
/** Shows the back chevron (and wires JsModal's top-left tap zone). */
|
|
21
|
+
onBack?: () => void;
|
|
22
|
+
}
|
|
23
|
+
export type ToolToastType = "success" | "error" | "info";
|
|
24
|
+
export interface ToolHostContextValue {
|
|
25
|
+
/** Current header-search query ("" while search is closed). */
|
|
26
|
+
search: string;
|
|
27
|
+
isSearchActive: boolean;
|
|
28
|
+
/** Close and clear the header search. */
|
|
29
|
+
clearSearch: () => void;
|
|
30
|
+
/** Close this tool. */
|
|
31
|
+
close: () => void;
|
|
32
|
+
/** Show a transient toast inside the tool modal. */
|
|
33
|
+
showToast: (message: string, type?: ToolToastType) => void;
|
|
34
|
+
/** Low-level header override setter — prefer `useToolHeader`. */
|
|
35
|
+
setHeaderOverride: (override: ToolHeaderOverride | null) => void;
|
|
36
|
+
/** Instance id assigned by the AppHost. */
|
|
37
|
+
instanceId?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Access the hosting shell from a custom tool body: search query, toasts,
|
|
41
|
+
* close. Safe to call outside the shell (returns inert no-ops) so tool
|
|
42
|
+
* components can also be mounted standalone.
|
|
43
|
+
*/
|
|
44
|
+
export declare function useToolHost(): ToolHostContextValue;
|
|
45
|
+
/**
|
|
46
|
+
* Declare per-screen header state (title/subtitle/actions/back) from inside a
|
|
47
|
+
* tool body. Applies while the calling component is mounted and reverts to
|
|
48
|
+
* the preset's static config on unmount — so a detail screen simply mounts
|
|
49
|
+
* with its own header and the list header returns when it unmounts.
|
|
50
|
+
*
|
|
51
|
+
* ```tsx
|
|
52
|
+
* useToolHeader(
|
|
53
|
+
* { title: flag.key, onBack: () => setScreen("list"), actions: <CopyButton value={flag} /> },
|
|
54
|
+
* [flag.key]
|
|
55
|
+
* );
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function useToolHeader(override: ToolHeaderOverride | null, deps: DependencyList): void;
|
|
59
|
+
interface ToolModalShellProps {
|
|
60
|
+
app: AppInstance;
|
|
61
|
+
config: ToolModalConfig;
|
|
62
|
+
visible: boolean;
|
|
63
|
+
zIndex: number;
|
|
64
|
+
onClose: () => void;
|
|
65
|
+
onMinimize: (modalState?: ModalRestoreState) => void;
|
|
66
|
+
initialModalState?: ModalRestoreState;
|
|
67
|
+
enableSharedModalDimensions?: boolean;
|
|
68
|
+
bodyProps: Record<string, unknown>;
|
|
69
|
+
}
|
|
70
|
+
export declare function ToolModalShell({ app, config, visible, zIndex, onClose, onMinimize, initialModalState, enableSharedModalDimensions, bodyProps, }: ToolModalShellProps): React.JSX.Element;
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=ToolHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolHost.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/ToolHost.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,EAQZ,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAUf,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,uBAAuB;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3D,iEAAiE;IACjE,iBAAiB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAcD;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,oBAAoB,CAElD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EACnC,IAAI,EAAE,cAAc,QASrB;AAiDD,UAAU,mBAAmB;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAQD,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GACV,EAAE,mBAAmB,qBAiGrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allToolsRegistry.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/allToolsRegistry.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"allToolsRegistry.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/allToolsRegistry.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AA0C1B,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CAC/C;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,EA+E7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoDiscoverPresets.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/autoDiscoverPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"autoDiscoverPresets.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/autoDiscoverPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CAkSpD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,YAAY,EAAE,GAC1B,YAAY,EAAE,CAahB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoExternalSync.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/autoExternalSync.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"autoExternalSync.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/autoExternalSync.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA4IvD,iFAAiF;AACjF,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAuBD,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,eAAe,EACf,KAAK,EACL,UAAU,GACX,EAAE,qBAAqB,QAyHvB"}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* All known tool IDs that can appear in the floating menu or dial menu.
|
|
20
20
|
* This is a union type of all auto-discovered tool IDs.
|
|
21
21
|
*/
|
|
22
|
-
export type BuiltInToolId = 'env' | 'network' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
|
|
22
|
+
export type BuiltInToolId = 'env' | 'network' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'time-machine' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
|
|
23
23
|
/**
|
|
24
24
|
* Special floating-only tool IDs that only appear in the floating bubble row.
|
|
25
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/defaultConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,SAAS,GACT,SAAS,GACT,OAAO,GACP,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,mBAAmB,GACnB,yBAAyB,GACzB,OAAO,GACP,SAAS,GACT,OAAO,GACP,QAAQ,GACR,eAAe,GACf,cAAc,GACd,oBAAoB,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,kBAAkB,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,cAAc,EAAE,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,EAAE,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAW9E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,cAAc,EAAE,EAC1B,CAAC,SAAS,UAAU,EAAE,EACtB,MAAM,EAAE;IACR,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,CAAC;CACV,GAAG;IACF,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;CACrB,CAUA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,cAAc,CAcjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,UAAU,CAazD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,GAAG,EAAE,CAAC,EAAE,EACR,cAAc,EAAE,CAAC,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
|
|
1
|
+
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/defaultConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,SAAS,GACT,SAAS,GACT,OAAO,GACP,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,mBAAmB,GACnB,yBAAyB,GACzB,OAAO,GACP,SAAS,GACT,OAAO,GACP,QAAQ,GACR,cAAc,GACd,eAAe,GACf,cAAc,GACd,oBAAoB,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,kBAAkB,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,cAAc,EAAE,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,EAAE,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAW9E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,cAAc,EAAE,EAC1B,CAAC,SAAS,UAAU,EAAE,EACtB,MAAM,EAAE;IACR,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,CAAC;CACV,GAAG;IACF,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;CACrB,CAUA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,cAAc,CAcjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,UAAU,CAazD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,GAAG,EAAE,CAAC,EAAE,EACR,cAAc,EAAE,CAAC,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialDevTools.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/DialDevTools.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAgC5E,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAqBlB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAAE,KAAK,SAAS,CAAC;IAC/H,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAWF,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"DialDevTools.d.ts","sourceRoot":"","sources":["../../../../../src/floatingMenu/dial/DialDevTools.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAgC5E,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAqBlB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;KAAE,KAAK,SAAS,CAAC;IAC/H,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAWF,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAurB9C,CAAC"}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
|
-
import { ComponentType } from "react";
|
|
1
|
+
import { ComponentType, ReactNode } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Declarative modal chrome for a custom tool. When present (with the default
|
|
4
|
+
* `self-modal` launch mode), the AppHost wraps `component` in the shared
|
|
5
|
+
* JsModal + header shell — drag/resize, floating⇄bottom-sheet, minimize,
|
|
6
|
+
* window controls, dimension persistence, header search and toasts all come
|
|
7
|
+
* for free, and `component` renders just the tool BODY.
|
|
8
|
+
*
|
|
9
|
+
* Without `modal`, `self-modal` components are rendered raw and must provide
|
|
10
|
+
* their own chrome (this is what Buoy's first-party tools do).
|
|
11
|
+
*/
|
|
12
|
+
export interface ToolModalConfig {
|
|
13
|
+
/** Header title; defaults to the app's `name`. */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Secondary line under the title. */
|
|
16
|
+
subtitle?: string;
|
|
17
|
+
/** Show the header search button; the query is read via `useToolHost().search`. */
|
|
18
|
+
searchable?: boolean;
|
|
19
|
+
searchPlaceholder?: string;
|
|
20
|
+
/** Static header action buttons (elements may be stateful components). */
|
|
21
|
+
headerActions?: ReactNode;
|
|
22
|
+
/** Starting presentation; users can toggle and it persists. Default "bottomSheet". */
|
|
23
|
+
initialMode?: "bottomSheet" | "floating";
|
|
24
|
+
}
|
|
2
25
|
/** Where a tool should render within the floating menu surface. */
|
|
3
26
|
export type AppSlot = "row" | "dial" | "both";
|
|
4
27
|
/** Generic, dynamic context shared with floating tools. */
|
|
@@ -35,6 +58,12 @@ export interface InstalledApp {
|
|
|
35
58
|
color?: string;
|
|
36
59
|
/** Plug-and-play launching component handled by the AppHost. */
|
|
37
60
|
component: ComponentType<any>;
|
|
61
|
+
/**
|
|
62
|
+
* Declarative chrome: when set, `component` is rendered as a plain body
|
|
63
|
+
* inside the shared modal shell (JsModal + header + search + toasts).
|
|
64
|
+
* See {@link ToolModalConfig}.
|
|
65
|
+
*/
|
|
66
|
+
modal?: ToolModalConfig;
|
|
38
67
|
/** Props to pass to the launched component (e.g. requiredEnvVars). */
|
|
39
68
|
props?: Record<string, unknown>;
|
|
40
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/floatingMenu/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,sFAAsF;IACtF,WAAW,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;CAC1C;AAED,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACxD,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,2DAA2D;IAC3D,IAAI,EAAE,OAAO,CAAC;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEF,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1E,oEAAoE;IACpE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gEAAgE;IAChE,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;IACpE,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACnD"}
|
|
@@ -12,6 +12,8 @@ export * from "./floatingMenu/types";
|
|
|
12
12
|
export { DevToolsSettingsModal, useDevToolsSettings, } from "./floatingMenu/DevToolsSettingsModal";
|
|
13
13
|
export type { DevToolsSettings, GlobalDevToolsSettings } from "./floatingMenu/DevToolsSettingsModal";
|
|
14
14
|
export { AppHostProvider, AppOverlay, useAppHost, } from "./floatingMenu/AppHost";
|
|
15
|
+
export { useToolHost, useToolHeader, type ToolHostContextValue, type ToolHeaderOverride, type ToolToastType, } from "./floatingMenu/ToolHost";
|
|
16
|
+
export * from "./toolkit";
|
|
15
17
|
export { DevToolsVisibilityProvider, useDevToolsVisibility, } from "./floatingMenu/DevToolsVisibilityContext";
|
|
16
18
|
export { toggleStateManager } from "./floatingMenu/ToggleStateManager";
|
|
17
19
|
export { MinimizedToolsProvider, useMinimizedTools, getIconPosition, getIconSize, } from "./floatingMenu/MinimizedToolsContext";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAI3E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EACL,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAGrG,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,GACX,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,WAAW,GACZ,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAIzE,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,KAAK,EACL,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAI3E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EACL,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAGrG,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,GACX,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,yBAAyB,CAAC;AAGjC,cAAc,WAAW,CAAC;AAG1B,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,WAAW,GACZ,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAIzE,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,KAAK,EACL,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC"}
|