@buoy-gg/storage 1.7.2

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.
Files changed (187) hide show
  1. package/README.md +607 -0
  2. package/lib/commonjs/index.js +34 -0
  3. package/lib/commonjs/package.json +1 -0
  4. package/lib/commonjs/preset.js +94 -0
  5. package/lib/commonjs/storage/components/DiffViewer/DiffOptionsPanel.js +356 -0
  6. package/lib/commonjs/storage/components/DiffViewer/TreeDiffViewer.js +29 -0
  7. package/lib/commonjs/storage/components/DiffViewer/components/DiffSummary.js +121 -0
  8. package/lib/commonjs/storage/components/DiffViewer/modes/ThemedSplitView.js +419 -0
  9. package/lib/commonjs/storage/components/DiffViewer/themes/diffThemes.js +122 -0
  10. package/lib/commonjs/storage/components/GameUIStorageBrowser.js +924 -0
  11. package/lib/commonjs/storage/components/GameUIStorageStats.js +746 -0
  12. package/lib/commonjs/storage/components/MMKVInstanceInfoPanel.js +257 -0
  13. package/lib/commonjs/storage/components/MMKVInstanceSelector.js +418 -0
  14. package/lib/commonjs/storage/components/SelectionActionBar.js +224 -0
  15. package/lib/commonjs/storage/components/StorageActionButtons.js +239 -0
  16. package/lib/commonjs/storage/components/StorageActions.js +192 -0
  17. package/lib/commonjs/storage/components/StorageBrowserMode.js +31 -0
  18. package/lib/commonjs/storage/components/StorageEventDetailContent.js +1025 -0
  19. package/lib/commonjs/storage/components/StorageEventFilterView.js +141 -0
  20. package/lib/commonjs/storage/components/StorageEventListener.js +357 -0
  21. package/lib/commonjs/storage/components/StorageEventsSection.js +24 -0
  22. package/lib/commonjs/storage/components/StorageFilterCards.js +345 -0
  23. package/lib/commonjs/storage/components/StorageFilterViewV2.js +42 -0
  24. package/lib/commonjs/storage/components/StorageKeyCard.js +516 -0
  25. package/lib/commonjs/storage/components/StorageKeyRow.js +356 -0
  26. package/lib/commonjs/storage/components/StorageKeySection.js +105 -0
  27. package/lib/commonjs/storage/components/StorageKeyStats.js +344 -0
  28. package/lib/commonjs/storage/components/StorageModalWithTabs.js +871 -0
  29. package/lib/commonjs/storage/components/StorageSection.js +43 -0
  30. package/lib/commonjs/storage/hooks/useAsyncStorageKeys.js +126 -0
  31. package/lib/commonjs/storage/hooks/useMMKVInstances.js +221 -0
  32. package/lib/commonjs/storage/hooks/useMMKVKeys.js +362 -0
  33. package/lib/commonjs/storage/hooks/useTickEverySecond.js +21 -0
  34. package/lib/commonjs/storage/index.js +148 -0
  35. package/lib/commonjs/storage/types.js +5 -0
  36. package/lib/commonjs/storage/utils/AsyncStorageListener.js +510 -0
  37. package/lib/commonjs/storage/utils/MMKVInstanceRegistry.js +202 -0
  38. package/lib/commonjs/storage/utils/MMKVListener.js +380 -0
  39. package/lib/commonjs/storage/utils/clearAllStorage.js +47 -0
  40. package/lib/commonjs/storage/utils/index.js +180 -0
  41. package/lib/commonjs/storage/utils/lineDiff.js +363 -0
  42. package/lib/commonjs/storage/utils/mmkvAvailability.js +62 -0
  43. package/lib/commonjs/storage/utils/mmkvTypeDetection.js +139 -0
  44. package/lib/commonjs/storage/utils/objectDiff.js +157 -0
  45. package/lib/commonjs/storage/utils/safeAsyncStorage.js +140 -0
  46. package/lib/commonjs/storage/utils/storageActionHelpers.js +46 -0
  47. package/lib/commonjs/storage/utils/storageQueryUtils.js +35 -0
  48. package/lib/commonjs/storage/utils/valueType.js +18 -0
  49. package/lib/module/index.js +7 -0
  50. package/lib/module/preset.js +89 -0
  51. package/lib/module/storage/components/DiffViewer/DiffOptionsPanel.js +352 -0
  52. package/lib/module/storage/components/DiffViewer/TreeDiffViewer.js +25 -0
  53. package/lib/module/storage/components/DiffViewer/components/DiffSummary.js +117 -0
  54. package/lib/module/storage/components/DiffViewer/modes/ThemedSplitView.js +415 -0
  55. package/lib/module/storage/components/DiffViewer/themes/diffThemes.js +118 -0
  56. package/lib/module/storage/components/GameUIStorageBrowser.js +922 -0
  57. package/lib/module/storage/components/GameUIStorageStats.js +742 -0
  58. package/lib/module/storage/components/MMKVInstanceInfoPanel.js +253 -0
  59. package/lib/module/storage/components/MMKVInstanceSelector.js +414 -0
  60. package/lib/module/storage/components/SelectionActionBar.js +221 -0
  61. package/lib/module/storage/components/StorageActionButtons.js +236 -0
  62. package/lib/module/storage/components/StorageActions.js +189 -0
  63. package/lib/module/storage/components/StorageBrowserMode.js +27 -0
  64. package/lib/module/storage/components/StorageEventDetailContent.js +1020 -0
  65. package/lib/module/storage/components/StorageEventFilterView.js +137 -0
  66. package/lib/module/storage/components/StorageEventListener.js +354 -0
  67. package/lib/module/storage/components/StorageEventsSection.js +20 -0
  68. package/lib/module/storage/components/StorageFilterCards.js +341 -0
  69. package/lib/module/storage/components/StorageFilterViewV2.js +38 -0
  70. package/lib/module/storage/components/StorageKeyCard.js +513 -0
  71. package/lib/module/storage/components/StorageKeyRow.js +353 -0
  72. package/lib/module/storage/components/StorageKeySection.js +101 -0
  73. package/lib/module/storage/components/StorageKeyStats.js +340 -0
  74. package/lib/module/storage/components/StorageModalWithTabs.js +867 -0
  75. package/lib/module/storage/components/StorageSection.js +40 -0
  76. package/lib/module/storage/hooks/useAsyncStorageKeys.js +121 -0
  77. package/lib/module/storage/hooks/useMMKVInstances.js +216 -0
  78. package/lib/module/storage/hooks/useMMKVKeys.js +359 -0
  79. package/lib/module/storage/hooks/useTickEverySecond.js +18 -0
  80. package/lib/module/storage/index.js +25 -0
  81. package/lib/module/storage/types.js +3 -0
  82. package/lib/module/storage/utils/AsyncStorageListener.js +500 -0
  83. package/lib/module/storage/utils/MMKVInstanceRegistry.js +196 -0
  84. package/lib/module/storage/utils/MMKVListener.js +367 -0
  85. package/lib/module/storage/utils/clearAllStorage.js +42 -0
  86. package/lib/module/storage/utils/index.js +22 -0
  87. package/lib/module/storage/utils/lineDiff.js +359 -0
  88. package/lib/module/storage/utils/mmkvAvailability.js +56 -0
  89. package/lib/module/storage/utils/mmkvTypeDetection.js +133 -0
  90. package/lib/module/storage/utils/objectDiff.js +153 -0
  91. package/lib/module/storage/utils/safeAsyncStorage.js +134 -0
  92. package/lib/module/storage/utils/storageActionHelpers.js +42 -0
  93. package/lib/module/storage/utils/storageQueryUtils.js +30 -0
  94. package/lib/module/storage/utils/valueType.js +14 -0
  95. package/lib/typescript/index.d.ts +3 -0
  96. package/lib/typescript/index.d.ts.map +1 -0
  97. package/lib/typescript/preset.d.ts +90 -0
  98. package/lib/typescript/preset.d.ts.map +1 -0
  99. package/lib/typescript/storage/components/DiffViewer/DiffOptionsPanel.d.ts +18 -0
  100. package/lib/typescript/storage/components/DiffViewer/DiffOptionsPanel.d.ts.map +1 -0
  101. package/lib/typescript/storage/components/DiffViewer/TreeDiffViewer.d.ts +7 -0
  102. package/lib/typescript/storage/components/DiffViewer/TreeDiffViewer.d.ts.map +1 -0
  103. package/lib/typescript/storage/components/DiffViewer/components/DiffSummary.d.ts +12 -0
  104. package/lib/typescript/storage/components/DiffViewer/components/DiffSummary.d.ts.map +1 -0
  105. package/lib/typescript/storage/components/DiffViewer/modes/ThemedSplitView.d.ts +13 -0
  106. package/lib/typescript/storage/components/DiffViewer/modes/ThemedSplitView.d.ts.map +1 -0
  107. package/lib/typescript/storage/components/DiffViewer/themes/diffThemes.d.ts +64 -0
  108. package/lib/typescript/storage/components/DiffViewer/themes/diffThemes.d.ts.map +1 -0
  109. package/lib/typescript/storage/components/GameUIStorageBrowser.d.ts +16 -0
  110. package/lib/typescript/storage/components/GameUIStorageBrowser.d.ts.map +1 -0
  111. package/lib/typescript/storage/components/GameUIStorageStats.d.ts +7 -0
  112. package/lib/typescript/storage/components/GameUIStorageStats.d.ts.map +1 -0
  113. package/lib/typescript/storage/components/MMKVInstanceInfoPanel.d.ts +42 -0
  114. package/lib/typescript/storage/components/MMKVInstanceInfoPanel.d.ts.map +1 -0
  115. package/lib/typescript/storage/components/MMKVInstanceSelector.d.ts +35 -0
  116. package/lib/typescript/storage/components/MMKVInstanceSelector.d.ts.map +1 -0
  117. package/lib/typescript/storage/components/SelectionActionBar.d.ts +21 -0
  118. package/lib/typescript/storage/components/SelectionActionBar.d.ts.map +1 -0
  119. package/lib/typescript/storage/components/StorageActionButtons.d.ts +21 -0
  120. package/lib/typescript/storage/components/StorageActionButtons.d.ts.map +1 -0
  121. package/lib/typescript/storage/components/StorageActions.d.ts +10 -0
  122. package/lib/typescript/storage/components/StorageActions.d.ts.map +1 -0
  123. package/lib/typescript/storage/components/StorageBrowserMode.d.ts +18 -0
  124. package/lib/typescript/storage/components/StorageBrowserMode.d.ts.map +1 -0
  125. package/lib/typescript/storage/components/StorageEventDetailContent.d.ts +40 -0
  126. package/lib/typescript/storage/components/StorageEventDetailContent.d.ts.map +1 -0
  127. package/lib/typescript/storage/components/StorageEventFilterView.d.ts +11 -0
  128. package/lib/typescript/storage/components/StorageEventFilterView.d.ts.map +1 -0
  129. package/lib/typescript/storage/components/StorageEventListener.d.ts +6 -0
  130. package/lib/typescript/storage/components/StorageEventListener.d.ts.map +1 -0
  131. package/lib/typescript/storage/components/StorageEventsSection.d.ts +7 -0
  132. package/lib/typescript/storage/components/StorageEventsSection.d.ts.map +1 -0
  133. package/lib/typescript/storage/components/StorageFilterCards.d.ts +36 -0
  134. package/lib/typescript/storage/components/StorageFilterCards.d.ts.map +1 -0
  135. package/lib/typescript/storage/components/StorageFilterViewV2.d.ts +9 -0
  136. package/lib/typescript/storage/components/StorageFilterViewV2.d.ts.map +1 -0
  137. package/lib/typescript/storage/components/StorageKeyCard.d.ts +17 -0
  138. package/lib/typescript/storage/components/StorageKeyCard.d.ts.map +1 -0
  139. package/lib/typescript/storage/components/StorageKeyRow.d.ts +15 -0
  140. package/lib/typescript/storage/components/StorageKeyRow.d.ts.map +1 -0
  141. package/lib/typescript/storage/components/StorageKeySection.d.ts +25 -0
  142. package/lib/typescript/storage/components/StorageKeySection.d.ts.map +1 -0
  143. package/lib/typescript/storage/components/StorageKeyStats.d.ts +15 -0
  144. package/lib/typescript/storage/components/StorageKeyStats.d.ts.map +1 -0
  145. package/lib/typescript/storage/components/StorageModalWithTabs.d.ts +13 -0
  146. package/lib/typescript/storage/components/StorageModalWithTabs.d.ts.map +1 -0
  147. package/lib/typescript/storage/components/StorageSection.d.ts +10 -0
  148. package/lib/typescript/storage/components/StorageSection.d.ts.map +1 -0
  149. package/lib/typescript/storage/hooks/useAsyncStorageKeys.d.ts +10 -0
  150. package/lib/typescript/storage/hooks/useAsyncStorageKeys.d.ts.map +1 -0
  151. package/lib/typescript/storage/hooks/useMMKVInstances.d.ts +114 -0
  152. package/lib/typescript/storage/hooks/useMMKVInstances.d.ts.map +1 -0
  153. package/lib/typescript/storage/hooks/useMMKVKeys.d.ts +94 -0
  154. package/lib/typescript/storage/hooks/useMMKVKeys.d.ts.map +1 -0
  155. package/lib/typescript/storage/hooks/useTickEverySecond.d.ts +6 -0
  156. package/lib/typescript/storage/hooks/useTickEverySecond.d.ts.map +1 -0
  157. package/lib/typescript/storage/index.d.ts +15 -0
  158. package/lib/typescript/storage/index.d.ts.map +1 -0
  159. package/lib/typescript/storage/types.d.ts +41 -0
  160. package/lib/typescript/storage/types.d.ts.map +1 -0
  161. package/lib/typescript/storage/utils/AsyncStorageListener.d.ts +195 -0
  162. package/lib/typescript/storage/utils/AsyncStorageListener.d.ts.map +1 -0
  163. package/lib/typescript/storage/utils/MMKVInstanceRegistry.d.ts +224 -0
  164. package/lib/typescript/storage/utils/MMKVInstanceRegistry.d.ts.map +1 -0
  165. package/lib/typescript/storage/utils/MMKVListener.d.ts +218 -0
  166. package/lib/typescript/storage/utils/MMKVListener.d.ts.map +1 -0
  167. package/lib/typescript/storage/utils/clearAllStorage.d.ts +11 -0
  168. package/lib/typescript/storage/utils/clearAllStorage.d.ts.map +1 -0
  169. package/lib/typescript/storage/utils/index.d.ts +8 -0
  170. package/lib/typescript/storage/utils/index.d.ts.map +1 -0
  171. package/lib/typescript/storage/utils/lineDiff.d.ts +34 -0
  172. package/lib/typescript/storage/utils/lineDiff.d.ts.map +1 -0
  173. package/lib/typescript/storage/utils/mmkvAvailability.d.ts +23 -0
  174. package/lib/typescript/storage/utils/mmkvAvailability.d.ts.map +1 -0
  175. package/lib/typescript/storage/utils/mmkvTypeDetection.d.ts +71 -0
  176. package/lib/typescript/storage/utils/mmkvTypeDetection.d.ts.map +1 -0
  177. package/lib/typescript/storage/utils/objectDiff.d.ts +35 -0
  178. package/lib/typescript/storage/utils/objectDiff.d.ts.map +1 -0
  179. package/lib/typescript/storage/utils/safeAsyncStorage.d.ts +56 -0
  180. package/lib/typescript/storage/utils/safeAsyncStorage.d.ts.map +1 -0
  181. package/lib/typescript/storage/utils/storageActionHelpers.d.ts +5 -0
  182. package/lib/typescript/storage/utils/storageActionHelpers.d.ts.map +1 -0
  183. package/lib/typescript/storage/utils/storageQueryUtils.d.ts +6 -0
  184. package/lib/typescript/storage/utils/storageQueryUtils.d.ts.map +1 -0
  185. package/lib/typescript/storage/utils/valueType.d.ts +3 -0
  186. package/lib/typescript/storage/utils/valueType.d.ts.map +1 -0
  187. package/package.json +68 -0
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Safe AsyncStorage wrapper that handles missing dependencies gracefully.
5
+ *
6
+ * This wrapper allows the storage dev tools to work even when
7
+ * @react-native-async-storage/async-storage is not installed in the host app.
8
+ *
9
+ * When AsyncStorage is not available:
10
+ * - All operations return empty results or no-ops
11
+ * - No errors are thrown
12
+ * - The dev tools can still load (but storage features will be limited)
13
+ */
14
+
15
+ let AsyncStorage = null;
16
+ let isAvailable = false;
17
+ let checkedAvailability = false;
18
+ let checkError = null;
19
+
20
+ /**
21
+ * Check if AsyncStorage is available in the host app
22
+ * This handles three cases:
23
+ * 1. Package not installed (module not found)
24
+ * 2. Package installed but native module not linked (native module null)
25
+ * 3. Package installed and working
26
+ */
27
+ function checkAsyncStorageAvailability() {
28
+ if (checkedAvailability) {
29
+ return isAvailable;
30
+ }
31
+ try {
32
+ // Attempt to require AsyncStorage
33
+ // This might throw if:
34
+ // - Package is not installed (module not found)
35
+ // - Native module is not linked (RCTAsyncStorage is null)
36
+ const AsyncStorageModule = require("@react-native-async-storage/async-storage");
37
+ AsyncStorage = AsyncStorageModule?.default || AsyncStorageModule;
38
+
39
+ // Verify it's actually usable (has the methods we need)
40
+ if (AsyncStorage && typeof AsyncStorage.getItem === "function") {
41
+ isAvailable = true;
42
+ } else {
43
+ isAvailable = false;
44
+ AsyncStorage = null;
45
+ }
46
+ } catch (error) {
47
+ // Catch ALL errors:
48
+ // - Module not found (package not installed)
49
+ // - Native module errors (package installed but native not linked)
50
+ // - Any other initialization errors
51
+ checkError = error;
52
+ isAvailable = false;
53
+ AsyncStorage = null;
54
+ }
55
+ checkedAvailability = true;
56
+ return isAvailable;
57
+ }
58
+
59
+ /**
60
+ * Returns true if AsyncStorage is available in the host app
61
+ */
62
+ export function isAsyncStorageAvailable() {
63
+ return checkAsyncStorageAvailability();
64
+ }
65
+
66
+ /**
67
+ * No-op AsyncStorage implementation for when the package is not installed
68
+ */
69
+ const noOpAsyncStorage = {
70
+ getItem: async _key => null,
71
+ setItem: async (_key, _value) => {},
72
+ removeItem: async _key => {},
73
+ getAllKeys: async () => [],
74
+ multiGet: async _keys => [],
75
+ multiSet: async _keyValuePairs => {},
76
+ multiRemove: async _keys => {},
77
+ clear: async () => {},
78
+ mergeItem: async (_key, _value) => {},
79
+ multiMerge: async _keyValuePairs => {}
80
+ };
81
+
82
+ /**
83
+ * Safe AsyncStorage wrapper that provides no-op fallbacks when unavailable.
84
+ *
85
+ * Usage:
86
+ * ```ts
87
+ * import { safeAsyncStorage } from './utils/safeAsyncStorage';
88
+ *
89
+ * // This will work even if AsyncStorage is not installed
90
+ * const value = await safeAsyncStorage.getItem('myKey');
91
+ * ```
92
+ */
93
+ export const safeAsyncStorage = new Proxy(noOpAsyncStorage, {
94
+ get(_target, prop) {
95
+ // Avoid triggering check for React internal properties or symbols
96
+ if (typeof prop === "symbol" || prop.startsWith("_") || prop.startsWith("$$")) {
97
+ return noOpAsyncStorage[prop];
98
+ }
99
+
100
+ // Only check availability when actually accessing AsyncStorage methods
101
+ try {
102
+ checkAsyncStorageAvailability();
103
+ if (isAvailable && AsyncStorage) {
104
+ return AsyncStorage[prop];
105
+ }
106
+ } catch (error) {
107
+ // If check throws for any reason, fall back to no-op
108
+ }
109
+
110
+ // Return no-op implementation
111
+ return noOpAsyncStorage[prop];
112
+ }
113
+ });
114
+
115
+ /**
116
+ * Get the actual AsyncStorage instance if available, or null if not.
117
+ * Use this when you need to check if AsyncStorage is available before using it.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * const storage = getAsyncStorageInstance();
122
+ * if (storage) {
123
+ * // AsyncStorage is available
124
+ * await storage.setItem('key', 'value');
125
+ * } else {
126
+ * // AsyncStorage is not available, handle gracefully
127
+ * console.warn('AsyncStorage not available');
128
+ * }
129
+ * ```
130
+ */
131
+ export function getAsyncStorageInstance() {
132
+ checkAsyncStorageAvailability();
133
+ return isAvailable ? AsyncStorage : null;
134
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Translates storage action types to human-readable labels
5
+ */
6
+ export function translateStorageAction(action) {
7
+ switch (action) {
8
+ // AsyncStorage actions
9
+ case "setItem":
10
+ return "SET";
11
+ case "removeItem":
12
+ return "REMOVE";
13
+ case "mergeItem":
14
+ return "MERGE";
15
+ case "clear":
16
+ return "CLEAR";
17
+ case "multiSet":
18
+ return "MULTI SET";
19
+ case "multiRemove":
20
+ return "MULTI REMOVE";
21
+ case "multiMerge":
22
+ return "MULTI MERGE";
23
+
24
+ // MMKV actions - simplified to match AsyncStorage
25
+ case "set.string":
26
+ case "set.number":
27
+ case "set.boolean":
28
+ case "set.buffer":
29
+ return "SET";
30
+ case "delete":
31
+ return "REMOVE";
32
+ case "clearAll":
33
+ return "CLEAR";
34
+ case "get.string":
35
+ case "get.number":
36
+ case "get.boolean":
37
+ case "get.buffer":
38
+ return "GET";
39
+ default:
40
+ return "UNKNOWN ACTION";
41
+ }
42
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { gameUIColors } from "@buoy-gg/shared-ui";
4
+ /** Human readable label for a storage type id. */
5
+ export function getStorageTypeLabel(storageType) {
6
+ switch (storageType) {
7
+ case "mmkv":
8
+ return "MMKV";
9
+ case "async":
10
+ return "Async";
11
+ case "secure":
12
+ return "Secure";
13
+ default:
14
+ return storageType;
15
+ }
16
+ }
17
+
18
+ /** Preferred color token for rendering a given storage type. */
19
+ export function getStorageTypeHexColor(storageType) {
20
+ switch (storageType) {
21
+ case "mmkv":
22
+ return gameUIColors.info;
23
+ case "async":
24
+ return gameUIColors.warning;
25
+ case "secure":
26
+ return gameUIColors.success;
27
+ default:
28
+ return gameUIColors.muted;
29
+ }
30
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ /** Return a concise string describing the JavaScript type of the provided value. */
4
+ export function getValueTypeLabel(value) {
5
+ if (value === null) return "null";
6
+ if (value === undefined) return "undefined";
7
+ if (Array.isArray(value)) return "array";
8
+ const type = typeof value;
9
+ if (type === "object") return "object";
10
+ if (type === "boolean") return "boolean";
11
+ if (type === "number") return "number";
12
+ if (type === "string") return "string";
13
+ return "unknown";
14
+ }
@@ -0,0 +1,3 @@
1
+ export { storageToolPreset, createStorageTool } from "./preset";
2
+ export * from "./storage";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGhE,cAAc,WAAW,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Pre-configured AsyncStorage browser tool for FloatingDevTools
3
+ *
4
+ * This preset provides a zero-config way to add AsyncStorage inspection to your dev tools.
5
+ * Just import and add it to your apps array!
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * import { storageToolPreset } from '@buoy-gg/storage';
10
+ *
11
+ * const installedApps = [
12
+ * storageToolPreset, // That's it!
13
+ * // ...other tools
14
+ * ];
15
+ * ```
16
+ */
17
+ import { StorageModalWithTabs } from "./storage/components/StorageModalWithTabs";
18
+ import type { RequiredStorageKey } from "./storage/types";
19
+ /**
20
+ * Pre-configured AsyncStorage browser tool for FloatingDevTools.
21
+ * Includes:
22
+ * - Browse all AsyncStorage keys and values
23
+ * - Edit, delete, and add storage items
24
+ * - Live storage event monitoring
25
+ * - Required key validation
26
+ */
27
+ export declare const storageToolPreset: {
28
+ id: string;
29
+ name: string;
30
+ description: string;
31
+ slot: "both";
32
+ icon: ({ size }: {
33
+ size: number;
34
+ }) => import("react").JSX.Element;
35
+ component: typeof StorageModalWithTabs;
36
+ props: {
37
+ requiredStorageKeys: RequiredStorageKey[];
38
+ enableSharedModalDimensions: boolean;
39
+ };
40
+ };
41
+ /**
42
+ * Create a custom AsyncStorage browser tool configuration.
43
+ * Use this if you want to override default settings or provide required storage keys.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * import { createStorageTool } from '@buoy-gg/storage';
48
+ *
49
+ * const requiredStorageKeys = [
50
+ * {
51
+ * key: "@app/session",
52
+ * expectedType: "string",
53
+ * description: "User session token",
54
+ * storageType: "async",
55
+ * },
56
+ * ];
57
+ *
58
+ * const myStorageTool = createStorageTool({
59
+ * requiredStorageKeys,
60
+ * colorPreset: "purple",
61
+ * enableSharedModalDimensions: true,
62
+ * });
63
+ * ```
64
+ */
65
+ export declare function createStorageTool(options?: {
66
+ /** Tool name (default: "STORAGE") */
67
+ name?: string;
68
+ /** Tool description */
69
+ description?: string;
70
+ /** Custom tool ID (default: "storage") */
71
+ id?: string;
72
+ /** Array of required storage keys to validate */
73
+ requiredStorageKeys?: RequiredStorageKey[];
74
+ /** Enable shared modal dimensions */
75
+ enableSharedModalDimensions?: boolean;
76
+ }): {
77
+ id: string;
78
+ name: string;
79
+ description: string;
80
+ slot: "both";
81
+ icon: ({ size }: {
82
+ size: number;
83
+ }) => import("react").JSX.Element;
84
+ component: typeof StorageModalWithTabs;
85
+ props: {
86
+ requiredStorageKeys: RequiredStorageKey[];
87
+ enableSharedModalDimensions: boolean;
88
+ };
89
+ };
90
+ //# sourceMappingURL=preset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/preset.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;qBAKX;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;6BAGJ,kBAAkB,EAAE;;;CAGlD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAC1C,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,qCAAqC;IACrC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;;;;;qBAMoB;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;;;;EAUpC"}
@@ -0,0 +1,18 @@
1
+ export type DiffCompareMethod = "chars" | "words" | "lines" | "trimmedLines";
2
+ export interface DiffOptions {
3
+ hideLineNumbers: boolean;
4
+ disableWordDiff: boolean;
5
+ showDiffOnly: boolean;
6
+ compareMethod: DiffCompareMethod;
7
+ contextLines: number;
8
+ lineOffset: number;
9
+ }
10
+ interface DiffOptionsPanelProps {
11
+ options: DiffOptions;
12
+ onOptionsChange: (options: DiffOptions) => void;
13
+ isExpanded: boolean;
14
+ onToggleExpanded: () => void;
15
+ }
16
+ export declare function DiffOptionsPanel({ options, onOptionsChange, isExpanded, onToggleExpanded, }: DiffOptionsPanelProps): import("react").JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=DiffOptionsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffOptionsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/storage/components/DiffViewer/DiffOptionsPanel.tsx"],"names":[],"mappings":"AAUA,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC;AAE7E,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,qBAAqB;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AA+BD,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,EAAE,qBAAqB,+BAoNvB"}
@@ -0,0 +1,7 @@
1
+ interface TreeDiffViewerProps {
2
+ oldValue: unknown;
3
+ newValue: unknown;
4
+ }
5
+ export declare function TreeDiffViewer({ oldValue, newValue }: TreeDiffViewerProps): import("react").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=TreeDiffViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeDiffViewer.d.ts","sourceRoot":"","sources":["../../../../../src/storage/components/DiffViewer/TreeDiffViewer.tsx"],"names":[],"mappings":"AAIA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,mBAAmB,+BAUzE"}
@@ -0,0 +1,12 @@
1
+ import { ViewStyle } from "react-native";
2
+ import type { DiffTheme } from "../themes/diffThemes";
3
+ interface DiffSummaryProps {
4
+ added: number;
5
+ removed: number;
6
+ modified: number;
7
+ theme: DiffTheme;
8
+ style?: ViewStyle;
9
+ }
10
+ export declare function DiffSummary({ added, removed, modified, theme, style, }: DiffSummaryProps): import("react").JSX.Element | null;
11
+ export {};
12
+ //# sourceMappingURL=DiffSummary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffSummary.d.ts","sourceRoot":"","sources":["../../../../../../src/storage/components/DiffViewer/components/DiffSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,gBAAgB,sCAiElB"}
@@ -0,0 +1,13 @@
1
+ import { DiffOptions } from "../DiffOptionsPanel";
2
+ import { DiffTheme } from "../themes/diffThemes";
3
+ interface ThemedSplitViewProps {
4
+ oldValue: unknown;
5
+ newValue: unknown;
6
+ differences: unknown[];
7
+ theme: DiffTheme;
8
+ options?: DiffOptions;
9
+ showThemeName?: boolean;
10
+ }
11
+ export declare function ThemedSplitView({ oldValue, newValue, theme, options, showThemeName, }: ThemedSplitViewProps): import("react").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=ThemedSplitView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemedSplitView.d.ts","sourceRoot":"","sources":["../../../../../../src/storage/components/DiffViewer/modes/ThemedSplitView.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,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;CACzB;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAOC,EACD,aAAqB,GACtB,EAAE,oBAAoB,+BAgStB"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Diff Viewer Theme System
3
+ *
4
+ * Only three official themes:
5
+ * 1. Git Classic - Traditional Git colors
6
+ * 2. VS Code Dark Modern - Exact VS Code Dark Modern theme
7
+ * 3. Dev Tools Default - Custom dark theme for our dev tools
8
+ */
9
+ export interface DiffTheme {
10
+ name: string;
11
+ description: string;
12
+ background: string;
13
+ panelBackground: string;
14
+ headerBackground: string;
15
+ addedBackground: string;
16
+ removedBackground: string;
17
+ modifiedBackground: string;
18
+ unchangedBackground: string;
19
+ contextBackground: string;
20
+ addedText: string;
21
+ removedText: string;
22
+ modifiedText: string;
23
+ unchangedText: string;
24
+ addedWordHighlight: string;
25
+ removedWordHighlight: string;
26
+ lineNumberBackground: string;
27
+ lineNumberText: string;
28
+ lineNumberBorder: string;
29
+ markerAddedBackground: string;
30
+ markerRemovedBackground: string;
31
+ markerModifiedBackground: string;
32
+ markerText: string;
33
+ borderColor: string;
34
+ dividerColor: string;
35
+ glowColor?: string;
36
+ neonIntensity?: number;
37
+ accentColor?: string;
38
+ summaryBackground: string;
39
+ summaryAddedText: string;
40
+ summaryRemovedText: string;
41
+ summaryModifiedText: string;
42
+ emptyStateText: string;
43
+ separatorBackground: string;
44
+ separatorText: string;
45
+ }
46
+ /**
47
+ * Git Classic Theme
48
+ * Traditional Git diff colors - simple and familiar
49
+ */
50
+ export declare const gitClassicTheme: DiffTheme;
51
+ /**
52
+ * Dev Tools Default Theme
53
+ * Clean dark theme using our gameUIColors
54
+ */
55
+ export declare const devToolsDefaultTheme: DiffTheme;
56
+ /**
57
+ * Theme collection
58
+ */
59
+ export declare const diffThemes: {
60
+ readonly gitClassic: DiffTheme;
61
+ readonly devToolsDefault: DiffTheme;
62
+ };
63
+ export type DiffThemeKey = keyof typeof diffThemes;
64
+ //# sourceMappingURL=diffThemes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffThemes.d.ts","sourceRoot":"","sources":["../../../../../../src/storage/components/DiffViewer/themes/diffThemes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;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,SAqDlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,UAAU,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { MutableRefObject } from "react";
2
+ import { RequiredStorageKey } from "../types";
3
+ /** Free tier limit for storage keys */
4
+ export declare const FREE_TIER_KEY_LIMIT = 25;
5
+ interface GameUIStorageBrowserProps {
6
+ requiredStorageKeys?: RequiredStorageKey[];
7
+ showFilters?: boolean;
8
+ ignoredPatterns?: Set<string>;
9
+ onTogglePattern?: (pattern: string) => void;
10
+ onAddPattern?: (pattern: string) => void;
11
+ searchQuery?: string;
12
+ storageDataRef?: MutableRefObject<any[]>;
13
+ }
14
+ export declare function GameUIStorageBrowser({ requiredStorageKeys, showFilters, ignoredPatterns, onTogglePattern, onAddPattern, searchQuery, storageDataRef, }: GameUIStorageBrowserProps): import("react").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=GameUIStorageBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameUIStorageBrowser.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/GameUIStorageBrowser.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,gBAAgB,EACjB,MAAM,OAAO,CAAC;AASf,OAAO,EAAkB,kBAAkB,EAAmB,MAAM,UAAU,CAAC;AAsE/E,uCAAuC;AACvC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,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;CAC1C;AAED,wBAAgB,oBAAoB,CAAC,EACnC,mBAAwB,EACxB,WAAmB,EACnB,eAA0C,EAC1C,eAAe,EACf,YAAY,EACZ,WAAgB,EAChB,cAAc,GACf,EAAE,yBAAyB,+BAuwB3B"}
@@ -0,0 +1,7 @@
1
+ import { StorageKeyStats } from "../types";
2
+ interface GameUIStorageStatsProps {
3
+ stats: StorageKeyStats;
4
+ }
5
+ export declare function GameUIStorageStats({ stats }: GameUIStorageStatsProps): import("react").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=GameUIStorageStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameUIStorageStats.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/GameUIStorageStats.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,uBAAuB;IAC/B,KAAK,EAAE,eAAe,CAAC;CACxB;AAgFD,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,EAAE,uBAAuB,+BAwVpE"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * MMKVInstanceInfoPanel Component
3
+ *
4
+ * Displays detailed information about a selected MMKV instance:
5
+ * - Instance ID and path
6
+ * - Encryption status
7
+ * - Read-only status
8
+ * - Key count
9
+ * - Size (if available)
10
+ *
11
+ * Used in GameUIStorageBrowser below the instance selector.
12
+ */
13
+ interface MMKVInstanceInfoPanelProps {
14
+ instanceId: string;
15
+ }
16
+ /**
17
+ * MMKV Instance Info Panel
18
+ *
19
+ * Shows metadata and statistics for a selected MMKV instance.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * function MyStorageUI() {
24
+ * const [selectedInstance, setSelectedInstance] = useState('mmkv.default');
25
+ *
26
+ * return (
27
+ * <View>
28
+ * <MMKVInstanceSelector
29
+ * selectedInstanceId={selectedInstance}
30
+ * onSelectInstance={setSelectedInstance}
31
+ * />
32
+ * {selectedInstance && (
33
+ * <MMKVInstanceInfoPanel instanceId={selectedInstance} />
34
+ * )}
35
+ * </View>
36
+ * );
37
+ * }
38
+ * ```
39
+ */
40
+ export declare function MMKVInstanceInfoPanel({ instanceId, }: MMKVInstanceInfoPanelProps): import("react").JSX.Element;
41
+ export {};
42
+ //# sourceMappingURL=MMKVInstanceInfoPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MMKVInstanceInfoPanel.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/MMKVInstanceInfoPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,UAAU,0BAA0B;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,GACX,EAAE,0BAA0B,+BA0F5B"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * MMKVInstanceSelector Component
3
+ *
4
+ * Dropdown selector for choosing between multiple MMKV instances.
5
+ * Shows instance ID, key count, and metadata badges (encrypted, read-only).
6
+ *
7
+ * Used in GameUIStorageBrowser when storage type filter is set to "mmkv".
8
+ */
9
+ interface MMKVInstanceSelectorProps {
10
+ selectedInstanceId: string | null;
11
+ onSelectInstance: (instanceId: string) => void;
12
+ showRefreshButton?: boolean;
13
+ }
14
+ /**
15
+ * MMKV Instance Selector Component
16
+ *
17
+ * Displays a dropdown to select between registered MMKV instances.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * function MyStorageUI() {
22
+ * const [selectedInstance, setSelectedInstance] = useState('mmkv.default');
23
+ *
24
+ * return (
25
+ * <MMKVInstanceSelector
26
+ * selectedInstanceId={selectedInstance}
27
+ * onSelectInstance={setSelectedInstance}
28
+ * />
29
+ * );
30
+ * }
31
+ * ```
32
+ */
33
+ export declare function MMKVInstanceSelector({ selectedInstanceId, onSelectInstance, showRefreshButton, }: MMKVInstanceSelectorProps): import("react").JSX.Element;
34
+ export {};
35
+ //# sourceMappingURL=MMKVInstanceSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MMKVInstanceSelector.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/MMKVInstanceSelector.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,UAAU,yBAAyB;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,kBAAkB,EAClB,gBAAgB,EAChB,iBAAwB,GACzB,EAAE,yBAAyB,+BA2H3B"}
@@ -0,0 +1,21 @@
1
+ import { StorageKeyInfo } from "../types";
2
+ interface SelectionActionBarProps {
3
+ /** Selected storage keys */
4
+ selectedKeys: StorageKeyInfo[];
5
+ /** MMKV instances for deletion */
6
+ mmkvInstances: Array<{
7
+ id: string;
8
+ instance: any;
9
+ }>;
10
+ /** Callback when deletion is complete */
11
+ onDeleteComplete?: () => void;
12
+ /** Callback to select all visible keys */
13
+ onSelectAll?: () => void;
14
+ /** Callback to clear selection */
15
+ onClearSelection?: () => void;
16
+ /** Total number of visible keys */
17
+ totalVisibleKeys: number;
18
+ }
19
+ export declare function SelectionActionBar({ selectedKeys, mmkvInstances, onDeleteComplete, onSelectAll, onClearSelection, totalVisibleKeys, }: SelectionActionBarProps): import("react").JSX.Element | null;
20
+ export {};
21
+ //# sourceMappingURL=SelectionActionBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectionActionBar.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/SelectionActionBar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA0B1C,UAAU,uBAAuB;IAC/B,4BAA4B;IAC5B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,kCAAkC;IAClC,aAAa,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IACpD,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,uBAAuB,sCAuIzB"}
@@ -0,0 +1,21 @@
1
+ interface StorageActionButtonsProps {
2
+ /** Value to copy to clipboard */
3
+ copyValue: unknown;
4
+ /** @deprecated Use copyValue instead */
5
+ onCopy?: () => void;
6
+ mmkvInstances?: Array<{
7
+ id: string;
8
+ instance: any;
9
+ }>;
10
+ activeStorageType?: "all" | "async" | "mmkv" | "secure";
11
+ onClearComplete?: () => void;
12
+ /** Whether selection mode is active */
13
+ isSelectMode?: boolean;
14
+ /** Callback to toggle selection mode */
15
+ onToggleSelectMode?: () => void;
16
+ /** Number of selected items */
17
+ selectedCount?: number;
18
+ }
19
+ export declare function StorageActionButtons({ copyValue, mmkvInstances, activeStorageType, onClearComplete, isSelectMode, onToggleSelectMode, selectedCount, }: StorageActionButtonsProps): import("react").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=StorageActionButtons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageActionButtons.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/StorageActionButtons.tsx"],"names":[],"mappings":"AA6BA,UAAU,yBAAyB;IACjC,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IACrD,iBAAiB,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,aAAkB,EAClB,iBAAyB,EACzB,eAAe,EACf,YAAoB,EACpB,kBAAkB,EAClB,aAAiB,GAClB,EAAE,yBAAyB,+BA6M3B"}
@@ -0,0 +1,10 @@
1
+ import { StorageKeyInfo } from "../types";
2
+ interface StorageActionsProps {
3
+ storageKeys: StorageKeyInfo[];
4
+ onClearAll: () => Promise<void>;
5
+ onRefresh: () => Promise<void>;
6
+ totalCount: number;
7
+ }
8
+ export declare function StorageActions({ storageKeys, onClearAll, onRefresh, totalCount, }: StorageActionsProps): import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=StorageActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageActions.d.ts","sourceRoot":"","sources":["../../../../src/storage/components/StorageActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA2B1C,UAAU,mBAAmB;IAC3B,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,GACX,EAAE,mBAAmB,+BAoHrB"}