@buoy-gg/shared-ui 7.0.16 → 7.0.18
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/dataViewer/ThemedSplitView.js +622 -0
- package/lib/commonjs/dataViewer/index.js +32 -0
- package/lib/commonjs/dataViewer/objectDiff.js +304 -0
- package/lib/commonjs/hooks/index.js +7 -0
- package/lib/commonjs/hooks/safe-area-impl.js +1 -1
- package/lib/commonjs/hooks/usePersistedState.js +71 -0
- package/lib/commonjs/icons/index.js +14 -0
- package/lib/commonjs/index.js +61 -0
- package/lib/commonjs/storage/devToolsStorageKeys.js +31 -0
- package/lib/commonjs/sync/wireBudget.js +97 -0
- package/lib/commonjs/ui/components/HeaderSearchButton.js +6 -1
- package/lib/commonjs/ui/components/ModalHeader.js +69 -0
- package/lib/commonjs/ui/components/ToolButton.js +90 -0
- package/lib/commonjs/ui/components/index.js +7 -0
- package/lib/commonjs/ui/index.js +8 -0
- package/lib/commonjs/ui/toolTheme.js +96 -0
- package/lib/commonjs/utils/index.js +38 -0
- package/lib/commonjs/utils/persistentStorage.js +6 -3
- package/lib/commonjs/utils/stateSnapshotRegistry.js +71 -0
- package/lib/module/dataViewer/ThemedSplitView.js +617 -0
- package/lib/module/dataViewer/index.js +7 -1
- package/lib/module/dataViewer/objectDiff.js +297 -0
- package/lib/module/hooks/index.js +1 -0
- package/lib/module/hooks/safe-area-impl.js +1 -1
- package/lib/module/hooks/usePersistedState.js +68 -0
- package/lib/module/icons/index.js +1 -0
- package/lib/module/index.js +6 -1
- package/lib/module/storage/devToolsStorageKeys.js +31 -0
- package/lib/module/sync/wireBudget.js +92 -0
- package/lib/module/ui/components/HeaderSearchButton.js +6 -1
- package/lib/module/ui/components/ModalHeader.js +70 -2
- package/lib/module/ui/components/ToolButton.js +86 -0
- package/lib/module/ui/components/index.js +1 -0
- package/lib/module/ui/index.js +3 -0
- package/lib/module/ui/toolTheme.js +93 -0
- package/lib/module/utils/index.js +2 -0
- package/lib/module/utils/persistentStorage.js +6 -3
- package/lib/module/utils/stateSnapshotRegistry.js +64 -0
- package/lib/typescript/commonjs/dataViewer/ThemedSplitView.d.ts +28 -0
- package/lib/typescript/commonjs/dataViewer/ThemedSplitView.d.ts.map +1 -0
- package/lib/typescript/commonjs/dataViewer/index.d.ts +2 -0
- package/lib/typescript/commonjs/dataViewer/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/objectDiff.d.ts +67 -0
- package/lib/typescript/commonjs/dataViewer/objectDiff.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/index.d.ts +1 -0
- package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/commonjs/hooks/usePersistedState.d.ts +16 -0
- package/lib/typescript/commonjs/hooks/usePersistedState.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/index.d.ts +1 -0
- package/lib/typescript/commonjs/icons/index.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/storage/devToolsStorageKeys.d.ts +28 -0
- package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/sync/wireBudget.d.ts +50 -0
- package/lib/typescript/commonjs/sync/wireBudget.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/HeaderSearchButton.d.ts +3 -1
- package/lib/typescript/commonjs/ui/components/HeaderSearchButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts +13 -1
- package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ToolButton.d.ts +24 -0
- package/lib/typescript/commonjs/ui/components/ToolButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/index.d.ts +4 -0
- package/lib/typescript/commonjs/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +1 -0
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/toolTheme.d.ts +68 -0
- package/lib/typescript/commonjs/ui/toolTheme.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/index.d.ts +2 -0
- package/lib/typescript/commonjs/utils/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/persistentStorage.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/stateSnapshotRegistry.d.ts +111 -0
- package/lib/typescript/commonjs/utils/stateSnapshotRegistry.d.ts.map +1 -0
- package/lib/typescript/module/dataViewer/ThemedSplitView.d.ts +28 -0
- package/lib/typescript/module/dataViewer/ThemedSplitView.d.ts.map +1 -0
- package/lib/typescript/module/dataViewer/index.d.ts +2 -0
- package/lib/typescript/module/dataViewer/index.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/objectDiff.d.ts +67 -0
- package/lib/typescript/module/dataViewer/objectDiff.d.ts.map +1 -0
- package/lib/typescript/module/hooks/index.d.ts +1 -0
- package/lib/typescript/module/hooks/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/module/hooks/usePersistedState.d.ts +16 -0
- package/lib/typescript/module/hooks/usePersistedState.d.ts.map +1 -0
- package/lib/typescript/module/icons/index.d.ts +1 -0
- package/lib/typescript/module/icons/index.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/storage/devToolsStorageKeys.d.ts +28 -0
- package/lib/typescript/module/storage/devToolsStorageKeys.d.ts.map +1 -1
- package/lib/typescript/module/sync/wireBudget.d.ts +50 -0
- package/lib/typescript/module/sync/wireBudget.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/HeaderSearchButton.d.ts +3 -1
- package/lib/typescript/module/ui/components/HeaderSearchButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ModalHeader.d.ts +13 -1
- package/lib/typescript/module/ui/components/ModalHeader.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ToolButton.d.ts +24 -0
- package/lib/typescript/module/ui/components/ToolButton.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/index.d.ts +4 -0
- package/lib/typescript/module/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +1 -0
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/toolTheme.d.ts +68 -0
- package/lib/typescript/module/ui/toolTheme.d.ts.map +1 -0
- package/lib/typescript/module/utils/index.d.ts +2 -0
- package/lib/typescript/module/utils/index.d.ts.map +1 -1
- package/lib/typescript/module/utils/persistentStorage.d.ts.map +1 -1
- package/lib/typescript/module/utils/stateSnapshotRegistry.d.ts +111 -0
- package/lib/typescript/module/utils/stateSnapshotRegistry.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, Text, TouchableOpacity } from "react-native";
|
|
4
|
+
import { buoyColors, gameUIColors } from "../gameUI/constants/gameUIColors.js";
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
/**
|
|
7
|
+
* The shared action button for dev-tool surfaces. Fills the gap where every
|
|
8
|
+
* tool hand-styled its own TouchableOpacity for "Clear", "Apply", "Reset".
|
|
9
|
+
*/
|
|
10
|
+
export function ToolButton({
|
|
11
|
+
label,
|
|
12
|
+
onPress,
|
|
13
|
+
variant = "primary",
|
|
14
|
+
size = "medium",
|
|
15
|
+
disabled = false,
|
|
16
|
+
icon,
|
|
17
|
+
style
|
|
18
|
+
}) {
|
|
19
|
+
const palette = VARIANTS[variant];
|
|
20
|
+
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
21
|
+
accessibilityRole: "button",
|
|
22
|
+
accessibilityLabel: label,
|
|
23
|
+
onPress: onPress,
|
|
24
|
+
disabled: disabled,
|
|
25
|
+
style: [styles.base, size === "small" ? styles.small : styles.medium, {
|
|
26
|
+
backgroundColor: palette.background,
|
|
27
|
+
borderColor: palette.border,
|
|
28
|
+
borderWidth: variant === "ghost" ? 0 : 1
|
|
29
|
+
}, disabled && styles.disabled, style],
|
|
30
|
+
children: [icon, /*#__PURE__*/_jsx(Text, {
|
|
31
|
+
style: [styles.label, size === "small" && styles.labelSmall, {
|
|
32
|
+
color: palette.text
|
|
33
|
+
}],
|
|
34
|
+
children: label
|
|
35
|
+
})]
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const VARIANTS = {
|
|
39
|
+
primary: {
|
|
40
|
+
background: buoyColors.primary + "22",
|
|
41
|
+
border: buoyColors.primary + "66",
|
|
42
|
+
text: buoyColors.primary
|
|
43
|
+
},
|
|
44
|
+
danger: {
|
|
45
|
+
background: gameUIColors.error + "15",
|
|
46
|
+
border: gameUIColors.error + "60",
|
|
47
|
+
text: gameUIColors.error
|
|
48
|
+
},
|
|
49
|
+
warning: {
|
|
50
|
+
background: gameUIColors.warning + "15",
|
|
51
|
+
border: gameUIColors.warning + "60",
|
|
52
|
+
text: gameUIColors.warning
|
|
53
|
+
},
|
|
54
|
+
ghost: {
|
|
55
|
+
background: "transparent",
|
|
56
|
+
border: "transparent",
|
|
57
|
+
text: buoyColors.textSecondary
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const styles = StyleSheet.create({
|
|
61
|
+
base: {
|
|
62
|
+
flexDirection: "row",
|
|
63
|
+
alignItems: "center",
|
|
64
|
+
justifyContent: "center",
|
|
65
|
+
gap: 6,
|
|
66
|
+
borderRadius: 8
|
|
67
|
+
},
|
|
68
|
+
medium: {
|
|
69
|
+
paddingVertical: 8,
|
|
70
|
+
paddingHorizontal: 14
|
|
71
|
+
},
|
|
72
|
+
small: {
|
|
73
|
+
paddingVertical: 5,
|
|
74
|
+
paddingHorizontal: 10
|
|
75
|
+
},
|
|
76
|
+
disabled: {
|
|
77
|
+
opacity: 0.4
|
|
78
|
+
},
|
|
79
|
+
label: {
|
|
80
|
+
fontSize: 12,
|
|
81
|
+
fontWeight: "600"
|
|
82
|
+
},
|
|
83
|
+
labelSmall: {
|
|
84
|
+
fontSize: 11
|
|
85
|
+
}
|
|
86
|
+
});
|
|
@@ -13,6 +13,7 @@ export { FilterSection, FilterBadge, AddFilterInput, AddFilterButton, FilterList
|
|
|
13
13
|
export { CompactFilterChips } from "./CompactFilterChips.js";
|
|
14
14
|
export { Badge, StatusBadge, CountBadge, TypeBadge, MethodBadge } from "./Badge.js";
|
|
15
15
|
export { TabSelector } from "./TabSelector.js";
|
|
16
|
+
export { ToolButton } from "./ToolButton.js";
|
|
16
17
|
export { EventListItem } from "./EventListItem.js";
|
|
17
18
|
export { StatsCard } from "./StatsCard.js";
|
|
18
19
|
export { CompactRow } from "./CompactRow.js";
|
package/lib/module/ui/index.js
CHANGED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { buoyColors, gameUIColors } from "./gameUI/constants/gameUIColors.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Semantic design tokens for dev-tool surfaces — the single documented entry
|
|
7
|
+
* point for custom-tool authors (and, over time, internal tools).
|
|
8
|
+
*
|
|
9
|
+
* Buoy historically grew three color systems (`buoyColors`, `gameUIColors`,
|
|
10
|
+
* `macOSColors`) with tribal knowledge about which to use where. `toolTheme`
|
|
11
|
+
* encodes that knowledge: surfaces/text come from the brand palette, semantic
|
|
12
|
+
* status colors from the gameUI palette. Consumers should not need to know
|
|
13
|
+
* that split exists.
|
|
14
|
+
*/
|
|
15
|
+
export const toolTheme = {
|
|
16
|
+
colors: {
|
|
17
|
+
/** Modal/page background. */
|
|
18
|
+
surface: buoyColors.base,
|
|
19
|
+
/** Card / row background, one step above surface. */
|
|
20
|
+
card: buoyColors.card,
|
|
21
|
+
/** Pressed/hover background. */
|
|
22
|
+
hover: buoyColors.hover,
|
|
23
|
+
/** Text-input background. */
|
|
24
|
+
input: buoyColors.input,
|
|
25
|
+
border: buoyColors.border,
|
|
26
|
+
borderStrong: buoyColors.borderStrong,
|
|
27
|
+
text: buoyColors.text,
|
|
28
|
+
textSecondary: buoyColors.textSecondary,
|
|
29
|
+
textMuted: buoyColors.textMuted,
|
|
30
|
+
/** Buoy teal — primary accent. */
|
|
31
|
+
accent: buoyColors.primary,
|
|
32
|
+
success: gameUIColors.success,
|
|
33
|
+
warning: gameUIColors.warning,
|
|
34
|
+
error: gameUIColors.error,
|
|
35
|
+
info: gameUIColors.info
|
|
36
|
+
},
|
|
37
|
+
/**
|
|
38
|
+
* Text presets matching the styles internal tools re-declare per file.
|
|
39
|
+
* Spread into a style: `style={[toolTheme.text.label, { color: ... }]}`.
|
|
40
|
+
*/
|
|
41
|
+
text: {
|
|
42
|
+
/** Modal/section titles. */
|
|
43
|
+
title: {
|
|
44
|
+
fontSize: 14,
|
|
45
|
+
fontWeight: "600",
|
|
46
|
+
color: buoyColors.text
|
|
47
|
+
},
|
|
48
|
+
/** Default body copy. */
|
|
49
|
+
body: {
|
|
50
|
+
fontSize: 13,
|
|
51
|
+
color: buoyColors.text
|
|
52
|
+
},
|
|
53
|
+
/** Secondary copy under a primary line. */
|
|
54
|
+
subtitle: {
|
|
55
|
+
fontSize: 12,
|
|
56
|
+
color: buoyColors.textSecondary
|
|
57
|
+
},
|
|
58
|
+
/** ALL-CAPS section labels ("LOCAL OVERRIDES"). */
|
|
59
|
+
label: {
|
|
60
|
+
fontSize: 10,
|
|
61
|
+
fontWeight: "700",
|
|
62
|
+
color: buoyColors.textMuted,
|
|
63
|
+
letterSpacing: 1.2,
|
|
64
|
+
fontFamily: "monospace"
|
|
65
|
+
},
|
|
66
|
+
/** Monospace values (keys, ids, payload snippets). */
|
|
67
|
+
mono: {
|
|
68
|
+
fontSize: 11,
|
|
69
|
+
color: buoyColors.textSecondary,
|
|
70
|
+
fontFamily: "monospace"
|
|
71
|
+
},
|
|
72
|
+
/** Timestamps and fine print. */
|
|
73
|
+
small: {
|
|
74
|
+
fontSize: 9,
|
|
75
|
+
color: buoyColors.textMuted,
|
|
76
|
+
fontFamily: "monospace"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
/** 4-based spacing scale used across tool surfaces. */
|
|
80
|
+
spacing: {
|
|
81
|
+
xs: 4,
|
|
82
|
+
sm: 8,
|
|
83
|
+
md: 12,
|
|
84
|
+
lg: 16,
|
|
85
|
+
xl: 24
|
|
86
|
+
},
|
|
87
|
+
radius: {
|
|
88
|
+
sm: 6,
|
|
89
|
+
md: 8,
|
|
90
|
+
lg: 12,
|
|
91
|
+
pill: 9999
|
|
92
|
+
}
|
|
93
|
+
};
|
|
@@ -9,6 +9,8 @@ export { getValueType, isPrimitive, isJsonSerializable, isValidJson, getConstruc
|
|
|
9
9
|
export { parseValue, formatValue, getTypeColor, truncateText, flattenObject, formatPath } from "./valueFormatting.js";
|
|
10
10
|
export { loadOptionalModule, getCachedOptionalModule } from "./loadOptionalModule.js";
|
|
11
11
|
export { setRenderCaptureProvider, getRenderCaptureProvider } from "./renderCaptureRegistry.js";
|
|
12
|
+
export { registerStateSnapshotProvider, getStateSnapshotProviders, getStateSnapshotProvider, subscribeToStateSnapshotProviders } from "./stateSnapshotRegistry.js";
|
|
13
|
+
export { serialize as superJsonSerialize, deserialize as superJsonDeserialize } from "./minimalSuperJSON.js";
|
|
12
14
|
export { reloadApp, scheduleReloadApp, resolveReloadStrategy, REMOTE_RELOAD_DELAY_MS } from "./reloadApp.js";
|
|
13
15
|
export { Subscribable } from "./subscribable.js";
|
|
14
16
|
export { subscriberCountNotifier, subscribeToSubscriberCountChanges, notifySubscriberCountChange } from "./subscriberCountNotifier.js";
|
|
@@ -486,6 +486,12 @@ async function initStorage() {
|
|
|
486
486
|
await migrateFromAsyncStorage();
|
|
487
487
|
}
|
|
488
488
|
storageBackend = "filesystem";
|
|
489
|
+
} else if (isWebEnvironment()) {
|
|
490
|
+
// Prefer localStorage on web (marketing site, RN-web, Electron renderer)
|
|
491
|
+
// BEFORE AsyncStorage. Hosts often alias AsyncStorage to a demo/remote
|
|
492
|
+
// shim that must not own buoy prefs — and must not trip the "fallback"
|
|
493
|
+
// warning on every page load.
|
|
494
|
+
storageBackend = "localstorage";
|
|
489
495
|
} else {
|
|
490
496
|
// Try AsyncStorage (React Native)
|
|
491
497
|
const asyncStorage = loadAsyncStorage();
|
|
@@ -495,9 +501,6 @@ async function initStorage() {
|
|
|
495
501
|
initWarningShown = true;
|
|
496
502
|
console.warn("[React Buoy] Using AsyncStorage fallback. " + "Settings may be lost if AsyncStorage is cleared. " + "Install expo-file-system for persistent storage.");
|
|
497
503
|
}
|
|
498
|
-
} else if (isWebEnvironment()) {
|
|
499
|
-
// Try localStorage (Web)
|
|
500
|
-
storageBackend = "localstorage";
|
|
501
504
|
} else {
|
|
502
505
|
storageBackend = "memory";
|
|
503
506
|
if (!initWarningShown) {
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Cross-package bridge for app-state snapshot & restore (Time Machine).
|
|
5
|
+
*
|
|
6
|
+
* Each state tool (`@buoy-gg/storage`, `@buoy-gg/redux`, `@buoy-gg/zustand`,
|
|
7
|
+
* `@buoy-gg/jotai`, `@buoy-gg/react-query`) registers a provider here at
|
|
8
|
+
* module init (or from its app-lifetime sync hook); `@buoy-gg/time-machine`
|
|
9
|
+
* consumes the registry. Neither side imports the other — same
|
|
10
|
+
* optional-capability pattern as renderCaptureRegistry.
|
|
11
|
+
*
|
|
12
|
+
* Apps can also register custom providers for state Buoy doesn't know about.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Per-item verdict in a Restore Preview. The critical distinction:
|
|
17
|
+
* "changed" means the restore WILL apply this difference; "wont-apply" means
|
|
18
|
+
* a difference exists (or an item does) that restore can NOT apply, with the
|
|
19
|
+
* reason. A preview that shows raw diffs without this distinction lies.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
// beyond diff budgets; treated as changed, not rendered
|
|
23
|
+
|
|
24
|
+
const providers = new Map();
|
|
25
|
+
const listeners = new Set();
|
|
26
|
+
function notify() {
|
|
27
|
+
listeners.forEach(l => {
|
|
28
|
+
try {
|
|
29
|
+
l();
|
|
30
|
+
} catch {
|
|
31
|
+
// listener errors must not break registration
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Register a provider. Last registration wins for a given id.
|
|
38
|
+
* Returns an unregister function (only removes the provider if it is still
|
|
39
|
+
* the registered one for that id).
|
|
40
|
+
*/
|
|
41
|
+
export function registerStateSnapshotProvider(provider) {
|
|
42
|
+
providers.set(provider.id, provider);
|
|
43
|
+
notify();
|
|
44
|
+
return () => {
|
|
45
|
+
if (providers.get(provider.id) === provider) {
|
|
46
|
+
providers.delete(provider.id);
|
|
47
|
+
notify();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export function getStateSnapshotProviders() {
|
|
52
|
+
return Array.from(providers.values());
|
|
53
|
+
}
|
|
54
|
+
export function getStateSnapshotProvider(id) {
|
|
55
|
+
return providers.get(id) ?? null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** Notifies when providers register/unregister (query registers late). */
|
|
59
|
+
export function subscribeToStateSnapshotProviders(listener) {
|
|
60
|
+
listeners.add(listener);
|
|
61
|
+
return () => {
|
|
62
|
+
listeners.delete(listener);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DiffTheme } from "./diffThemes";
|
|
2
|
+
export type DiffCompareMethod = "chars" | "words" | "lines" | "trimmedLines";
|
|
3
|
+
/** Rendering options (the shape storage's DiffOptionsPanel edits). */
|
|
4
|
+
export interface DiffOptions {
|
|
5
|
+
hideLineNumbers: boolean;
|
|
6
|
+
disableWordDiff: boolean;
|
|
7
|
+
showDiffOnly: boolean;
|
|
8
|
+
compareMethod: DiffCompareMethod;
|
|
9
|
+
contextLines: number;
|
|
10
|
+
lineOffset: number;
|
|
11
|
+
}
|
|
12
|
+
interface ThemedSplitViewProps {
|
|
13
|
+
oldValue: unknown;
|
|
14
|
+
newValue: unknown;
|
|
15
|
+
differences: unknown[];
|
|
16
|
+
theme: DiffTheme;
|
|
17
|
+
options?: DiffOptions;
|
|
18
|
+
showThemeName?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Scroll the rows inside their own fixed-height pane (default). Set false to
|
|
21
|
+
* render every row inline at natural height and let an ancestor ScrollView
|
|
22
|
+
* move them — one page-level scroll instead of a nested scroll region.
|
|
23
|
+
*/
|
|
24
|
+
scrollEnabled?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function ThemedSplitView({ oldValue, newValue, theme, options, showThemeName, scrollEnabled, }: ThemedSplitViewProps): import("react").JSX.Element;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=ThemedSplitView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemedSplitView.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/ThemedSplitView.tsx"],"names":[],"mappings":"AAmCA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC;AAE7E,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,iBAAiB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAaD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAyB,EACzB,aAAqB,EACrB,aAAoB,GACrB,EAAE,oBAAoB,+BAmMtB"}
|
|
@@ -21,4 +21,6 @@ export { DiffSummary } from "./DiffSummary";
|
|
|
21
21
|
export type { DiffSummaryProps } from "./DiffSummary";
|
|
22
22
|
export { computeLineDiff, DiffType, ABSENT_VALUE, isAbsent, type LineDiffInfo, type WordDiff, type DiffComputeOptions, } from "./lineDiff";
|
|
23
23
|
export { diffThemes, gitClassicTheme, devToolsDefaultTheme, type DiffTheme, type DiffThemeKey, } from "./diffThemes";
|
|
24
|
+
export { objectDiff, boundedDeepEqual, toDiffable, jsonLikelyLargerThan, type ObjectDiffOptions, type ObjectDiffResult, } from "./objectDiff";
|
|
25
|
+
export { ThemedSplitView, type DiffOptions, type DiffCompareMethod, } from "./ThemedSplitView";
|
|
24
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C;;;;GAIG;AACH,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EACL,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,MAAM,GACZ,MAAM,WAAW,CAAC;AAInB,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,SAAS,EACT,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C;;;;GAIG;AACH,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EACL,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,MAAM,GACZ,MAAM,WAAW,CAAC;AAInB,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,SAAS,EACT,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* objectDiff — the bounded, cycle-safe diff KERNEL the dataViewer never had.
|
|
3
|
+
*
|
|
4
|
+
* Every diff consumer so far either hand-rolled a private summary helper or
|
|
5
|
+
* fed whole values into the render-layer viewers (which compute eagerly, have
|
|
6
|
+
* no cycle guards, and mis-compare rich types — TreeDiffViewer treats two
|
|
7
|
+
* different Dates/Maps/Sets as EQUAL because they have zero own keys).
|
|
8
|
+
*
|
|
9
|
+
* This kernel is for VERDICTS and BADGES, not rendering:
|
|
10
|
+
* - correct equality for Date / RegExp / Map / Set / BigInt / NaN /
|
|
11
|
+
* TypedArray / URL / Error, and `undefined`-value vs absent-key
|
|
12
|
+
* - WeakSet cycle guard (a revisited pair reports unequal-safe truncation,
|
|
13
|
+
* never a stack overflow)
|
|
14
|
+
* - hard depth + node budgets with an explicit `truncated` flag; when the
|
|
15
|
+
* budget runs out a subtree is reported as CHANGED (a false "changed" is
|
|
16
|
+
* recoverable — a false "unchanged" hides a real difference, the worst
|
|
17
|
+
* failure mode for a restore preview)
|
|
18
|
+
*
|
|
19
|
+
* `toDiffable` is the companion RENDER normalizer: it converts rich types to
|
|
20
|
+
* plain-JSON stand-ins so the existing viewers (which only handle plain JSON
|
|
21
|
+
* faithfully) never see a Date/Map/Set/BigInt/cycle at all.
|
|
22
|
+
*/
|
|
23
|
+
export interface ObjectDiffOptions {
|
|
24
|
+
/** Recursion cap. @default 8 */
|
|
25
|
+
maxDepth?: number;
|
|
26
|
+
/** Total node-visit budget across the whole comparison. @default 2000 */
|
|
27
|
+
maxNodes?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface ObjectDiffResult {
|
|
30
|
+
equal: boolean;
|
|
31
|
+
/** Top-level keys present only in `newValue`. */
|
|
32
|
+
addedKeys: string[];
|
|
33
|
+
/** Top-level keys present only in `oldValue`. */
|
|
34
|
+
removedKeys: string[];
|
|
35
|
+
/** Top-level keys present in both with different values. */
|
|
36
|
+
changedKeys: string[];
|
|
37
|
+
/**
|
|
38
|
+
* True when a depth/node budget or a cycle stopped the walk — counts are
|
|
39
|
+
* then lower bounds and "changed" verdicts may be conservative.
|
|
40
|
+
*/
|
|
41
|
+
truncated: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Bounded deep equality. Returns false on budget exhaustion (conservative:
|
|
45
|
+
* report changed rather than hide a change) and marks the budget truncated.
|
|
46
|
+
*/
|
|
47
|
+
export declare function boundedDeepEqual(a: unknown, b: unknown, options?: ObjectDiffOptions): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Top-level key diff of two values with bounded deep equality per key.
|
|
50
|
+
* Non-object inputs degrade to a single implicit "value" comparison.
|
|
51
|
+
*/
|
|
52
|
+
export declare function objectDiff(oldValue: unknown, newValue: unknown, options?: ObjectDiffOptions): ObjectDiffResult;
|
|
53
|
+
/**
|
|
54
|
+
* Convert a value tree into plain JSON the render-layer diff viewers handle
|
|
55
|
+
* faithfully. Dates → ISO strings, Maps → objects, Sets → arrays,
|
|
56
|
+
* BigInt → "123n", TypedArrays/cycles/depth-overflow → placeholder strings.
|
|
57
|
+
* Functions become "[Function]" (providers have already recorded real ones).
|
|
58
|
+
*/
|
|
59
|
+
export declare function toDiffable(value: unknown): unknown;
|
|
60
|
+
/**
|
|
61
|
+
* True when `value`'s JSON form is likely larger than `limitBytes`. Iterative
|
|
62
|
+
* walk that bails the moment the running estimate crosses the limit, so cost
|
|
63
|
+
* is O(limit) regardless of payload size (the redux store's `jsonLongerThan`
|
|
64
|
+
* lesson: a full stringify per check froze enterprise-scale apps).
|
|
65
|
+
*/
|
|
66
|
+
export declare function jsonLikelyLargerThan(value: unknown, limitBytes: number): boolean;
|
|
67
|
+
//# sourceMappingURL=objectDiff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectDiff.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/objectDiff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,iDAAiD;IACjD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iDAAiD;IACjD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAiBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAMT;AA8HD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,gBAAgB,CAiDlB;AAQD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AA0DD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CA4CT"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { useFilterManager } from "./useFilterManager";
|
|
2
|
+
export { usePersistedState } from "./usePersistedState";
|
|
2
3
|
export { useSafeAreaInsets } from "./useSafeAreaInsets";
|
|
3
4
|
export { getSafeAreaInsets } from "./useSafeAreaInsets";
|
|
4
5
|
export { useDeviceInfo, getDeviceInfo, logDeviceInfo, type DeviceInfo, type PlatformInfo, type DisplayInfo, type AccessibilitySettings, type AppearanceInfo, type LocaleInfo, type StatusBarInfo, type KeyboardInfo, type AppStateInfo, type UniqueIdentifiers, type SettingsInfo, } from "./useDeviceInfo";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useState` persisted through `persistentStorage` (FileSystem → AsyncStorage
|
|
3
|
+
* → memory). Replaces the load-then-`hasLoaded`-guard `useEffect` pattern
|
|
4
|
+
* every tool used to hand-roll.
|
|
5
|
+
*
|
|
6
|
+
* Values are JSON-serialized; the default is returned until hydration
|
|
7
|
+
* completes (subsequent mounts of the same key hydrate synchronously from an
|
|
8
|
+
* in-memory cache). The third tuple element reports hydration so callers can
|
|
9
|
+
* defer writes that must not clobber a not-yet-loaded value.
|
|
10
|
+
*
|
|
11
|
+
* ```tsx
|
|
12
|
+
* const [tab, setTab, tabHydrated] = usePersistedState("@react_buoy_custom_flags_tab", "flags");
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function usePersistedState<T>(key: string, defaultValue: T): [T, (next: T | ((prev: T) => T)) => void, boolean];
|
|
16
|
+
//# sourceMappingURL=usePersistedState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePersistedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePersistedState.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,GACd,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,CAoDpD"}
|
|
@@ -2,6 +2,7 @@ export * from "./primitives";
|
|
|
2
2
|
export { NetworkIcon, NETWORK_ICON_COLOR } from "@buoy-gg/floating-tools-core";
|
|
3
3
|
export { EnvIcon, ENV_ICON_COLOR } from "@buoy-gg/floating-tools-core";
|
|
4
4
|
export { ConsoleIcon, CONSOLE_ICON_COLOR } from "@buoy-gg/floating-tools-core";
|
|
5
|
+
export { TimeMachineIcon, TIME_MACHINE_ICON_COLOR } from "@buoy-gg/floating-tools-core";
|
|
5
6
|
export { ImagesIcon, IMAGES_ICON_COLOR } from "@buoy-gg/floating-tools-core";
|
|
6
7
|
export { AssetsIcon, ASSETS_ICON_COLOR } from "@buoy-gg/floating-tools-core";
|
|
7
8
|
export { ImpersonateIcon, IMPERSONATE_ICON_COLOR } from "@buoy-gg/floating-tools-core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/index.tsx"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAKvE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/index.tsx"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAKvE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from "./ui";
|
|
2
2
|
export * from "./stores";
|
|
3
|
-
export
|
|
3
|
+
export * from "./sync/wireBudget";
|
|
4
|
+
export { absoluteFill, displayValue, parseDisplayValue, getSafeAreaInsets, persistentStorage, isUsingPersistentStorage, getStorageBackendType, safeStringify, getValueType, isPrimitive, isJsonSerializable, isValidJson, getConstructorName, isEmpty, getValueSize, parseValue, formatValue, getTypeColor, truncateText, flattenObject, formatPath, loadOptionalModule, getCachedOptionalModule, setRenderCaptureProvider, getRenderCaptureProvider, type RenderCaptureProvider, type RenderCaptureSummary, type RenderCaptureTopComponent, registerStateSnapshotProvider, getStateSnapshotProviders, getStateSnapshotProvider, subscribeToStateSnapshotProviders, type StateSnapshotProvider, type StateSnapshotProviderStatus, type StateSnapshotCapture, type StateSnapshotRestoreResult, type StateSnapshotPreview, type StateSnapshotPreviewItem, type StateSnapshotPreviewVerdict, superJsonSerialize, superJsonDeserialize, type SuperJSONResult, reloadApp, scheduleReloadApp, resolveReloadStrategy, REMOTE_RELOAD_DELAY_MS, type ReloadStrategy, type ResolvedReloadStrategy, Subscribable, type SubscribableListener, subscriberCountNotifier, subscribeToSubscriberCountChanges, notifySubscriberCountChange, useSafeRouter, useSafePathname, useSafeSegments, useSafeGlobalSearchParams, getSafeRouter, getSafeCurrentPathname, isExpoRouterAvailable, } from "./utils";
|
|
4
5
|
export * from "./utils/formatting";
|
|
5
6
|
export * from "./utils/time";
|
|
6
7
|
export { isPlainObject as isPlainObjectUtil } from "./utils/typeHelpers";
|
|
@@ -9,7 +10,7 @@ export * from "./clipboard";
|
|
|
9
10
|
export * from "./logger";
|
|
10
11
|
export * from "./settings";
|
|
11
12
|
export * from "./storage";
|
|
12
|
-
export { useSafeAreaInsets, useFilterManager, useDeviceInfo, getDeviceInfo, logDeviceInfo, type DeviceInfo, type PlatformInfo, type DisplayInfo, type AccessibilitySettings, type AppearanceInfo, type LocaleInfo, type StatusBarInfo, type KeyboardInfo, type AppStateInfo, type UniqueIdentifiers, type SettingsInfo, } from "./hooks";
|
|
13
|
+
export { useSafeAreaInsets, useFilterManager, usePersistedState, useDeviceInfo, getDeviceInfo, logDeviceInfo, type DeviceInfo, type PlatformInfo, type DisplayInfo, type AccessibilitySettings, type AppearanceInfo, type LocaleInfo, type StatusBarInfo, type KeyboardInfo, type AppStateInfo, type UniqueIdentifiers, type SettingsInfo, } from "./hooks";
|
|
13
14
|
export { JsModal } from "./JsModal";
|
|
14
15
|
export type { ModalMode, ModalState } from "./JsModal";
|
|
15
16
|
export { gameUIColors, buoyColors } from "./ui/gameUI/constants/gameUIColors";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,MAAM,CAAC;AAGrB,cAAc,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,25 @@ export declare const devToolsStorageKeys: {
|
|
|
29
29
|
readonly dimensions: () => "@react_buoy_modal_dimensions";
|
|
30
30
|
readonly hintAcknowledged: () => "@react_buoy_modal_hint_acknowledged";
|
|
31
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Namespace factory for third-party custom tools. Keys share the
|
|
34
|
+
* `@react_buoy` prefix, so `isDevToolsStorageKey` filtering (and the Storage
|
|
35
|
+
* tool's internal-key handling) covers custom-tool persistence for free.
|
|
36
|
+
*
|
|
37
|
+
* ```ts
|
|
38
|
+
* const keys = devToolsStorageKeys.custom("feature-flags");
|
|
39
|
+
* keys.modal(); // "@react_buoy_custom_feature-flags_modal"
|
|
40
|
+
* keys.key("overrides"); // "@react_buoy_custom_feature-flags_overrides"
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
readonly custom: (toolId: string) => {
|
|
44
|
+
root: () => string;
|
|
45
|
+
/** JsModal `persistenceKey` for this tool's window dimensions. */
|
|
46
|
+
modal: () => string;
|
|
47
|
+
settings: () => string;
|
|
48
|
+
/** Arbitrary tool-scoped key. */
|
|
49
|
+
key: (suffix: string) => string;
|
|
50
|
+
};
|
|
32
51
|
/**
|
|
33
52
|
* Settings-related storage keys
|
|
34
53
|
*/
|
|
@@ -95,6 +114,15 @@ export declare const devToolsStorageKeys: {
|
|
|
95
114
|
readonly isMonitoring: () => "@react_buoy_storage_is_monitoring";
|
|
96
115
|
readonly diffViewerMode: () => "@react_buoy_storage_diff_viewer_mode";
|
|
97
116
|
};
|
|
117
|
+
/**
|
|
118
|
+
* Time Machine storage keys. NOTE: the snapshot VAULT keys
|
|
119
|
+
* (`@react_buoy_time_machine:index` / `:snap:*`) predate this namespace and
|
|
120
|
+
* stay as-is — only preferences live here.
|
|
121
|
+
*/
|
|
122
|
+
readonly timeMachine: {
|
|
123
|
+
readonly root: () => "@react_buoy_time_machine";
|
|
124
|
+
readonly diffViewerMode: () => "@react_buoy_time_machine_diff_viewer_mode";
|
|
125
|
+
};
|
|
98
126
|
/**
|
|
99
127
|
* React Query-related storage keys
|
|
100
128
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devToolsStorageKeys.d.ts","sourceRoot":"","sources":["../../../../src/storage/devToolsStorageKeys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;;IAGH;;OAEG;;;;;;;IASH;;OAEG;;;;;;;;IAUH;;OAEG;;;;;;QAQD,kDAAkD;;QAElD,gCAAgC;;QAGhC,gCAAgC;;;IAKlC;;OAEG;;;QAGD,mCAAmC;;QAEnC,qEAAqE;;;IAIvE;;OAEG;;;;;IAOH;;OAEG;;;;;;;IAQH;;OAEG;;;;;;;IASH;;OAEG;;;;;;;;;;;;;;IAuBH;;OAEG;;;;;;;;;;;IAiBH;;OAEG;;;;;;;;;;QAcD;;;WAGG;;QAEH;;;;;WAKG;;;IAIL;;OAEG;;;;;;;;;;IAgBH;;OAEG;;;;;;;QAUD,2BAA2B;;;IAK7B;;OAEG;;;;;;;;;IAcH;;OAEG;;;;QAID,oCAAoC;;QAGpC,wCAAwC;;QAGxC,2BAA2B;;;CAIrB,CAAC;AAwBX;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA0BzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAsBpD"}
|
|
1
|
+
{"version":3,"file":"devToolsStorageKeys.d.ts","sourceRoot":"","sources":["../../../../src/storage/devToolsStorageKeys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;;IAGH;;OAEG;;;;;;;IASH;;OAEG;;;;;;;;IAUH;;;;;;;;;;OAUG;8BACc,MAAM;;QAInB,kEAAkE;;;QAGlE,iCAAiC;sBACnB,MAAM;;IAIxB;;OAEG;;;;;;QAQD,kDAAkD;;QAElD,gCAAgC;;QAGhC,gCAAgC;;;IAKlC;;OAEG;;;QAGD,mCAAmC;;QAEnC,qEAAqE;;;IAIvE;;OAEG;;;;;IAOH;;OAEG;;;;;;;IAQH;;OAEG;;;;;;;IASH;;OAEG;;;;;;;;;;;;;;IAuBH;;;;OAIG;;;;;IAOH;;OAEG;;;;;;;;;;;IAiBH;;OAEG;;;;;;;;;;QAcD;;;WAGG;;QAEH;;;;;WAKG;;;IAIL;;OAEG;;;;;;;;;;IAgBH;;OAEG;;;;;;;QAUD,2BAA2B;;;IAK7B;;OAEG;;;;;;;;;IAcH;;OAEG;;;;QAID,oCAAoC;;QAGpC,wCAAwC;;QAGxC,2BAA2B;;;CAIrB,CAAC;AAwBX;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA0BzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAsBpD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Size guards for anything a tool puts on the sync wire.
|
|
3
|
+
*
|
|
4
|
+
* Every adapter faces the same problem: a snapshot is rebuilt and serialized
|
|
5
|
+
* on the device's JS thread ~5x/sec while a dashboard watches, and one fat or
|
|
6
|
+
* unserializable field can either freeze that thread or blow the emit layer's
|
|
7
|
+
* budget — which drops the WHOLE snapshot and leaves the panel stale.
|
|
8
|
+
*
|
|
9
|
+
* Two rules make that safe, and both are easy to get subtly wrong, which is
|
|
10
|
+
* why they live here instead of being copied per adapter:
|
|
11
|
+
*
|
|
12
|
+
* 1. NEVER measure by serializing. `JSON.stringify(value).length` is
|
|
13
|
+
* O(payload) and allocates the whole string — an unbounded cost to
|
|
14
|
+
* enforce a 16KB cap, i.e. the protection becomes the freeze. Walk with
|
|
15
|
+
* an early abort instead: the cost is O(limit) no matter how big the
|
|
16
|
+
* value, and a string costs a length read rather than a scan.
|
|
17
|
+
*
|
|
18
|
+
* 2. Only reach for `JSON.stringify` when the walk saw something that could
|
|
19
|
+
* actually make it throw. A value straight out of `JSON.parse` — which is
|
|
20
|
+
* what a network body or a stored string is — is a finite tree of plain
|
|
21
|
+
* values and can never throw, so the check is pure waste on the common
|
|
22
|
+
* path.
|
|
23
|
+
*/
|
|
24
|
+
export interface SizeWalk {
|
|
25
|
+
/** Bytes counted before the walk finished or passed `limit`. */
|
|
26
|
+
bytes: number;
|
|
27
|
+
/**
|
|
28
|
+
* An object/array was reached by more than one path. A cycle always causes
|
|
29
|
+
* this, so `false` PROVES the value is a tree and therefore cycle-free.
|
|
30
|
+
* (`true` does not prove a cycle — plain structural sharing sets it too.)
|
|
31
|
+
*/
|
|
32
|
+
sawRepeat: boolean;
|
|
33
|
+
/** A bigint was reached. `JSON.stringify` THROWS on those, unlike functions. */
|
|
34
|
+
sawBigInt: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Approximate JSON size, aborting as soon as `limit` is passed — O(limit),
|
|
38
|
+
* never O(payload). Returns the bytes counted so far, so one walk can both
|
|
39
|
+
* threshold ("over the per-field cap?") and accumulate ("how much of the
|
|
40
|
+
* snapshot budget is left?").
|
|
41
|
+
*/
|
|
42
|
+
export declare function approxJsonSize(value: unknown, limit: number): SizeWalk;
|
|
43
|
+
/**
|
|
44
|
+
* Should this value be withheld from the wire — too big, or unserializable?
|
|
45
|
+
*
|
|
46
|
+
* The ordering is the point: measure with the early-abort walk, and only pay
|
|
47
|
+
* for `JSON.stringify` when the walk found a reason it might throw.
|
|
48
|
+
*/
|
|
49
|
+
export declare function isOverWireBudget(value: unknown, limit: number): boolean;
|
|
50
|
+
//# sourceMappingURL=wireBudget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wireBudget.d.ts","sourceRoot":"","sources":["../../../../src/sync/wireBudget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,MAAM,WAAW,QAAQ;IACvB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAmCtE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAUvE"}
|
|
@@ -3,7 +3,9 @@ interface HeaderSearchButtonProps {
|
|
|
3
3
|
size?: number;
|
|
4
4
|
color?: string;
|
|
5
5
|
style?: any;
|
|
6
|
+
accessibilityLabel?: string;
|
|
7
|
+
testID?: string;
|
|
6
8
|
}
|
|
7
|
-
export declare function HeaderSearchButton({ onPress, size, color, style, }: HeaderSearchButtonProps): import("react").JSX.Element;
|
|
9
|
+
export declare function HeaderSearchButton({ onPress, size, color, style, accessibilityLabel, testID, }: HeaderSearchButtonProps): import("react").JSX.Element;
|
|
8
10
|
export {};
|
|
9
11
|
//# sourceMappingURL=HeaderSearchButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderSearchButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/HeaderSearchButton.tsx"],"names":[],"mappings":"AAIA,UAAU,uBAAuB;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderSearchButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/HeaderSearchButton.tsx"],"names":[],"mappings":"AAIA,UAAU,uBAAuB;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,IAAS,EACT,KAA8B,EAC9B,KAAK,EACL,kBAA6B,EAC7B,MAAM,GACP,EAAE,uBAAuB,+BAazB"}
|