@buoy-gg/storage 7.0.3 → 7.0.5
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/index.js +77 -1
- package/lib/commonjs/storage/components/DiffViewer/TreeDiffViewer.js +10 -3
- package/lib/commonjs/storage/components/DiffViewer/modes/ThemedSplitView.js +26 -8
- package/lib/commonjs/storage/components/GameUIStorageBrowser.js +263 -115
- package/lib/commonjs/storage/components/GameUIStorageStats.js +7 -7
- package/lib/commonjs/storage/components/MMKVInstanceInfoPanel.js +1 -1
- package/lib/commonjs/storage/components/MMKVInstanceSelector.js +1 -1
- package/lib/commonjs/storage/components/SelectionActionBar.js +2 -36
- package/lib/commonjs/storage/components/StorageActions.js +6 -6
- package/lib/commonjs/storage/components/StorageBrowserMode.js +16 -2
- package/lib/commonjs/storage/components/StorageEventDetailContent.js +106 -149
- package/lib/commonjs/storage/components/StorageEventListener.js +13 -13
- package/lib/commonjs/storage/components/StorageFilterCards.js +13 -135
- package/lib/commonjs/storage/components/StorageKeyCard.js +1 -1
- package/lib/commonjs/storage/components/StorageKeyEditorScreen.js +392 -0
- package/lib/commonjs/storage/components/StorageKeyRow.js +53 -15
- package/lib/commonjs/storage/components/StorageKeySection.js +10 -4
- package/lib/commonjs/storage/components/StorageKeyStats.js +10 -10
- package/lib/commonjs/storage/components/StorageModalWithTabs.js +272 -129
- package/lib/commonjs/storage/components/StorageScalarKeyEditor.js +46 -0
- package/lib/commonjs/storage/components/StorageTypeFilterBar.js +141 -0
- package/lib/commonjs/storage/components/StorageValueEditModal.js +361 -0
- package/lib/commonjs/storage/hooks/useKeyEditor.js +104 -0
- package/lib/commonjs/storage/hooks/useMeasuredWidth.js +74 -0
- package/lib/commonjs/storage/hooks/useSecureStoreKeys.js +70 -15
- package/lib/commonjs/storage/hooks/useTreeDraft.js +107 -0
- package/lib/commonjs/storage/index.js +29 -0
- package/lib/commonjs/storage/stores/storageEventStore.js +4 -2
- package/lib/commonjs/storage/sync/storageSyncAdapter.js +125 -3
- package/lib/commonjs/storage/utils/AsyncStorageListener.js +76 -12
- package/lib/commonjs/storage/utils/MMKVInstanceRegistry.js +10 -9
- package/lib/commonjs/storage/utils/MMKVListener.js +40 -4
- package/lib/commonjs/storage/utils/SecureStoreRegistry.js +52 -1
- package/lib/commonjs/storage/utils/deleteStorageKeys.js +53 -0
- package/lib/commonjs/storage/utils/index.js +13 -0
- package/lib/commonjs/storage/utils/lineDiff.js +21 -354
- package/lib/commonjs/storage/utils/setStorageValue.js +218 -0
- package/lib/commonjs/storage/utils/storageBrowserRefresh.js +49 -0
- package/lib/commonjs/storage/utils/storageOps.js +53 -0
- package/lib/commonjs/storage/utils/storageTimeTravelUtils.js +60 -38
- package/lib/commonjs/storage/utils/valueType.js +24 -0
- package/lib/module/index.js +18 -1
- package/lib/module/storage/components/DiffViewer/TreeDiffViewer.js +10 -3
- package/lib/module/storage/components/DiffViewer/modes/ThemedSplitView.js +26 -8
- package/lib/module/storage/components/GameUIStorageBrowser.js +266 -118
- package/lib/module/storage/components/GameUIStorageStats.js +7 -7
- package/lib/module/storage/components/MMKVInstanceInfoPanel.js +1 -1
- package/lib/module/storage/components/MMKVInstanceSelector.js +1 -1
- package/lib/module/storage/components/SelectionActionBar.js +2 -36
- package/lib/module/storage/components/StorageActions.js +7 -7
- package/lib/module/storage/components/StorageBrowserMode.js +16 -2
- package/lib/module/storage/components/StorageEventDetailContent.js +110 -151
- package/lib/module/storage/components/StorageEventListener.js +14 -14
- package/lib/module/storage/components/StorageFilterCards.js +13 -135
- package/lib/module/storage/components/StorageKeyCard.js +1 -1
- package/lib/module/storage/components/StorageKeyEditorScreen.js +388 -0
- package/lib/module/storage/components/StorageKeyRow.js +55 -17
- package/lib/module/storage/components/StorageKeySection.js +11 -5
- package/lib/module/storage/components/StorageKeyStats.js +11 -10
- package/lib/module/storage/components/StorageModalWithTabs.js +272 -130
- package/lib/module/storage/components/StorageScalarKeyEditor.js +42 -0
- package/lib/module/storage/components/StorageTypeFilterBar.js +136 -0
- package/lib/module/storage/components/StorageValueEditModal.js +357 -0
- package/lib/module/storage/hooks/useKeyEditor.js +100 -0
- package/lib/module/storage/hooks/useMeasuredWidth.js +71 -0
- package/lib/module/storage/hooks/useSecureStoreKeys.js +71 -16
- package/lib/module/storage/hooks/useTreeDraft.js +103 -0
- package/lib/module/storage/index.js +3 -0
- package/lib/module/storage/stores/storageEventStore.js +4 -2
- package/lib/module/storage/sync/storageSyncAdapter.js +125 -3
- package/lib/module/storage/utils/AsyncStorageListener.js +76 -12
- package/lib/module/storage/utils/MMKVInstanceRegistry.js +8 -7
- package/lib/module/storage/utils/MMKVListener.js +40 -4
- package/lib/module/storage/utils/SecureStoreRegistry.js +52 -1
- package/lib/module/storage/utils/deleteStorageKeys.js +49 -0
- package/lib/module/storage/utils/index.js +3 -0
- package/lib/module/storage/utils/lineDiff.js +7 -354
- package/lib/module/storage/utils/setStorageValue.js +209 -0
- package/lib/module/storage/utils/storageBrowserRefresh.js +44 -0
- package/lib/module/storage/utils/storageOps.js +46 -0
- package/lib/module/storage/utils/storageTimeTravelUtils.js +61 -40
- package/lib/module/storage/utils/valueType.js +23 -0
- package/lib/typescript/index.d.ts +12 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/storage/components/DiffViewer/TreeDiffViewer.d.ts +4 -1
- package/lib/typescript/storage/components/DiffViewer/TreeDiffViewer.d.ts.map +1 -1
- package/lib/typescript/storage/components/DiffViewer/modes/ThemedSplitView.d.ts +7 -1
- package/lib/typescript/storage/components/DiffViewer/modes/ThemedSplitView.d.ts.map +1 -1
- package/lib/typescript/storage/components/GameUIStorageBrowser.d.ts +27 -1
- package/lib/typescript/storage/components/GameUIStorageBrowser.d.ts.map +1 -1
- package/lib/typescript/storage/components/SelectionActionBar.d.ts.map +1 -1
- package/lib/typescript/storage/components/StorageBrowserMode.d.ts +17 -1
- package/lib/typescript/storage/components/StorageBrowserMode.d.ts.map +1 -1
- package/lib/typescript/storage/components/StorageEventDetailContent.d.ts +4 -1
- package/lib/typescript/storage/components/StorageEventDetailContent.d.ts.map +1 -1
- package/lib/typescript/storage/components/StorageFilterCards.d.ts +9 -3
- package/lib/typescript/storage/components/StorageFilterCards.d.ts.map +1 -1
- package/lib/typescript/storage/components/StorageKeyEditorScreen.d.ts +42 -0
- package/lib/typescript/storage/components/StorageKeyEditorScreen.d.ts.map +1 -0
- package/lib/typescript/storage/components/StorageKeyRow.d.ts +17 -0
- package/lib/typescript/storage/components/StorageKeyRow.d.ts.map +1 -1
- package/lib/typescript/storage/components/StorageKeySection.d.ts +7 -1
- package/lib/typescript/storage/components/StorageKeySection.d.ts.map +1 -1
- package/lib/typescript/storage/components/StorageKeyStats.d.ts.map +1 -1
- package/lib/typescript/storage/components/StorageModalWithTabs.d.ts +28 -1
- package/lib/typescript/storage/components/StorageModalWithTabs.d.ts.map +1 -1
- package/lib/typescript/storage/components/StorageScalarKeyEditor.d.ts +24 -0
- package/lib/typescript/storage/components/StorageScalarKeyEditor.d.ts.map +1 -0
- package/lib/typescript/storage/components/StorageTypeFilterBar.d.ts +29 -0
- package/lib/typescript/storage/components/StorageTypeFilterBar.d.ts.map +1 -0
- package/lib/typescript/storage/components/StorageValueEditModal.d.ts +36 -0
- package/lib/typescript/storage/components/StorageValueEditModal.d.ts.map +1 -0
- package/lib/typescript/storage/hooks/useKeyEditor.d.ts +51 -0
- package/lib/typescript/storage/hooks/useKeyEditor.d.ts.map +1 -0
- package/lib/typescript/storage/hooks/useMeasuredWidth.d.ts +37 -0
- package/lib/typescript/storage/hooks/useMeasuredWidth.d.ts.map +1 -0
- package/lib/typescript/storage/hooks/useSecureStoreKeys.d.ts +8 -1
- package/lib/typescript/storage/hooks/useSecureStoreKeys.d.ts.map +1 -1
- package/lib/typescript/storage/hooks/useTreeDraft.d.ts +67 -0
- package/lib/typescript/storage/hooks/useTreeDraft.d.ts.map +1 -0
- package/lib/typescript/storage/index.d.ts +2 -0
- package/lib/typescript/storage/index.d.ts.map +1 -1
- package/lib/typescript/storage/sync/storageSyncAdapter.d.ts +41 -0
- package/lib/typescript/storage/sync/storageSyncAdapter.d.ts.map +1 -1
- package/lib/typescript/storage/utils/AsyncStorageListener.d.ts +15 -0
- package/lib/typescript/storage/utils/AsyncStorageListener.d.ts.map +1 -1
- package/lib/typescript/storage/utils/MMKVInstanceRegistry.d.ts.map +1 -1
- package/lib/typescript/storage/utils/MMKVListener.d.ts +7 -0
- package/lib/typescript/storage/utils/MMKVListener.d.ts.map +1 -1
- package/lib/typescript/storage/utils/SecureStoreRegistry.d.ts +20 -0
- package/lib/typescript/storage/utils/SecureStoreRegistry.d.ts.map +1 -1
- package/lib/typescript/storage/utils/deleteStorageKeys.d.ts +27 -0
- package/lib/typescript/storage/utils/deleteStorageKeys.d.ts.map +1 -0
- package/lib/typescript/storage/utils/index.d.ts +1 -0
- package/lib/typescript/storage/utils/index.d.ts.map +1 -1
- package/lib/typescript/storage/utils/lineDiff.d.ts +7 -31
- package/lib/typescript/storage/utils/lineDiff.d.ts.map +1 -1
- package/lib/typescript/storage/utils/setStorageValue.d.ts +64 -0
- package/lib/typescript/storage/utils/setStorageValue.d.ts.map +1 -0
- package/lib/typescript/storage/utils/storageBrowserRefresh.d.ts +28 -0
- package/lib/typescript/storage/utils/storageBrowserRefresh.d.ts.map +1 -0
- package/lib/typescript/storage/utils/storageOps.d.ts +25 -0
- package/lib/typescript/storage/utils/storageOps.d.ts.map +1 -0
- package/lib/typescript/storage/utils/storageTimeTravelUtils.d.ts +15 -5
- package/lib/typescript/storage/utils/storageTimeTravelUtils.d.ts.map +1 -1
- package/lib/typescript/storage/utils/valueType.d.ts +13 -0
- package/lib/typescript/storage/utils/valueType.d.ts.map +1 -1
- package/package.json +5 -5
package/lib/commonjs/index.js
CHANGED
|
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "MMKVInstanceSelector", {
|
|
|
15
15
|
return _MMKVInstanceSelector.MMKVInstanceSelector;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "STORAGE_OPS", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _storageOps.STORAGE_OPS;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
18
24
|
Object.defineProperty(exports, "StorageBrowserMode", {
|
|
19
25
|
enumerable: true,
|
|
20
26
|
get: function () {
|
|
@@ -75,6 +81,18 @@ Object.defineProperty(exports, "StorageSection", {
|
|
|
75
81
|
return _StorageSection.StorageSection;
|
|
76
82
|
}
|
|
77
83
|
});
|
|
84
|
+
Object.defineProperty(exports, "StorageToolView", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return _StorageModalWithTabs.StorageToolView;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "StorageTypeFilterBar", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _StorageTypeFilterBar.StorageTypeFilterBar;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
78
96
|
Object.defineProperty(exports, "canUndo", {
|
|
79
97
|
enumerable: true,
|
|
80
98
|
get: function () {
|
|
@@ -87,6 +105,12 @@ Object.defineProperty(exports, "clearAllAppStorage", {
|
|
|
87
105
|
return _clearAllStorage.clearAllAppStorage;
|
|
88
106
|
}
|
|
89
107
|
});
|
|
108
|
+
Object.defineProperty(exports, "countByStorageType", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function () {
|
|
111
|
+
return _StorageTypeFilterBar.countByStorageType;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
90
114
|
Object.defineProperty(exports, "createStorageTool", {
|
|
91
115
|
enumerable: true,
|
|
92
116
|
get: function () {
|
|
@@ -123,6 +147,12 @@ Object.defineProperty(exports, "getValueType", {
|
|
|
123
147
|
return _StorageEventCard.getValueType;
|
|
124
148
|
}
|
|
125
149
|
});
|
|
150
|
+
Object.defineProperty(exports, "isInitialScan", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function () {
|
|
153
|
+
return _storageOps.isInitialScan;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
126
156
|
Object.defineProperty(exports, "isMMKVAvailable", {
|
|
127
157
|
enumerable: true,
|
|
128
158
|
get: function () {
|
|
@@ -153,12 +183,42 @@ Object.defineProperty(exports, "registerSecureStoreKeys", {
|
|
|
153
183
|
return _SecureStoreRegistry.registerSecureStoreKeys;
|
|
154
184
|
}
|
|
155
185
|
});
|
|
186
|
+
Object.defineProperty(exports, "requestStorageBrowserRefresh", {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function () {
|
|
189
|
+
return _storageBrowserRefresh.requestStorageBrowserRefresh;
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
Object.defineProperty(exports, "setStorageValue", {
|
|
193
|
+
enumerable: true,
|
|
194
|
+
get: function () {
|
|
195
|
+
return _setStorageValue.setStorageValue;
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
Object.defineProperty(exports, "storageEditBlockedReason", {
|
|
199
|
+
enumerable: true,
|
|
200
|
+
get: function () {
|
|
201
|
+
return _setStorageValue.storageEditBlockedReason;
|
|
202
|
+
}
|
|
203
|
+
});
|
|
156
204
|
Object.defineProperty(exports, "storageEventStore", {
|
|
157
205
|
enumerable: true,
|
|
158
206
|
get: function () {
|
|
159
207
|
return _storageEventStore.storageEventStore;
|
|
160
208
|
}
|
|
161
209
|
});
|
|
210
|
+
Object.defineProperty(exports, "storageOpDot", {
|
|
211
|
+
enumerable: true,
|
|
212
|
+
get: function () {
|
|
213
|
+
return _storageOps.storageOpDot;
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
Object.defineProperty(exports, "storageOpOf", {
|
|
217
|
+
enumerable: true,
|
|
218
|
+
get: function () {
|
|
219
|
+
return _storageOps.storageOpOf;
|
|
220
|
+
}
|
|
221
|
+
});
|
|
162
222
|
Object.defineProperty(exports, "storageSyncAdapter", {
|
|
163
223
|
enumerable: true,
|
|
164
224
|
get: function () {
|
|
@@ -171,6 +231,12 @@ Object.defineProperty(exports, "storageToolPreset", {
|
|
|
171
231
|
return _preset.storageToolPreset;
|
|
172
232
|
}
|
|
173
233
|
});
|
|
234
|
+
Object.defineProperty(exports, "storageValueToEditableText", {
|
|
235
|
+
enumerable: true,
|
|
236
|
+
get: function () {
|
|
237
|
+
return _setStorageValue.storageValueToEditableText;
|
|
238
|
+
}
|
|
239
|
+
});
|
|
174
240
|
Object.defineProperty(exports, "undoOperation", {
|
|
175
241
|
enumerable: true,
|
|
176
242
|
get: function () {
|
|
@@ -231,6 +297,12 @@ Object.defineProperty(exports, "useStorageEvents", {
|
|
|
231
297
|
return _useStorageEvents.useStorageEvents;
|
|
232
298
|
}
|
|
233
299
|
});
|
|
300
|
+
Object.defineProperty(exports, "validateStorageValue", {
|
|
301
|
+
enumerable: true,
|
|
302
|
+
get: function () {
|
|
303
|
+
return _setStorageValue.validateStorageValue;
|
|
304
|
+
}
|
|
305
|
+
});
|
|
234
306
|
var _preset = require("./preset");
|
|
235
307
|
var _StorageSection = require("./storage/components/StorageSection");
|
|
236
308
|
var _StorageModalWithTabs = require("./storage/components/StorageModalWithTabs");
|
|
@@ -238,7 +310,9 @@ var _StorageKeyCard = require("./storage/components/StorageKeyCard");
|
|
|
238
310
|
var _StorageKeyStats = require("./storage/components/StorageKeyStats");
|
|
239
311
|
var _StorageKeySection = require("./storage/components/StorageKeySection");
|
|
240
312
|
var _StorageBrowserMode = require("./storage/components/StorageBrowserMode");
|
|
313
|
+
var _StorageTypeFilterBar = require("./storage/components/StorageTypeFilterBar");
|
|
241
314
|
var _StorageEventsSection = require("./storage/components/StorageEventsSection");
|
|
315
|
+
var _storageOps = require("./storage/utils/storageOps");
|
|
242
316
|
var _StorageEventCard = require("./storage/components/StorageEventCard");
|
|
243
317
|
var _StorageEventDetailContent = require("./storage/components/StorageEventDetailContent");
|
|
244
318
|
var _MMKVInstanceSelector = require("./storage/components/MMKVInstanceSelector");
|
|
@@ -248,10 +322,12 @@ var _useMMKVKeys = require("./storage/hooks/useMMKVKeys");
|
|
|
248
322
|
var _useMMKVInstances = require("./storage/hooks/useMMKVInstances");
|
|
249
323
|
var _useStorageEvents = require("./storage/hooks/useStorageEvents");
|
|
250
324
|
var _clearAllStorage = require("./storage/utils/clearAllStorage");
|
|
325
|
+
var _setStorageValue = require("./storage/utils/setStorageValue");
|
|
251
326
|
var _mmkvAvailability = require("./storage/utils/mmkvAvailability");
|
|
252
327
|
var _mmkvTypeDetection = require("./storage/utils/mmkvTypeDetection");
|
|
253
328
|
var _storageTimeTravelUtils = require("./storage/utils/storageTimeTravelUtils");
|
|
254
329
|
var _MMKVInstanceRegistry = require("./storage/utils/MMKVInstanceRegistry");
|
|
255
330
|
var _SecureStoreRegistry = require("./storage/utils/SecureStoreRegistry");
|
|
256
331
|
var _storageSyncAdapter = require("./storage/sync/storageSyncAdapter");
|
|
257
|
-
var _storageEventStore = require("./storage/stores/storageEventStore");
|
|
332
|
+
var _storageEventStore = require("./storage/stores/storageEventStore");
|
|
333
|
+
var _storageBrowserRefresh = require("./storage/utils/storageBrowserRefresh");
|
|
@@ -10,14 +10,16 @@ var _dataViewer = require("@buoy-gg/shared-ui/dataViewer");
|
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
function TreeDiffViewer({
|
|
12
12
|
oldValue,
|
|
13
|
-
newValue
|
|
13
|
+
newValue,
|
|
14
|
+
scrollEnabled = true
|
|
14
15
|
}) {
|
|
15
16
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
16
|
-
style: styles.container,
|
|
17
|
+
style: scrollEnabled ? styles.container : styles.containerInline,
|
|
17
18
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataViewer.TreeDiffViewer, {
|
|
18
19
|
oldValue: oldValue,
|
|
19
20
|
newValue: newValue,
|
|
20
|
-
theme: "dark"
|
|
21
|
+
theme: "dark",
|
|
22
|
+
scrollEnabled: scrollEnabled
|
|
21
23
|
})
|
|
22
24
|
});
|
|
23
25
|
}
|
|
@@ -25,5 +27,10 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
25
27
|
container: {
|
|
26
28
|
flex: 1,
|
|
27
29
|
backgroundColor: _sharedUi.gameUIColors.background
|
|
30
|
+
},
|
|
31
|
+
// Inline: size to the tree so the page scroll reveals it, rather than
|
|
32
|
+
// stretching to the pane and clipping the rows.
|
|
33
|
+
containerInline: {
|
|
34
|
+
backgroundColor: _sharedUi.gameUIColors.background
|
|
28
35
|
}
|
|
29
36
|
});
|
|
@@ -22,9 +22,12 @@ function ThemedSplitView({
|
|
|
22
22
|
newValue,
|
|
23
23
|
theme,
|
|
24
24
|
options = DEFAULT_OPTIONS,
|
|
25
|
-
showThemeName = false
|
|
25
|
+
showThemeName = false,
|
|
26
|
+
scrollEnabled = true
|
|
26
27
|
}) {
|
|
27
|
-
|
|
28
|
+
// Inline mode drops the fixed 400pt pane so the container grows with the
|
|
29
|
+
// rows; the ancestor ScrollView is what scrolls them.
|
|
30
|
+
const dynamicStyles = (0, _react.useMemo)(() => createDynamicStyles(theme, scrollEnabled), [theme, scrollEnabled]);
|
|
28
31
|
const diffComputeOptions = (0, _react.useMemo)(() => ({
|
|
29
32
|
compareMethod: options.compareMethod,
|
|
30
33
|
disableWordDiff: options.disableWordDiff,
|
|
@@ -73,9 +76,7 @@ function ThemedSplitView({
|
|
|
73
76
|
});
|
|
74
77
|
}, []);
|
|
75
78
|
const keyExtractor = (0, _react.useCallback)(item => item.kind === "row" ? `r:${item.diffIndex}` : `f:${item.foldId}`, []);
|
|
76
|
-
const
|
|
77
|
-
item
|
|
78
|
-
}) => {
|
|
79
|
+
const renderSplitItem = (0, _react.useCallback)(item => {
|
|
79
80
|
if (item.kind === "fold") {
|
|
80
81
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(FoldHeader, {
|
|
81
82
|
foldId: item.foldId,
|
|
@@ -94,6 +95,9 @@ function ThemedSplitView({
|
|
|
94
95
|
styles: dynamicStyles
|
|
95
96
|
});
|
|
96
97
|
}, [theme, options, dynamicStyles, toggleFold]);
|
|
98
|
+
const renderItem = (0, _react.useCallback)(({
|
|
99
|
+
item
|
|
100
|
+
}) => renderSplitItem(item), [renderSplitItem]);
|
|
97
101
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
98
102
|
style: [dynamicStyles.container, theme.glowColor && {
|
|
99
103
|
shadowColor: theme.glowColor,
|
|
@@ -141,7 +145,7 @@ function ThemedSplitView({
|
|
|
141
145
|
style: dynamicStyles.emptyText,
|
|
142
146
|
children: options.showDiffOnly ? "No differences found" : "No content to display"
|
|
143
147
|
})
|
|
144
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.FlatList, {
|
|
148
|
+
}) : scrollEnabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.FlatList, {
|
|
145
149
|
style: dynamicStyles.scrollView,
|
|
146
150
|
contentContainerStyle: dynamicStyles.scrollContent,
|
|
147
151
|
data: items,
|
|
@@ -152,6 +156,16 @@ function ThemedSplitView({
|
|
|
152
156
|
maxToRenderPerBatch: 20,
|
|
153
157
|
windowSize: 7,
|
|
154
158
|
removeClippedSubviews: true
|
|
159
|
+
}) :
|
|
160
|
+
/*#__PURE__*/
|
|
161
|
+
// A FlatList can't virtualize inside a page ScrollView — it has no
|
|
162
|
+
// viewport of its own to measure against — so render the rows directly.
|
|
163
|
+
// Folding already keeps this list short (unchanged runs collapse).
|
|
164
|
+
(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
165
|
+
style: dynamicStyles.scrollContent,
|
|
166
|
+
children: items.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
167
|
+
children: renderSplitItem(item)
|
|
168
|
+
}, keyExtractor(item)))
|
|
155
169
|
})]
|
|
156
170
|
});
|
|
157
171
|
}
|
|
@@ -403,10 +417,14 @@ function getDiffColors(type, theme) {
|
|
|
403
417
|
}
|
|
404
418
|
|
|
405
419
|
// Create dynamic styles based on theme
|
|
406
|
-
function createDynamicStyles(theme) {
|
|
420
|
+
function createDynamicStyles(theme, scrollEnabled) {
|
|
407
421
|
return _reactNative.StyleSheet.create({
|
|
408
422
|
container: {
|
|
409
|
-
|
|
423
|
+
// Fixed pane only when the rows scroll themselves; inline mode sizes to
|
|
424
|
+
// content so the page scroll reveals it.
|
|
425
|
+
...(scrollEnabled ? {
|
|
426
|
+
height: 400
|
|
427
|
+
} : null),
|
|
410
428
|
backgroundColor: theme.background,
|
|
411
429
|
borderRadius: 8,
|
|
412
430
|
overflow: "hidden",
|