@buoy-gg/storage 7.0.22 → 7.0.23
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/storage/components/GameUIStorageBrowser.js +14 -12
- package/lib/commonjs/storage/components/StorageModalWithTabs.js +12 -10
- package/lib/commonjs/storage/utils/snapshotProvider.js +4 -6
- package/lib/module/storage/components/GameUIStorageBrowser.js +15 -13
- package/lib/module/storage/components/StorageModalWithTabs.js +13 -11
- package/lib/module/storage/utils/snapshotProvider.js +4 -6
- package/lib/typescript/storage/components/GameUIStorageBrowser.d.ts +6 -2
- package/lib/typescript/storage/components/GameUIStorageBrowser.d.ts.map +1 -1
- package/lib/typescript/storage/components/StorageModalWithTabs.d.ts +6 -1
- package/lib/typescript/storage/components/StorageModalWithTabs.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -51,8 +51,12 @@ function getInstanceColor(instanceId) {
|
|
|
51
51
|
return INSTANCE_COLORS[hash % INSTANCE_COLORS.length];
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
/**
|
|
55
|
-
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated Read the live limit with `useLimit("storage.keys")` — this only
|
|
56
|
+
* reports the FREE tier's value and is blind to the anonymous tier. Kept
|
|
57
|
+
* because it is part of the package's public exports.
|
|
58
|
+
*/
|
|
59
|
+
const FREE_TIER_KEY_LIMIT = exports.FREE_TIER_KEY_LIMIT = _sharedUi.TIER_LIMITS["storage.keys"].free;
|
|
56
60
|
function GameUIStorageBrowser({
|
|
57
61
|
requiredStorageKeys = [],
|
|
58
62
|
showFilters = false,
|
|
@@ -75,6 +79,8 @@ function GameUIStorageBrowser({
|
|
|
75
79
|
applySafeAreaInset
|
|
76
80
|
}) {
|
|
77
81
|
const isPro = (0, _license.useIsPro)();
|
|
82
|
+
const keyLimit = (0, _sharedUi.useLimit)("storage.keys");
|
|
83
|
+
const mmkvInstanceLimit = (0, _sharedUi.useLimit)("storage.mmkvInstances");
|
|
78
84
|
const [showUpgradeModal, setShowUpgradeModal] = (0, _react.useState)(false);
|
|
79
85
|
|
|
80
86
|
// Auto-close upgrade modal when user becomes Pro
|
|
@@ -512,17 +518,13 @@ function GameUIStorageBrowser({
|
|
|
512
518
|
return keys;
|
|
513
519
|
}, [sortedKeys, activeFilter, activeStorageType, ignoredPatterns, searchQuery, selectedMMKVInstance, enabledStorageTypes, pinnedKeys]);
|
|
514
520
|
|
|
515
|
-
//
|
|
516
|
-
const visibleKeys = (0, _react.useMemo)(() =>
|
|
517
|
-
if (isPro) return filteredKeys;
|
|
518
|
-
return filteredKeys.slice(0, FREE_TIER_KEY_LIMIT);
|
|
519
|
-
}, [filteredKeys, isPro]);
|
|
521
|
+
// Pro is Infinity here, so slice() returns everything.
|
|
522
|
+
const visibleKeys = (0, _react.useMemo)(() => filteredKeys.slice(0, keyLimit), [filteredKeys, keyLimit]);
|
|
520
523
|
|
|
521
524
|
// Calculate how many keys are locked (only those matching current filter)
|
|
522
525
|
const lockedKeyCount = (0, _react.useMemo)(() => {
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
}, [filteredKeys.length, isPro]);
|
|
526
|
+
return Math.max(0, filteredKeys.length - keyLimit);
|
|
527
|
+
}, [filteredKeys.length, keyLimit]);
|
|
526
528
|
const hasLockedKeys = lockedKeyCount > 0;
|
|
527
529
|
|
|
528
530
|
// Calculate stats from FILTERED keys to show actual visible counts
|
|
@@ -629,7 +631,7 @@ function GameUIStorageBrowser({
|
|
|
629
631
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
630
632
|
style: styles.instanceNavbarLabel,
|
|
631
633
|
children: "INSTANCES"
|
|
632
|
-
}),
|
|
634
|
+
}), mmkvInstances.length > mmkvInstanceLimit && /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ProBadge, {
|
|
633
635
|
style: {
|
|
634
636
|
transform: [{
|
|
635
637
|
scale: 0.85
|
|
@@ -657,7 +659,7 @@ function GameUIStorageBrowser({
|
|
|
657
659
|
})
|
|
658
660
|
})]
|
|
659
661
|
}), mmkvInstances.map((inst, index) => {
|
|
660
|
-
const isLocked =
|
|
662
|
+
const isLocked = index >= mmkvInstanceLimit;
|
|
661
663
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
662
664
|
onPress: () => {
|
|
663
665
|
if (isLocked) {
|
|
@@ -23,8 +23,12 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
23
23
|
// Note: StorageEvent type is now imported from useStorageEvents hook
|
|
24
24
|
// which handles both AsyncStorage and MMKV events via the centralized store
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Read the live limit with `useLimit("storage.events")` — this only
|
|
28
|
+
* reports the FREE tier's value and is blind to the anonymous tier. Kept
|
|
29
|
+
* because it is part of the package's public exports.
|
|
30
|
+
*/
|
|
31
|
+
const FREE_TIER_EVENT_LIMIT = exports.FREE_TIER_EVENT_LIMIT = _sharedUi.TIER_LIMITS["storage.events"].free;
|
|
28
32
|
function StorageModalWithTabs({
|
|
29
33
|
visible,
|
|
30
34
|
onClose,
|
|
@@ -38,6 +42,7 @@ function StorageModalWithTabs({
|
|
|
38
42
|
onEventSelect
|
|
39
43
|
}) {
|
|
40
44
|
const isPro = (0, _license.useIsPro)();
|
|
45
|
+
const eventLimit = (0, _sharedUi.useLimit)("storage.events");
|
|
41
46
|
const [activeTab, setActiveTab] = (0, _react.useState)("browser");
|
|
42
47
|
(0, _react.useEffect)(() => {
|
|
43
48
|
onTabChange?.(activeTab);
|
|
@@ -509,14 +514,11 @@ function StorageModalWithTabs({
|
|
|
509
514
|
timestamp: event.timestamp.toISOString()
|
|
510
515
|
}));
|
|
511
516
|
}, [filteredEvents]);
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
const lockedEventCount = (0, _react.useMemo)(() =>
|
|
517
|
-
if (isPro) return 0;
|
|
518
|
-
return Math.max(0, filteredEvents.length - FREE_TIER_EVENT_LIMIT);
|
|
519
|
-
}, [filteredEvents.length, isPro]);
|
|
517
|
+
|
|
518
|
+
// Pro is Infinity here, so slice() returns everything and the locked count
|
|
519
|
+
// floors at 0 — no tier branching needed at the call site.
|
|
520
|
+
const visibleEvents = (0, _react.useMemo)(() => filteredEvents.slice(0, eventLimit), [filteredEvents, eventLimit]);
|
|
521
|
+
const lockedEventCount = (0, _react.useMemo)(() => Math.max(0, filteredEvents.length - eventLimit), [filteredEvents.length, eventLimit]);
|
|
520
522
|
|
|
521
523
|
// FlatList optimization constants
|
|
522
524
|
const END_REACHED_THRESHOLD = 0.8;
|
|
@@ -425,12 +425,10 @@ async function previewItems(target, base) {
|
|
|
425
425
|
}
|
|
426
426
|
items.push(item);
|
|
427
427
|
}
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
}
|
|
433
|
-
}
|
|
428
|
+
// No blanket "N biometric-protected keys" note: a biometric key a restore
|
|
429
|
+
// would actually touch already gets its own won't-apply row carrying that
|
|
430
|
+
// exact reason, so the note only ever restated it for keys nothing was
|
|
431
|
+
// going to do anything with.
|
|
434
432
|
return {
|
|
435
433
|
items,
|
|
436
434
|
notes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { useMemo, useCallback, useState, useEffect } from "react";
|
|
4
4
|
import { StyleSheet, Text, View, TouchableOpacity, ScrollView, Alert } from "react-native";
|
|
5
|
-
import { absoluteFill } from "@buoy-gg/shared-ui";
|
|
5
|
+
import { absoluteFill, useLimit, TIER_LIMITS } from "@buoy-gg/shared-ui";
|
|
6
6
|
import { Database, Zap, ProBadge, ProUpgradeModal } from "@buoy-gg/shared-ui";
|
|
7
7
|
import { isDevToolsStorageKey } from "@buoy-gg/shared-ui";
|
|
8
8
|
import { StorageKeySection } from "./StorageKeySection";
|
|
@@ -49,8 +49,12 @@ function getInstanceColor(instanceId) {
|
|
|
49
49
|
return INSTANCE_COLORS[hash % INSTANCE_COLORS.length];
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
/**
|
|
53
|
-
|
|
52
|
+
/**
|
|
53
|
+
* @deprecated Read the live limit with `useLimit("storage.keys")` — this only
|
|
54
|
+
* reports the FREE tier's value and is blind to the anonymous tier. Kept
|
|
55
|
+
* because it is part of the package's public exports.
|
|
56
|
+
*/
|
|
57
|
+
export const FREE_TIER_KEY_LIMIT = TIER_LIMITS["storage.keys"].free;
|
|
54
58
|
export function GameUIStorageBrowser({
|
|
55
59
|
requiredStorageKeys = [],
|
|
56
60
|
showFilters = false,
|
|
@@ -73,6 +77,8 @@ export function GameUIStorageBrowser({
|
|
|
73
77
|
applySafeAreaInset
|
|
74
78
|
}) {
|
|
75
79
|
const isPro = useIsPro();
|
|
80
|
+
const keyLimit = useLimit("storage.keys");
|
|
81
|
+
const mmkvInstanceLimit = useLimit("storage.mmkvInstances");
|
|
76
82
|
const [showUpgradeModal, setShowUpgradeModal] = useState(false);
|
|
77
83
|
|
|
78
84
|
// Auto-close upgrade modal when user becomes Pro
|
|
@@ -510,17 +516,13 @@ export function GameUIStorageBrowser({
|
|
|
510
516
|
return keys;
|
|
511
517
|
}, [sortedKeys, activeFilter, activeStorageType, ignoredPatterns, searchQuery, selectedMMKVInstance, enabledStorageTypes, pinnedKeys]);
|
|
512
518
|
|
|
513
|
-
//
|
|
514
|
-
const visibleKeys = useMemo(() =>
|
|
515
|
-
if (isPro) return filteredKeys;
|
|
516
|
-
return filteredKeys.slice(0, FREE_TIER_KEY_LIMIT);
|
|
517
|
-
}, [filteredKeys, isPro]);
|
|
519
|
+
// Pro is Infinity here, so slice() returns everything.
|
|
520
|
+
const visibleKeys = useMemo(() => filteredKeys.slice(0, keyLimit), [filteredKeys, keyLimit]);
|
|
518
521
|
|
|
519
522
|
// Calculate how many keys are locked (only those matching current filter)
|
|
520
523
|
const lockedKeyCount = useMemo(() => {
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
}, [filteredKeys.length, isPro]);
|
|
524
|
+
return Math.max(0, filteredKeys.length - keyLimit);
|
|
525
|
+
}, [filteredKeys.length, keyLimit]);
|
|
524
526
|
const hasLockedKeys = lockedKeyCount > 0;
|
|
525
527
|
|
|
526
528
|
// Calculate stats from FILTERED keys to show actual visible counts
|
|
@@ -627,7 +629,7 @@ export function GameUIStorageBrowser({
|
|
|
627
629
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
628
630
|
style: styles.instanceNavbarLabel,
|
|
629
631
|
children: "INSTANCES"
|
|
630
|
-
}),
|
|
632
|
+
}), mmkvInstances.length > mmkvInstanceLimit && /*#__PURE__*/_jsx(ProBadge, {
|
|
631
633
|
style: {
|
|
632
634
|
transform: [{
|
|
633
635
|
scale: 0.85
|
|
@@ -655,7 +657,7 @@ export function GameUIStorageBrowser({
|
|
|
655
657
|
})
|
|
656
658
|
})]
|
|
657
659
|
}), mmkvInstances.map((inst, index) => {
|
|
658
|
-
const isLocked =
|
|
660
|
+
const isLocked = index >= mmkvInstanceLimit;
|
|
659
661
|
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
660
662
|
onPress: () => {
|
|
661
663
|
if (isLocked) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { useState, useCallback, useEffect, useRef, useMemo } from "react";
|
|
4
4
|
import { Text, View, TouchableOpacity, StyleSheet, FlatList, Alert } from "react-native";
|
|
5
5
|
import AsyncStorage from "@react-native-async-storage/async-storage";
|
|
6
|
-
import { JsModal, ModalHeader, TabSelector, parseValue, devToolsStorageKeys, macOSColors, Database, Filter, RefreshCw, Search, SearchBar, PowerToggleButton, ToolbarCopyButton, ToolbarClearButton, truncatePayload, TickProvider } from "@buoy-gg/shared-ui";
|
|
6
|
+
import { JsModal, ModalHeader, TabSelector, parseValue, devToolsStorageKeys, macOSColors, Database, Filter, RefreshCw, Search, SearchBar, PowerToggleButton, ToolbarCopyButton, ToolbarClearButton, truncatePayload, TickProvider, useLimit, TIER_LIMITS } from "@buoy-gg/shared-ui";
|
|
7
7
|
import { StorageBrowserMode } from "./StorageBrowserMode";
|
|
8
8
|
import { StorageTypeFilterBar, countByStorageType } from "./StorageTypeFilterBar";
|
|
9
9
|
import { clearAllAppStorage, clearAllStorageIncludingDevTools } from "../utils/clearAllStorage";
|
|
@@ -17,9 +17,13 @@ import { StorageEventCard } from "./StorageEventCard";
|
|
|
17
17
|
|
|
18
18
|
import { useIsPro } from "@buoy-gg/license";
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated Read the live limit with `useLimit("storage.events")` — this only
|
|
22
|
+
* reports the FREE tier's value and is blind to the anonymous tier. Kept
|
|
23
|
+
* because it is part of the package's public exports.
|
|
24
|
+
*/
|
|
21
25
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
22
|
-
export const FREE_TIER_EVENT_LIMIT =
|
|
26
|
+
export const FREE_TIER_EVENT_LIMIT = TIER_LIMITS["storage.events"].free;
|
|
23
27
|
export function StorageModalWithTabs({
|
|
24
28
|
visible,
|
|
25
29
|
onClose,
|
|
@@ -33,6 +37,7 @@ export function StorageModalWithTabs({
|
|
|
33
37
|
onEventSelect
|
|
34
38
|
}) {
|
|
35
39
|
const isPro = useIsPro();
|
|
40
|
+
const eventLimit = useLimit("storage.events");
|
|
36
41
|
const [activeTab, setActiveTab] = useState("browser");
|
|
37
42
|
useEffect(() => {
|
|
38
43
|
onTabChange?.(activeTab);
|
|
@@ -504,14 +509,11 @@ export function StorageModalWithTabs({
|
|
|
504
509
|
timestamp: event.timestamp.toISOString()
|
|
505
510
|
}));
|
|
506
511
|
}, [filteredEvents]);
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
const lockedEventCount = useMemo(() =>
|
|
512
|
-
if (isPro) return 0;
|
|
513
|
-
return Math.max(0, filteredEvents.length - FREE_TIER_EVENT_LIMIT);
|
|
514
|
-
}, [filteredEvents.length, isPro]);
|
|
512
|
+
|
|
513
|
+
// Pro is Infinity here, so slice() returns everything and the locked count
|
|
514
|
+
// floors at 0 — no tier branching needed at the call site.
|
|
515
|
+
const visibleEvents = useMemo(() => filteredEvents.slice(0, eventLimit), [filteredEvents, eventLimit]);
|
|
516
|
+
const lockedEventCount = useMemo(() => Math.max(0, filteredEvents.length - eventLimit), [filteredEvents.length, eventLimit]);
|
|
515
517
|
|
|
516
518
|
// FlatList optimization constants
|
|
517
519
|
const END_REACHED_THRESHOLD = 0.8;
|
|
@@ -423,12 +423,10 @@ async function previewItems(target, base) {
|
|
|
423
423
|
}
|
|
424
424
|
items.push(item);
|
|
425
425
|
}
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
}
|
|
431
|
-
}
|
|
426
|
+
// No blanket "N biometric-protected keys" note: a biometric key a restore
|
|
427
|
+
// would actually touch already gets its own won't-apply row carrying that
|
|
428
|
+
// exact reason, so the note only ever restated it for keys nothing was
|
|
429
|
+
// going to do anything with.
|
|
432
430
|
return {
|
|
433
431
|
items,
|
|
434
432
|
notes
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { MutableRefObject } from "react";
|
|
2
2
|
import { RequiredStorageKey } from "../types";
|
|
3
3
|
import { type StorageFilterType, type StorageTypeFilter } from "./StorageFilterCards";
|
|
4
|
-
/**
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Read the live limit with `useLimit("storage.keys")` — this only
|
|
6
|
+
* reports the FREE tier's value and is blind to the anonymous tier. Kept
|
|
7
|
+
* because it is part of the package's public exports.
|
|
8
|
+
*/
|
|
9
|
+
export declare const FREE_TIER_KEY_LIMIT: number;
|
|
6
10
|
interface GameUIStorageBrowserProps {
|
|
7
11
|
requiredStorageKeys?: RequiredStorageKey[];
|
|
8
12
|
showFilters?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameUIStorageBrowser.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/GameUIStorageBrowser.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,gBAAgB,EACjB,MAAM,OAAO,CAAC;AAWf,OAAO,EAAkB,kBAAkB,EAAmB,MAAM,UAAU,CAAC;AAK/E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AA2C9B
|
|
1
|
+
{"version":3,"file":"GameUIStorageBrowser.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/GameUIStorageBrowser.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,gBAAgB,EACjB,MAAM,OAAO,CAAC;AAWf,OAAO,EAAkB,kBAAkB,EAAmB,MAAM,UAAU,CAAC;AAK/E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AA2C9B;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAmC,CAAC;AAEpE,UAAU,yBAAyB;IACjC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IACvD;;;;OAIG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC3D,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,KAAK,IAAI,CAAC;IACX,yCAAyC;IACzC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,kCAAkC;IAClC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9D,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,mBAAwB,EACxB,WAAmB,EACnB,eAA0C,EAC1C,eAAe,EACf,YAAY,EACZ,WAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,GACnB,EAAE,yBAAyB,+BAg+B3B"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { RequiredStorageKey } from "../types";
|
|
2
2
|
import { type StorageEvent } from "../hooks/useStorageEvents";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Read the live limit with `useLimit("storage.events")` — this only
|
|
5
|
+
* reports the FREE tier's value and is blind to the anonymous tier. Kept
|
|
6
|
+
* because it is part of the package's public exports.
|
|
7
|
+
*/
|
|
8
|
+
export declare const FREE_TIER_EVENT_LIMIT: number;
|
|
4
9
|
interface StorageModalWithTabsProps {
|
|
5
10
|
visible: boolean;
|
|
6
11
|
onClose: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageModalWithTabs.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/StorageModalWithTabs.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StorageModalWithTabs.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/StorageModalWithTabs.tsx"],"names":[],"mappings":"AA+BA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAY9C,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAchF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAqC,CAAC;AAExE,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,QAAQ,KAAK,IAAI,CAAC;IAClD;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C;AAqBD,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,2BAAmC,EACnC,mBAAwB,EACxB,MAAc,EACd,WAAW,EACX,SAAS,EACT,aAAa,GACd,EAAE,yBAAyB,sCAu/B3B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,GAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAM,+BAG9E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buoy-gg/storage",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.23",
|
|
4
4
|
"description": "Browse & edit AsyncStorage, MMKV & SecureStore inside your React Native app, with change history. Part of Buoy devtools.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"**/snapshotProvider.ts"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@buoy-gg/floating-tools-core": "^7.0.
|
|
33
|
-
"@buoy-gg/shared-ui": "^7.0.
|
|
32
|
+
"@buoy-gg/floating-tools-core": "^7.0.23",
|
|
33
|
+
"@buoy-gg/shared-ui": "^7.0.23"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"@buoy-gg/license": "7.0.
|
|
36
|
+
"@buoy-gg/license": "7.0.23",
|
|
37
37
|
"@react-native-async-storage/async-storage": "^2.0.0 || ^3.1.0",
|
|
38
38
|
"react": "*",
|
|
39
39
|
"react-native": "*"
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@types/react": "^19.1.0",
|
|
44
44
|
"@types/react-native": "^0.73.0",
|
|
45
45
|
"typescript": "~5.8.3",
|
|
46
|
-
"@buoy-gg/license": "^7.0.
|
|
46
|
+
"@buoy-gg/license": "^7.0.23"
|
|
47
47
|
},
|
|
48
48
|
"react-native-builder-bob": {
|
|
49
49
|
"source": "src",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"bugs": {
|
|
78
78
|
"url": "https://github.com/LovesWorking/react-native-buoy/issues"
|
|
79
79
|
},
|
|
80
|
-
"homepage": "https://buoy.gg/tools/storage",
|
|
80
|
+
"homepage": "https://buoy.gg/buoy/latest/docs/tools/storage",
|
|
81
81
|
"publishConfig": {
|
|
82
82
|
"access": "public",
|
|
83
83
|
"tag": "latest"
|