@buoy-gg/shared-ui 1.7.7 → 2.1.1
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/JsModal.js +33 -8
- package/lib/commonjs/clipboard/clipboard-impl.js +1 -1
- package/lib/commonjs/clipboard/copyToClipboard.js +0 -2
- package/lib/commonjs/dataViewer/diffThemes.js +35 -32
- package/lib/commonjs/history/HistoryProvider.js +246 -0
- package/lib/commonjs/history/components/HistoryEntryRow.js +146 -0
- package/lib/commonjs/history/components/HistoryList.js +174 -0
- package/lib/commonjs/history/components/index.js +25 -0
- package/lib/commonjs/history/index.js +61 -0
- package/lib/commonjs/history/types.js +5 -0
- package/lib/commonjs/hooks/safe-area-impl.js +1 -1
- package/lib/commonjs/hooks/useSafeAreaInsets.js +1 -22
- package/lib/commonjs/index.js +37 -46
- package/lib/commonjs/license/FeatureGate.js +13 -42
- package/lib/commonjs/license/index.js +43 -1
- package/lib/commonjs/settings/components/BubbleSettingsSection.js +7 -7
- package/lib/commonjs/storage/devToolsStorageKeys.js +11 -0
- package/lib/commonjs/ui/components/CopyButton.js +14 -29
- package/lib/commonjs/ui/components/DevToolsCard.js +106 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/EventHistoryViewer.js +2 -1
- package/lib/commonjs/ui/components/ExpandablePopover.js +13 -13
- package/lib/commonjs/ui/components/index.js +13 -0
- package/lib/commonjs/utils/formatting/httpFormatting.js +0 -6
- package/lib/commonjs/utils/index.js +0 -31
- package/lib/module/JsModal.js +33 -8
- package/lib/module/clipboard/clipboard-impl.js +1 -1
- package/lib/module/clipboard/copyToClipboard.js +0 -2
- package/lib/module/dataViewer/diffThemes.js +35 -32
- package/lib/module/history/HistoryProvider.js +237 -0
- package/lib/module/history/components/HistoryEntryRow.js +142 -0
- package/lib/module/history/components/HistoryList.js +169 -0
- package/lib/module/history/components/index.js +8 -0
- package/lib/module/history/index.js +15 -0
- package/lib/module/history/types.js +3 -0
- package/lib/module/hooks/safe-area-impl.js +1 -1
- package/lib/module/hooks/useSafeAreaInsets.js +0 -20
- package/lib/module/index.js +5 -4
- package/lib/module/license/FeatureGate.js +11 -40
- package/lib/module/license/index.js +41 -1
- package/lib/module/settings/components/BubbleSettingsSection.js +7 -7
- package/lib/module/storage/devToolsStorageKeys.js +11 -0
- package/lib/module/ui/components/CopyButton.js +12 -28
- package/lib/module/ui/components/DevToolsCard.js +102 -0
- package/lib/module/ui/components/EventHistoryViewer/EventHistoryViewer.js +2 -1
- package/lib/module/ui/components/ExpandablePopover.js +14 -14
- package/lib/module/ui/components/index.js +1 -0
- package/lib/module/utils/formatting/httpFormatting.js +0 -6
- package/lib/module/utils/index.js +0 -1
- package/lib/typescript/commonjs/JsModal.d.ts +2 -0
- package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/clipboard/clipboard-impl.d.ts +1 -1
- package/lib/typescript/commonjs/clipboard/copyToClipboard.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts +1 -1
- package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts.map +1 -1
- package/lib/typescript/commonjs/history/HistoryProvider.d.ts +56 -0
- package/lib/typescript/commonjs/history/HistoryProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/history/components/HistoryEntryRow.d.ts +22 -0
- package/lib/typescript/commonjs/history/components/HistoryEntryRow.d.ts.map +1 -0
- package/lib/typescript/commonjs/history/components/HistoryList.d.ts +47 -0
- package/lib/typescript/commonjs/history/components/HistoryList.d.ts.map +1 -0
- package/lib/typescript/commonjs/history/components/index.d.ts +6 -0
- package/lib/typescript/commonjs/history/components/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/history/index.d.ts +9 -0
- package/lib/typescript/commonjs/history/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/history/types.d.ts +171 -0
- package/lib/typescript/commonjs/history/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/commonjs/hooks/useSafeAreaInsets.d.ts +0 -13
- package/lib/typescript/commonjs/hooks/useSafeAreaInsets.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/FeatureGate.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/LicenseEntryModal.d.ts +5 -0
- package/lib/typescript/commonjs/license/LicenseEntryModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/index.d.ts +15 -0
- package/lib/typescript/commonjs/license/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts +11 -0
- package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/CopyButton.d.ts +0 -2
- package/lib/typescript/commonjs/ui/components/CopyButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts +54 -0
- package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventHistoryViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/index.d.ts +2 -0
- package/lib/typescript/commonjs/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/formatting/httpFormatting.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/index.d.ts +0 -1
- package/lib/typescript/commonjs/utils/index.d.ts.map +1 -1
- package/lib/typescript/module/JsModal.d.ts +2 -0
- package/lib/typescript/module/JsModal.d.ts.map +1 -1
- package/lib/typescript/module/clipboard/clipboard-impl.d.ts +1 -1
- package/lib/typescript/module/clipboard/copyToClipboard.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/diffThemes.d.ts +1 -1
- package/lib/typescript/module/dataViewer/diffThemes.d.ts.map +1 -1
- package/lib/typescript/module/history/HistoryProvider.d.ts +56 -0
- package/lib/typescript/module/history/HistoryProvider.d.ts.map +1 -0
- package/lib/typescript/module/history/components/HistoryEntryRow.d.ts +22 -0
- package/lib/typescript/module/history/components/HistoryEntryRow.d.ts.map +1 -0
- package/lib/typescript/module/history/components/HistoryList.d.ts +47 -0
- package/lib/typescript/module/history/components/HistoryList.d.ts.map +1 -0
- package/lib/typescript/module/history/components/index.d.ts +6 -0
- package/lib/typescript/module/history/components/index.d.ts.map +1 -0
- package/lib/typescript/module/history/index.d.ts +9 -0
- package/lib/typescript/module/history/index.d.ts.map +1 -0
- package/lib/typescript/module/history/types.d.ts +171 -0
- package/lib/typescript/module/history/types.d.ts.map +1 -0
- package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/module/hooks/useSafeAreaInsets.d.ts +0 -13
- package/lib/typescript/module/hooks/useSafeAreaInsets.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +3 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/license/FeatureGate.d.ts.map +1 -1
- package/lib/typescript/module/license/LicenseEntryModal.d.ts +5 -0
- package/lib/typescript/module/license/LicenseEntryModal.d.ts.map +1 -1
- package/lib/typescript/module/license/index.d.ts +15 -0
- package/lib/typescript/module/license/index.d.ts.map +1 -1
- package/lib/typescript/module/storage/devToolsStorageKeys.d.ts +11 -0
- package/lib/typescript/module/storage/devToolsStorageKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/CopyButton.d.ts +0 -2
- package/lib/typescript/module/ui/components/CopyButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/DevToolsCard.d.ts +54 -0
- package/lib/typescript/module/ui/components/DevToolsCard.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/EventHistoryViewer/EventHistoryViewer.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/index.d.ts +2 -0
- package/lib/typescript/module/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/module/utils/formatting/httpFormatting.d.ts.map +1 -1
- package/lib/typescript/module/utils/index.d.ts +0 -1
- package/lib/typescript/module/utils/index.d.ts.map +1 -1
- package/package.json +31 -7
- package/scripts/detect-clipboard.js +63 -1
- package/scripts/detect-safe-area.js +63 -1
- package/lib/commonjs/utils/safeAsyncStorage.js +0 -71
- package/lib/module/utils/safeAsyncStorage.js +0 -64
- package/lib/typescript/commonjs/utils/safeAsyncStorage.d.ts +0 -35
- package/lib/typescript/commonjs/utils/safeAsyncStorage.d.ts.map +0 -1
- package/lib/typescript/module/utils/safeAsyncStorage.d.ts +0 -35
- package/lib/typescript/module/utils/safeAsyncStorage.d.ts.map +0 -1
|
@@ -216,26 +216,6 @@ export const SafeAreaConfig = {
|
|
|
216
216
|
}
|
|
217
217
|
};
|
|
218
218
|
|
|
219
|
-
/**
|
|
220
|
-
* Compatibility hook that returns the window frame dimensions
|
|
221
|
-
*
|
|
222
|
-
* @returns Frame object with x, y, width, height properties
|
|
223
|
-
*
|
|
224
|
-
* @deprecated Use Dimensions.get("window") directly instead
|
|
225
|
-
*/
|
|
226
|
-
export const useSafeAreaFrame = () => {
|
|
227
|
-
const {
|
|
228
|
-
width,
|
|
229
|
-
height
|
|
230
|
-
} = Dimensions.get("window");
|
|
231
|
-
return {
|
|
232
|
-
x: 0,
|
|
233
|
-
y: 0,
|
|
234
|
-
width,
|
|
235
|
-
height
|
|
236
|
-
};
|
|
237
|
-
};
|
|
238
|
-
|
|
239
219
|
/**
|
|
240
220
|
* Export the pure JS implementation directly for compatibility
|
|
241
221
|
*
|
package/lib/module/index.js
CHANGED
|
@@ -9,9 +9,7 @@ export {
|
|
|
9
9
|
displayValue, parseDisplayValue,
|
|
10
10
|
// Safe area utilities
|
|
11
11
|
getSafeAreaInsets,
|
|
12
|
-
//
|
|
13
|
-
safeGetItem, safeSetItem, safeRemoveItem, isPersistentStorageAvailable, useSafeAsyncStorage,
|
|
14
|
-
// Persistent storage utilities (new)
|
|
12
|
+
// Persistent storage utilities
|
|
15
13
|
persistentStorage, isUsingPersistentStorage, getStorageBackendType,
|
|
16
14
|
// String utilities
|
|
17
15
|
safeStringify,
|
|
@@ -54,5 +52,8 @@ export { EnvironmentSelectorInline } from "./env/EnvironmentSelectorInline.js";
|
|
|
54
52
|
// Context exports
|
|
55
53
|
export { HintsProvider, useHintsDisabled, useHintsContext } from "./context/index.js";
|
|
56
54
|
|
|
55
|
+
// History DevTools exports
|
|
56
|
+
export * from "./history/index.js";
|
|
57
|
+
|
|
57
58
|
// License/Feature gating exports
|
|
58
|
-
export { FeatureGate, UpgradePrompt, useFeatureGate, ProFeatureBanner, UpgradeModal, LicenseEntryModal, ManageDevicesModal, ProBadge, ProUpgradeModal } from "./license/index.js";
|
|
59
|
+
export { FeatureGate, UpgradePrompt, useFeatureGate, ProFeatureBanner, UpgradeModal, LicenseEntryModal, ManageDevicesModal, ProBadge, ProUpgradeModal, getUseIsPro, getUseLicense } from "./license/index.js";
|
|
@@ -11,6 +11,7 @@ import { View, Text, StyleSheet, TouchableOpacity, Linking, Modal } from "react-
|
|
|
11
11
|
import { gameUIColors, buoyColors } from "../ui/gameUI/constants/gameUIColors.js";
|
|
12
12
|
import { LockIcon, X, Zap, Shield, Clock, Check } from "../icons/lucide-icons.js";
|
|
13
13
|
import { LicenseEntryModal } from "./LicenseEntryModal.js";
|
|
14
|
+
import { useIsPro, useLicense } from "@buoy-gg/license";
|
|
14
15
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
15
16
|
/**
|
|
16
17
|
* Simple Pro badge for marking premium features
|
|
@@ -42,32 +43,6 @@ export const ProUpgradeModal = ({
|
|
|
42
43
|
description: `${featureName} requires a Pro subscription.`
|
|
43
44
|
});
|
|
44
45
|
};
|
|
45
|
-
|
|
46
|
-
// Lazy load the license hooks to avoid circular dependencies
|
|
47
|
-
let _useIsPro = null;
|
|
48
|
-
let _useLicense = null;
|
|
49
|
-
let _loadAttempted = false;
|
|
50
|
-
function loadLicenseModule() {
|
|
51
|
-
if (_loadAttempted) return;
|
|
52
|
-
_loadAttempted = true;
|
|
53
|
-
try {
|
|
54
|
-
const mod = require("@buoy-gg/license");
|
|
55
|
-
if (mod) {
|
|
56
|
-
_useIsPro = mod.useIsPro ?? null;
|
|
57
|
-
_useLicense = mod.useLicense ?? null;
|
|
58
|
-
}
|
|
59
|
-
} catch {
|
|
60
|
-
// License package not available - will use fallback
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
function getUseIsPro() {
|
|
64
|
-
loadLicenseModule();
|
|
65
|
-
return _useIsPro ?? (() => false);
|
|
66
|
-
}
|
|
67
|
-
function getUseLicense() {
|
|
68
|
-
loadLicenseModule();
|
|
69
|
-
return _useLicense;
|
|
70
|
-
}
|
|
71
46
|
/**
|
|
72
47
|
* Default upgrade prompt shown when user doesn't have Pro access
|
|
73
48
|
* Opens LicenseEntryModal when clicked (unless custom onUpgradePress provided)
|
|
@@ -78,10 +53,7 @@ export const UpgradePrompt = ({
|
|
|
78
53
|
compact = false
|
|
79
54
|
}) => {
|
|
80
55
|
const [showLicenseModal, setShowLicenseModal] = useState(false);
|
|
81
|
-
|
|
82
|
-
// Get license hook if available
|
|
83
|
-
const useLicenseHook = getUseLicense();
|
|
84
|
-
const license = useLicenseHook?.();
|
|
56
|
+
const license = useLicense();
|
|
85
57
|
const handlePress = useCallback(() => {
|
|
86
58
|
if (onUpgradePress) {
|
|
87
59
|
onUpgradePress();
|
|
@@ -165,7 +137,6 @@ export const FeatureGate = ({
|
|
|
165
137
|
previewMode = false,
|
|
166
138
|
onUpgradePress
|
|
167
139
|
}) => {
|
|
168
|
-
const useIsPro = getUseIsPro();
|
|
169
140
|
const isPro = useIsPro();
|
|
170
141
|
|
|
171
142
|
// Pro users see the full content
|
|
@@ -213,7 +184,6 @@ export const FeatureGate = ({
|
|
|
213
184
|
* Returns { hasAccess, isPro, showUpgrade }
|
|
214
185
|
*/
|
|
215
186
|
export function useFeatureGate() {
|
|
216
|
-
const useIsPro = getUseIsPro();
|
|
217
187
|
const isPro = useIsPro();
|
|
218
188
|
const showUpgrade = () => {
|
|
219
189
|
Linking.openURL("https://buoy.gg/pro");
|
|
@@ -236,10 +206,7 @@ export const ProFeatureBanner = ({
|
|
|
236
206
|
benefits
|
|
237
207
|
}) => {
|
|
238
208
|
const [showLicenseModal, setShowLicenseModal] = useState(false);
|
|
239
|
-
|
|
240
|
-
// Get license hook if available
|
|
241
|
-
const useLicenseHook = getUseLicense();
|
|
242
|
-
const license = useLicenseHook?.();
|
|
209
|
+
const license = useLicense();
|
|
243
210
|
const handleUpgrade = useCallback(() => {
|
|
244
211
|
setShowLicenseModal(true);
|
|
245
212
|
}, []);
|
|
@@ -315,16 +282,19 @@ export const UpgradeModal = ({
|
|
|
315
282
|
}) => {
|
|
316
283
|
const hasBenefits = benefits && benefits.length > 0;
|
|
317
284
|
const [showLicenseModal, setShowLicenseModal] = useState(false);
|
|
318
|
-
|
|
319
|
-
// Get license hook if available
|
|
320
|
-
const useLicenseHook = getUseLicense();
|
|
321
|
-
const license = useLicenseHook?.();
|
|
285
|
+
const license = useLicense();
|
|
322
286
|
const handleUpgrade = useCallback(() => {
|
|
323
287
|
setShowLicenseModal(true);
|
|
324
288
|
}, []);
|
|
325
289
|
const handleCloseLicenseModal = useCallback(() => {
|
|
326
290
|
setShowLicenseModal(false);
|
|
327
291
|
}, []);
|
|
292
|
+
|
|
293
|
+
// When license activation succeeds, close both modals
|
|
294
|
+
const handleLicenseSuccess = useCallback(() => {
|
|
295
|
+
setShowLicenseModal(false);
|
|
296
|
+
onClose();
|
|
297
|
+
}, [onClose]);
|
|
328
298
|
if (!visible) return null;
|
|
329
299
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
330
300
|
children: [/*#__PURE__*/_jsx(Modal, {
|
|
@@ -428,6 +398,7 @@ export const UpgradeModal = ({
|
|
|
428
398
|
}), /*#__PURE__*/_jsx(LicenseEntryModal, {
|
|
429
399
|
visible: showLicenseModal,
|
|
430
400
|
onClose: handleCloseLicenseModal,
|
|
401
|
+
onSuccess: handleLicenseSuccess,
|
|
431
402
|
license: license
|
|
432
403
|
})]
|
|
433
404
|
});
|
|
@@ -2,4 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
export { FeatureGate, UpgradePrompt, useFeatureGate, ProFeatureBanner, UpgradeModal, ProBadge, ProUpgradeModal } from "./FeatureGate.js";
|
|
4
4
|
export { LicenseEntryModal } from "./LicenseEntryModal.js";
|
|
5
|
-
export { ManageDevicesModal } from "./ManageDevicesModal.js";
|
|
5
|
+
export { ManageDevicesModal } from "./ManageDevicesModal.js";
|
|
6
|
+
// Centralized lazy loading for license hooks to avoid duplication across packages
|
|
7
|
+
// This is the SINGLE source of truth - all packages should import from here
|
|
8
|
+
let _useIsPro = null;
|
|
9
|
+
let _useLicense = null;
|
|
10
|
+
let _licenseLoadAttempted = false;
|
|
11
|
+
function loadLicenseModuleCentral() {
|
|
12
|
+
if (_licenseLoadAttempted) return;
|
|
13
|
+
_licenseLoadAttempted = true;
|
|
14
|
+
try {
|
|
15
|
+
const mod = require("@buoy-gg/license");
|
|
16
|
+
if (mod) {
|
|
17
|
+
_useIsPro = mod.useIsPro ?? null;
|
|
18
|
+
_useLicense = mod.useLicense ?? null;
|
|
19
|
+
}
|
|
20
|
+
} catch {
|
|
21
|
+
// License package not available - will use fallback
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Get the useIsPro hook from @buoy-gg/license
|
|
27
|
+
* Falls back to () => false if license package is not available
|
|
28
|
+
*
|
|
29
|
+
* IMPORTANT: Use this instead of doing your own lazy loading in other packages
|
|
30
|
+
*/
|
|
31
|
+
export function getUseIsPro() {
|
|
32
|
+
loadLicenseModuleCentral();
|
|
33
|
+
return _useIsPro ?? (() => false);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Get the useLicense hook from @buoy-gg/license
|
|
38
|
+
* Returns null if license package is not available
|
|
39
|
+
*
|
|
40
|
+
* IMPORTANT: Use this instead of doing your own lazy loading in other packages
|
|
41
|
+
*/
|
|
42
|
+
export function getUseLicense() {
|
|
43
|
+
loadLicenseModuleCentral();
|
|
44
|
+
return _useLicense;
|
|
45
|
+
}
|
|
@@ -5,7 +5,7 @@ import { Settings, EyeOff, Database } from "../../icons/index.js";
|
|
|
5
5
|
import { useState, useEffect } from "react";
|
|
6
6
|
import { CyberpunkSectionButton } from "../../ui/console/CyberpunkSectionButton.js";
|
|
7
7
|
import { devToolsStorageKeys } from "../../storage/devToolsStorageKeys.js";
|
|
8
|
-
import {
|
|
8
|
+
import { persistentStorage } from "../../utils/persistentStorage.js";
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
const STORAGE_KEY = devToolsStorageKeys.bubble.settings();
|
|
11
11
|
const USER_PREFERENCES_KEY = devToolsStorageKeys.bubble.userPreferences();
|
|
@@ -26,7 +26,7 @@ export function BubbleSettingsSection({
|
|
|
26
26
|
}, []);
|
|
27
27
|
const loadSettings = async () => {
|
|
28
28
|
try {
|
|
29
|
-
const stored = await
|
|
29
|
+
const stored = await persistentStorage.getItem(STORAGE_KEY);
|
|
30
30
|
if (stored) {
|
|
31
31
|
setSettings(JSON.parse(stored));
|
|
32
32
|
}
|
|
@@ -58,7 +58,7 @@ export function BubbleSettingsDetail({
|
|
|
58
58
|
}, []);
|
|
59
59
|
const loadSettings = async () => {
|
|
60
60
|
try {
|
|
61
|
-
const stored = await
|
|
61
|
+
const stored = await persistentStorage.getItem(STORAGE_KEY);
|
|
62
62
|
if (stored) {
|
|
63
63
|
setSettings(JSON.parse(stored));
|
|
64
64
|
}
|
|
@@ -70,7 +70,7 @@ export function BubbleSettingsDetail({
|
|
|
70
70
|
};
|
|
71
71
|
const saveSettings = async newSettings => {
|
|
72
72
|
try {
|
|
73
|
-
await
|
|
73
|
+
await persistentStorage.setItem(STORAGE_KEY, JSON.stringify(newSettings));
|
|
74
74
|
setSettings(newSettings);
|
|
75
75
|
// Trigger the callback to reload settings in the parent
|
|
76
76
|
onSettingsChange?.(newSettings);
|
|
@@ -86,14 +86,14 @@ export function BubbleSettingsDetail({
|
|
|
86
86
|
|
|
87
87
|
// Mark this preference as explicitly set by the user
|
|
88
88
|
try {
|
|
89
|
-
const prefsStored = await
|
|
89
|
+
const prefsStored = await persistentStorage.getItem(USER_PREFERENCES_KEY);
|
|
90
90
|
const currentPrefs = prefsStored ? JSON.parse(prefsStored) : {};
|
|
91
91
|
const prefKey = key.replace("show", "hasSet");
|
|
92
92
|
const updatedPrefs = {
|
|
93
93
|
...currentPrefs,
|
|
94
94
|
[prefKey]: true
|
|
95
95
|
};
|
|
96
|
-
await
|
|
96
|
+
await persistentStorage.setItem(USER_PREFERENCES_KEY, JSON.stringify(updatedPrefs));
|
|
97
97
|
} catch (error) {
|
|
98
98
|
console.error("Failed to save user preference marker:", error);
|
|
99
99
|
}
|
|
@@ -230,7 +230,7 @@ export function BubbleSettingsDetail({
|
|
|
230
230
|
}
|
|
231
231
|
export async function getBubbleVisibilitySettings() {
|
|
232
232
|
try {
|
|
233
|
-
const stored = await
|
|
233
|
+
const stored = await persistentStorage.getItem(STORAGE_KEY);
|
|
234
234
|
if (stored) {
|
|
235
235
|
return JSON.parse(stored);
|
|
236
236
|
}
|
|
@@ -155,6 +155,17 @@ export const devToolsStorageKeys = {
|
|
|
155
155
|
activeTab: () => `${devToolsStorageKeys.benchmark.root()}_active_tab`,
|
|
156
156
|
settings: () => `${devToolsStorageKeys.benchmark.root()}_settings`,
|
|
157
157
|
selectedReports: () => `${devToolsStorageKeys.benchmark.root()}_selected_reports`
|
|
158
|
+
},
|
|
159
|
+
/**
|
|
160
|
+
* Unified events-related storage keys
|
|
161
|
+
*/
|
|
162
|
+
events: {
|
|
163
|
+
root: () => `${devToolsStorageKeys.base}_events`,
|
|
164
|
+
modal: () => `${devToolsStorageKeys.events.root()}_modal`,
|
|
165
|
+
/** Selected badge/source filters */
|
|
166
|
+
enabledSources: () => `${devToolsStorageKeys.events.root()}_enabled_sources`,
|
|
167
|
+
/** Copy/export settings */
|
|
168
|
+
copySettings: () => `${devToolsStorageKeys.events.root()}_copy_settings`
|
|
158
169
|
}
|
|
159
170
|
};
|
|
160
171
|
|
|
@@ -7,30 +7,11 @@ import { gameUIColors } from "../gameUI/constants/gameUIColors.js";
|
|
|
7
7
|
import { Copy, CheckCircle2, AlertTriangle } from "../../icons/lucide-icons.js";
|
|
8
8
|
import { ClipboardHintBanner } from "./ClipboardHintBanner.js";
|
|
9
9
|
import { devToolsStorageKeys } from "../../storage/devToolsStorageKeys.js";
|
|
10
|
-
import {
|
|
10
|
+
import { persistentStorage } from "../../utils/persistentStorage.js";
|
|
11
11
|
import { useHintsDisabled } from "../../context/index.js";
|
|
12
|
-
import { ProUpgradeModal } from "../../license/
|
|
13
|
-
|
|
14
|
-
// Lazy load the license hooks to avoid circular dependencies
|
|
12
|
+
import { ProUpgradeModal } from "../../license/index.js";
|
|
13
|
+
import { useIsPro } from "@buoy-gg/license";
|
|
15
14
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
-
let _useIsPro = null;
|
|
17
|
-
let _licenseLoadAttempted = false;
|
|
18
|
-
function loadLicenseModule() {
|
|
19
|
-
if (_licenseLoadAttempted) return;
|
|
20
|
-
_licenseLoadAttempted = true;
|
|
21
|
-
try {
|
|
22
|
-
const mod = require("@buoy-gg/license");
|
|
23
|
-
if (mod) {
|
|
24
|
-
_useIsPro = mod.useIsPro ?? null;
|
|
25
|
-
}
|
|
26
|
-
} catch {
|
|
27
|
-
// License package not available - will use fallback (assume not Pro)
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
function getUseIsPro() {
|
|
31
|
-
loadLicenseModule();
|
|
32
|
-
return _useIsPro ?? (() => false);
|
|
33
|
-
}
|
|
34
15
|
/**
|
|
35
16
|
* Reusable copy button component with visual feedback
|
|
36
17
|
* Shows different icons for idle, success, and error states
|
|
@@ -47,7 +28,7 @@ async function loadHintAcknowledged() {
|
|
|
47
28
|
globalHintLoadPromise = (async () => {
|
|
48
29
|
try {
|
|
49
30
|
const hintKey = devToolsStorageKeys.clipboard.hintAcknowledged();
|
|
50
|
-
const acknowledged = await
|
|
31
|
+
const acknowledged = await persistentStorage.getItem(hintKey);
|
|
51
32
|
globalHintAcknowledged = acknowledged === "true";
|
|
52
33
|
return globalHintAcknowledged;
|
|
53
34
|
} catch {
|
|
@@ -61,7 +42,7 @@ async function loadHintAcknowledged() {
|
|
|
61
42
|
async function setHintAcknowledged() {
|
|
62
43
|
try {
|
|
63
44
|
const hintKey = devToolsStorageKeys.clipboard.hintAcknowledged();
|
|
64
|
-
await
|
|
45
|
+
await persistentStorage.setItem(hintKey, "true");
|
|
65
46
|
globalHintAcknowledged = true;
|
|
66
47
|
} catch {
|
|
67
48
|
// Failed to save, just update local state
|
|
@@ -77,16 +58,19 @@ export const CopyButton = /*#__PURE__*/memo(function CopyButton({
|
|
|
77
58
|
onCopyError,
|
|
78
59
|
feedbackDuration = 1500,
|
|
79
60
|
colors = {},
|
|
80
|
-
disabled: _deprecated,
|
|
81
|
-
// Ignored - Pro status checked internally
|
|
82
61
|
...touchableProps
|
|
83
62
|
}) {
|
|
84
|
-
// Check Pro status internally - copy is a Pro-only feature
|
|
85
|
-
const useIsPro = getUseIsPro();
|
|
86
63
|
const isPro = useIsPro();
|
|
87
64
|
const [copyState, setCopyState] = useState("idle");
|
|
88
65
|
const [showHint, setShowHint] = useState(false);
|
|
89
66
|
const [showLicenseModal, setShowLicenseModal] = useState(false);
|
|
67
|
+
|
|
68
|
+
// Auto-close upgrade modal when user becomes Pro
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
if (showLicenseModal && isPro) {
|
|
71
|
+
setShowLicenseModal(false);
|
|
72
|
+
}
|
|
73
|
+
}, [showLicenseModal, isPro]);
|
|
90
74
|
const hintsDisabled = useHintsDisabled();
|
|
91
75
|
const valueRef = useRef(value);
|
|
92
76
|
const timeoutRef = useRef(null);
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* DevToolsCard
|
|
5
|
+
*
|
|
6
|
+
* A unified container component for all DevTools list items.
|
|
7
|
+
* Provides consistent sizing, spacing, and styling across all packages.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* ```tsx
|
|
11
|
+
* <DevToolsCard onPress={handlePress} isSelected={selected}>
|
|
12
|
+
* <YourCustomContent />
|
|
13
|
+
* </DevToolsCard>
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { View, TouchableOpacity, StyleSheet } from "react-native";
|
|
18
|
+
import { buoyColors } from "../gameUI/constants/gameUIColors.js";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Standard card dimensions - adjust these to change all DevTools cards globally
|
|
22
|
+
*/
|
|
23
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
|
+
export const DEVTOOLS_CARD_CONSTANTS = {
|
|
25
|
+
/** Horizontal padding inside the card */
|
|
26
|
+
padding: 12,
|
|
27
|
+
/** Horizontal margin between card and screen edge */
|
|
28
|
+
marginHorizontal: 12,
|
|
29
|
+
/** Vertical margin between cards */
|
|
30
|
+
marginVertical: 4,
|
|
31
|
+
/** Card corner radius */
|
|
32
|
+
borderRadius: 8,
|
|
33
|
+
/** Minimum height for touch accessibility (Apple HIG) */
|
|
34
|
+
minHeight: 44,
|
|
35
|
+
/** Border width */
|
|
36
|
+
borderWidth: 1
|
|
37
|
+
};
|
|
38
|
+
export function DevToolsCard({
|
|
39
|
+
children,
|
|
40
|
+
onPress,
|
|
41
|
+
onLongPress,
|
|
42
|
+
isSelected = false,
|
|
43
|
+
disabled = false,
|
|
44
|
+
activeOpacity = 0.8,
|
|
45
|
+
style,
|
|
46
|
+
contentStyle,
|
|
47
|
+
testID
|
|
48
|
+
}) {
|
|
49
|
+
const isInteractive = !!onPress || !!onLongPress;
|
|
50
|
+
|
|
51
|
+
// Non-interactive card (just a container)
|
|
52
|
+
if (!isInteractive) {
|
|
53
|
+
return /*#__PURE__*/_jsx(View, {
|
|
54
|
+
style: [styles.wrapper, style],
|
|
55
|
+
testID: testID,
|
|
56
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
57
|
+
style: [styles.card, isSelected && styles.selectedCard, contentStyle],
|
|
58
|
+
children: children
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Interactive card
|
|
64
|
+
return /*#__PURE__*/_jsx(View, {
|
|
65
|
+
style: [styles.wrapper, style],
|
|
66
|
+
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
67
|
+
style: [styles.card, isSelected && styles.selectedCard, contentStyle],
|
|
68
|
+
onPress: onPress,
|
|
69
|
+
onLongPress: onLongPress,
|
|
70
|
+
activeOpacity: activeOpacity,
|
|
71
|
+
disabled: disabled,
|
|
72
|
+
testID: testID,
|
|
73
|
+
children: children
|
|
74
|
+
})
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const styles = StyleSheet.create({
|
|
78
|
+
wrapper: {
|
|
79
|
+
marginHorizontal: DEVTOOLS_CARD_CONSTANTS.marginHorizontal,
|
|
80
|
+
marginVertical: DEVTOOLS_CARD_CONSTANTS.marginVertical
|
|
81
|
+
},
|
|
82
|
+
card: {
|
|
83
|
+
backgroundColor: buoyColors.card,
|
|
84
|
+
borderRadius: DEVTOOLS_CARD_CONSTANTS.borderRadius,
|
|
85
|
+
borderWidth: DEVTOOLS_CARD_CONSTANTS.borderWidth,
|
|
86
|
+
borderColor: buoyColors.border + "40",
|
|
87
|
+
padding: DEVTOOLS_CARD_CONSTANTS.padding,
|
|
88
|
+
minHeight: DEVTOOLS_CARD_CONSTANTS.minHeight
|
|
89
|
+
},
|
|
90
|
+
selectedCard: {
|
|
91
|
+
backgroundColor: buoyColors.primary + "15",
|
|
92
|
+
borderColor: buoyColors.primary + "50",
|
|
93
|
+
shadowColor: buoyColors.primary,
|
|
94
|
+
shadowOffset: {
|
|
95
|
+
width: 0,
|
|
96
|
+
height: 0
|
|
97
|
+
},
|
|
98
|
+
shadowOpacity: 0.1,
|
|
99
|
+
shadowRadius: 8,
|
|
100
|
+
elevation: 2
|
|
101
|
+
}
|
|
102
|
+
});
|
|
@@ -64,7 +64,8 @@ export const EventHistoryViewer = /*#__PURE__*/memo(function EventHistoryViewer(
|
|
|
64
64
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
65
65
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
66
66
|
style: [styles.container, {
|
|
67
|
-
|
|
67
|
+
// Add padding when footer is shown (internal or external via modal)
|
|
68
|
+
paddingBottom: footerTotalItems > 1 ? 96 : 0
|
|
68
69
|
}],
|
|
69
70
|
children: [/*#__PURE__*/_jsx(ViewToggleCards, {
|
|
70
71
|
activeView: activeView,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
4
4
|
import { Animated, TouchableOpacity, View, Text, StyleSheet } from "react-native";
|
|
5
5
|
import { ChevronUp } from "../../icons/index.js";
|
|
6
|
-
import {
|
|
6
|
+
import { buoyColors } from "../gameUI/constants/gameUIColors.js";
|
|
7
7
|
|
|
8
8
|
// ============================================================================
|
|
9
9
|
// Types
|
|
@@ -60,7 +60,7 @@ function CollapsedPeek({
|
|
|
60
60
|
children: customContent || /*#__PURE__*/_jsxs(_Fragment, {
|
|
61
61
|
children: [/*#__PURE__*/_jsx(ChevronUp, {
|
|
62
62
|
size: 12,
|
|
63
|
-
color:
|
|
63
|
+
color: buoyColors.textMuted,
|
|
64
64
|
strokeWidth: 2
|
|
65
65
|
}), showCount && count !== undefined && count > 1 && /*#__PURE__*/_jsx(Text, {
|
|
66
66
|
style: styles.peekCount,
|
|
@@ -107,7 +107,7 @@ function ExpandedWrapper({
|
|
|
107
107
|
accessibilityRole: "button",
|
|
108
108
|
children: /*#__PURE__*/_jsx(ChevronUp, {
|
|
109
109
|
size: 12,
|
|
110
|
-
color:
|
|
110
|
+
color: buoyColors.textMuted,
|
|
111
111
|
style: {
|
|
112
112
|
transform: [{
|
|
113
113
|
rotate: "180deg"
|
|
@@ -154,9 +154,9 @@ export function ExpandablePopover({
|
|
|
154
154
|
try {
|
|
155
155
|
// Dynamic import to avoid circular dependency
|
|
156
156
|
const {
|
|
157
|
-
|
|
158
|
-
} = await import("../../utils/
|
|
159
|
-
const saved = await
|
|
157
|
+
persistentStorage
|
|
158
|
+
} = await import("../../utils/persistentStorage");
|
|
159
|
+
const saved = await persistentStorage.getItem(storageKey);
|
|
160
160
|
if (saved === "true") {
|
|
161
161
|
setIsExpanded(true);
|
|
162
162
|
progress.setValue(1);
|
|
@@ -175,9 +175,9 @@ export function ExpandablePopover({
|
|
|
175
175
|
const persistExpanded = async () => {
|
|
176
176
|
try {
|
|
177
177
|
const {
|
|
178
|
-
|
|
179
|
-
} = await import("../../utils/
|
|
180
|
-
await
|
|
178
|
+
persistentStorage
|
|
179
|
+
} = await import("../../utils/persistentStorage");
|
|
180
|
+
await persistentStorage.setItem(storageKey, isExpanded ? "true" : "false");
|
|
181
181
|
} catch {
|
|
182
182
|
// Ignore errors
|
|
183
183
|
}
|
|
@@ -294,12 +294,12 @@ const styles = StyleSheet.create({
|
|
|
294
294
|
borderTopRightRadius: 6,
|
|
295
295
|
borderBottomLeftRadius: 0,
|
|
296
296
|
borderBottomRightRadius: 0,
|
|
297
|
-
backgroundColor:
|
|
297
|
+
backgroundColor: buoyColors.card,
|
|
298
298
|
borderTopWidth: 1,
|
|
299
299
|
borderLeftWidth: 1,
|
|
300
300
|
borderRightWidth: 1,
|
|
301
301
|
borderBottomWidth: 0,
|
|
302
|
-
borderColor:
|
|
302
|
+
borderColor: buoyColors.textMuted + "66",
|
|
303
303
|
flexDirection: "row",
|
|
304
304
|
alignItems: "center",
|
|
305
305
|
justifyContent: "center",
|
|
@@ -308,11 +308,11 @@ const styles = StyleSheet.create({
|
|
|
308
308
|
peekCount: {
|
|
309
309
|
fontSize: 9,
|
|
310
310
|
fontWeight: "600",
|
|
311
|
-
color:
|
|
311
|
+
color: buoyColors.textMuted,
|
|
312
312
|
marginLeft: 1
|
|
313
313
|
},
|
|
314
314
|
expandedContainer: {
|
|
315
|
-
backgroundColor:
|
|
315
|
+
backgroundColor: buoyColors.card,
|
|
316
316
|
borderTopLeftRadius: 6,
|
|
317
317
|
borderTopRightRadius: 6,
|
|
318
318
|
borderBottomLeftRadius: 0,
|
|
@@ -321,7 +321,7 @@ const styles = StyleSheet.create({
|
|
|
321
321
|
borderLeftWidth: 1,
|
|
322
322
|
borderRightWidth: 1,
|
|
323
323
|
borderBottomWidth: 0,
|
|
324
|
-
borderColor:
|
|
324
|
+
borderColor: buoyColors.textMuted + "66"
|
|
325
325
|
},
|
|
326
326
|
expandedInner: {
|
|
327
327
|
alignItems: "center",
|
|
@@ -16,6 +16,7 @@ export { TabSelector } from "./TabSelector.js";
|
|
|
16
16
|
export { EventListItem } from "./EventListItem.js";
|
|
17
17
|
export { StatsCard } from "./StatsCard.js";
|
|
18
18
|
export { CompactRow } from "./CompactRow.js";
|
|
19
|
+
export { DevToolsCard, DEVTOOLS_CARD_CONSTANTS } from "./DevToolsCard.js";
|
|
19
20
|
export { HeaderSearchButton } from "./HeaderSearchButton.js";
|
|
20
21
|
export { EmptyState, NoDataEmptyState, NoResultsEmptyState, NoSearchResultsEmptyState } from "./EmptyState.js";
|
|
21
22
|
export { StatusIndicator } from "./StatusIndicator.js";
|
|
@@ -129,17 +129,11 @@ export function parseUrl(url) {
|
|
|
129
129
|
try {
|
|
130
130
|
const parsed = new URL(url);
|
|
131
131
|
return {
|
|
132
|
-
//@ts-expect-error - URL is not typed
|
|
133
132
|
protocol: parsed.protocol.replace(":", ""),
|
|
134
|
-
//@ts-expect-error - URL is not typed
|
|
135
133
|
host: parsed.hostname,
|
|
136
|
-
//@ts-expect-error - URL is not typed
|
|
137
134
|
port: parsed.port || undefined,
|
|
138
|
-
//@ts-expect-error - URL is not typed
|
|
139
135
|
pathname: parsed.pathname,
|
|
140
|
-
//@ts-expect-error - URL is not typed
|
|
141
136
|
search: parsed.search || undefined,
|
|
142
|
-
//@ts-expect-error - URL is not typed
|
|
143
137
|
hash: parsed.hash || undefined
|
|
144
138
|
};
|
|
145
139
|
} catch {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
export { displayValue, parseDisplayValue } from "./displayValue.js";
|
|
4
4
|
export { getSafeAreaInsets } from "./getSafeAreaInsets.js";
|
|
5
|
-
export { safeGetItem, safeSetItem, safeRemoveItem, isPersistentStorageAvailable, useSafeAsyncStorage } from "./safeAsyncStorage.js";
|
|
6
5
|
export { persistentStorage, isUsingPersistentStorage, getStorageBackendType } from "./persistentStorage.js";
|
|
7
6
|
export { safeStringify } from "./safeStringify.js";
|
|
8
7
|
export { getValueType, isPrimitive, isJsonSerializable, isValidJson, getConstructorName, isEmpty, getValueSize } from "./typeHelpers.js";
|
|
@@ -72,6 +72,8 @@ interface JsModalProps {
|
|
|
72
72
|
initialModalState?: ModalState;
|
|
73
73
|
/** z-index for stacking multiple modals (higher = on top) */
|
|
74
74
|
zIndex?: number;
|
|
75
|
+
/** If true, children are rendered directly without ScrollView wrapper (use when children have their own FlatList/ScrollView) */
|
|
76
|
+
disableScrollWrapper?: boolean;
|
|
75
77
|
}
|
|
76
78
|
export declare const JsModal: import("react").NamedExoticComponent<JsModalProps>;
|
|
77
79
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsModal.d.ts","sourceRoot":"","sources":["../../../src/JsModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAUL,SAAS,EAEV,MAAM,OAAO,CAAC;AACf,OAAO,EAML,QAAQ,EAGR,SAAS,EAEV,MAAM,cAAc,CAAC;AA4FtB,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnD,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IAChC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAErD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"JsModal.d.ts","sourceRoot":"","sources":["../../../src/JsModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAUL,SAAS,EAEV,MAAM,OAAO,CAAC;AACf,OAAO,EAML,QAAQ,EAGR,SAAS,EAEV,MAAM,cAAc,CAAC;AA4FtB,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnD,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IAChC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAErD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gIAAgI;IAChI,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA6hDD,eAAO,MAAM,OAAO,oDAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyToClipboard.d.ts","sourceRoot":"","sources":["../../../../src/clipboard/copyToClipboard.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"copyToClipboard.d.ts","sourceRoot":"","sources":["../../../../src/clipboard/copyToClipboard.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAK9C"}
|
|
@@ -48,7 +48,7 @@ export interface DiffTheme {
|
|
|
48
48
|
export declare const gitClassicTheme: DiffTheme;
|
|
49
49
|
/**
|
|
50
50
|
* Dev Tools Default Theme
|
|
51
|
-
* Clean dark theme
|
|
51
|
+
* Clean dark theme matching Buoy website brand colors
|
|
52
52
|
*/
|
|
53
53
|
export declare const devToolsDefaultTheme: DiffTheme;
|
|
54
54
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffThemes.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/diffThemes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAGpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IAGtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAG7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,cAAc,EAAE,MAAM,CAAC;IAGvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,SA2C7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"diffThemes.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/diffThemes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAGpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IAGtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAG7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,cAAc,EAAE,MAAM,CAAC;IAGvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,SA2C7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAwDlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,UAAU,CAAC"}
|