@buoy-gg/time-machine 7.0.21 → 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/components/TimeMachineBody.js +148 -583
- package/lib/commonjs/components/TimeMachineBody.js.map +1 -1
- package/lib/commonjs/components/TimeMachineModal.js +10 -11
- package/lib/commonjs/components/TimeMachineModal.js.map +1 -1
- package/lib/commonjs/components/confirm.js +39 -0
- package/lib/commonjs/components/confirm.js.map +1 -0
- package/lib/commonjs/components/format.js +24 -0
- package/lib/commonjs/components/format.js.map +1 -0
- package/lib/commonjs/components/list/CaptureBar.js +95 -0
- package/lib/commonjs/components/list/CaptureBar.js.map +1 -0
- package/lib/commonjs/components/list/RestoreOutcomeCard.js +162 -0
- package/lib/commonjs/components/list/RestoreOutcomeCard.js.map +1 -0
- package/lib/commonjs/components/list/SnapshotRow.js +141 -0
- package/lib/commonjs/components/list/SnapshotRow.js.map +1 -0
- package/lib/commonjs/components/list/SourcesStrip.js +126 -0
- package/lib/commonjs/components/list/SourcesStrip.js.map +1 -0
- package/lib/commonjs/components/list/UndoDeleteBar.js +81 -0
- package/lib/commonjs/components/list/UndoDeleteBar.js.map +1 -0
- package/lib/commonjs/components/list/WipeAllRow.js +46 -0
- package/lib/commonjs/components/list/WipeAllRow.js.map +1 -0
- package/lib/commonjs/components/preview/ItemDiffPanel.js +77 -0
- package/lib/commonjs/components/preview/ItemDiffPanel.js.map +1 -0
- package/lib/commonjs/components/preview/PreviewFlow.js +51 -0
- package/lib/commonjs/components/preview/PreviewFlow.js.map +1 -0
- package/lib/commonjs/components/preview/RestorePointNameRow.js +83 -0
- package/lib/commonjs/components/preview/RestorePointNameRow.js.map +1 -0
- package/lib/commonjs/components/preview/RestorePreviewScreen.js +549 -635
- package/lib/commonjs/components/preview/RestorePreviewScreen.js.map +1 -1
- package/lib/commonjs/components/preview/verdictMeta.js +8 -8
- package/lib/commonjs/components/preview/verdictMeta.js.map +1 -1
- package/lib/commonjs/components/sources.js +72 -0
- package/lib/commonjs/components/sources.js.map +1 -0
- package/lib/commonjs/index.js +55 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/store/routeRestore.js +188 -0
- package/lib/commonjs/store/routeRestore.js.map +1 -0
- package/lib/commonjs/store/snapshotVault.js +93 -9
- package/lib/commonjs/store/snapshotVault.js.map +1 -1
- package/lib/commonjs/store/timeMachineStore.js +164 -7
- package/lib/commonjs/store/timeMachineStore.js.map +1 -1
- package/lib/commonjs/sync/timeMachineSyncAdapter.js +59 -4
- package/lib/commonjs/sync/timeMachineSyncAdapter.js.map +1 -1
- package/lib/commonjs/ui/SwipeActionsRow.js +167 -0
- package/lib/commonjs/ui/SwipeActionsRow.js.map +1 -0
- package/lib/commonjs/ui/primitives.js +164 -0
- package/lib/commonjs/ui/primitives.js.map +1 -0
- package/lib/commonjs/ui/tmTheme.js +103 -0
- package/lib/commonjs/ui/tmTheme.js.map +1 -0
- package/lib/module/components/TimeMachineBody.js +151 -586
- package/lib/module/components/TimeMachineBody.js.map +1 -1
- package/lib/module/components/TimeMachineModal.js +11 -12
- package/lib/module/components/TimeMachineModal.js.map +1 -1
- package/lib/module/components/confirm.js +34 -0
- package/lib/module/components/confirm.js.map +1 -0
- package/lib/module/components/format.js +19 -0
- package/lib/module/components/format.js.map +1 -0
- package/lib/module/components/list/CaptureBar.js +90 -0
- package/lib/module/components/list/CaptureBar.js.map +1 -0
- package/lib/module/components/list/RestoreOutcomeCard.js +156 -0
- package/lib/module/components/list/RestoreOutcomeCard.js.map +1 -0
- package/lib/module/components/list/SnapshotRow.js +138 -0
- package/lib/module/components/list/SnapshotRow.js.map +1 -0
- package/lib/module/components/list/SourcesStrip.js +121 -0
- package/lib/module/components/list/SourcesStrip.js.map +1 -0
- package/lib/module/components/list/UndoDeleteBar.js +78 -0
- package/lib/module/components/list/UndoDeleteBar.js.map +1 -0
- package/lib/module/components/list/WipeAllRow.js +41 -0
- package/lib/module/components/list/WipeAllRow.js.map +1 -0
- package/lib/module/components/preview/ItemDiffPanel.js +72 -0
- package/lib/module/components/preview/ItemDiffPanel.js.map +1 -0
- package/lib/module/components/preview/PreviewFlow.js +46 -0
- package/lib/module/components/preview/PreviewFlow.js.map +1 -0
- package/lib/module/components/preview/RestorePointNameRow.js +78 -0
- package/lib/module/components/preview/RestorePointNameRow.js.map +1 -0
- package/lib/module/components/preview/RestorePreviewScreen.js +552 -638
- package/lib/module/components/preview/RestorePreviewScreen.js.map +1 -1
- package/lib/module/components/preview/verdictMeta.js +9 -8
- package/lib/module/components/preview/verdictMeta.js.map +1 -1
- package/lib/module/components/sources.js +66 -0
- package/lib/module/components/sources.js.map +1 -0
- package/lib/module/index.js +11 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/store/routeRestore.js +176 -0
- package/lib/module/store/routeRestore.js.map +1 -0
- package/lib/module/store/snapshotVault.js +87 -9
- package/lib/module/store/snapshotVault.js.map +1 -1
- package/lib/module/store/timeMachineStore.js +164 -8
- package/lib/module/store/timeMachineStore.js.map +1 -1
- package/lib/module/sync/timeMachineSyncAdapter.js +59 -4
- package/lib/module/sync/timeMachineSyncAdapter.js.map +1 -1
- package/lib/module/ui/SwipeActionsRow.js +162 -0
- package/lib/module/ui/SwipeActionsRow.js.map +1 -0
- package/lib/module/ui/primitives.js +156 -0
- package/lib/module/ui/primitives.js.map +1 -0
- package/lib/module/ui/tmTheme.js +99 -0
- package/lib/module/ui/tmTheme.js.map +1 -0
- package/lib/typescript/components/TimeMachineBody.d.ts.map +1 -1
- package/lib/typescript/components/TimeMachineModal.d.ts.map +1 -1
- package/lib/typescript/components/confirm.d.ts +2 -0
- package/lib/typescript/components/confirm.d.ts.map +1 -0
- package/lib/typescript/components/format.d.ts +4 -0
- package/lib/typescript/components/format.d.ts.map +1 -0
- package/lib/typescript/components/list/CaptureBar.d.ts +6 -0
- package/lib/typescript/components/list/CaptureBar.d.ts.map +1 -0
- package/lib/typescript/components/list/RestoreOutcomeCard.d.ts +11 -0
- package/lib/typescript/components/list/RestoreOutcomeCard.d.ts.map +1 -0
- package/lib/typescript/components/list/SnapshotRow.d.ts +12 -0
- package/lib/typescript/components/list/SnapshotRow.d.ts.map +1 -0
- package/lib/typescript/components/list/SourcesStrip.d.ts +5 -0
- package/lib/typescript/components/list/SourcesStrip.d.ts.map +1 -0
- package/lib/typescript/components/list/UndoDeleteBar.d.ts +8 -0
- package/lib/typescript/components/list/UndoDeleteBar.d.ts.map +1 -0
- package/lib/typescript/components/list/WipeAllRow.d.ts +5 -0
- package/lib/typescript/components/list/WipeAllRow.d.ts.map +1 -0
- package/lib/typescript/components/preview/ItemDiffPanel.d.ts +5 -0
- package/lib/typescript/components/preview/ItemDiffPanel.d.ts.map +1 -0
- package/lib/typescript/components/preview/PreviewFlow.d.ts +9 -0
- package/lib/typescript/components/preview/PreviewFlow.d.ts.map +1 -0
- package/lib/typescript/components/preview/RestorePointNameRow.d.ts +5 -0
- package/lib/typescript/components/preview/RestorePointNameRow.d.ts.map +1 -0
- package/lib/typescript/components/preview/RestorePreviewScreen.d.ts +1 -5
- package/lib/typescript/components/preview/RestorePreviewScreen.d.ts.map +1 -1
- package/lib/typescript/components/preview/verdictMeta.d.ts +5 -0
- package/lib/typescript/components/preview/verdictMeta.d.ts.map +1 -1
- package/lib/typescript/components/sources.d.ts +36 -0
- package/lib/typescript/components/sources.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/store/routeRestore.d.ts +51 -0
- package/lib/typescript/store/routeRestore.d.ts.map +1 -0
- package/lib/typescript/store/snapshotVault.d.ts +55 -0
- package/lib/typescript/store/snapshotVault.d.ts.map +1 -1
- package/lib/typescript/store/timeMachineStore.d.ts +64 -2
- package/lib/typescript/store/timeMachineStore.d.ts.map +1 -1
- package/lib/typescript/sync/timeMachineSyncAdapter.d.ts +25 -0
- package/lib/typescript/sync/timeMachineSyncAdapter.d.ts.map +1 -1
- package/lib/typescript/ui/SwipeActionsRow.d.ts +32 -0
- package/lib/typescript/ui/SwipeActionsRow.d.ts.map +1 -0
- package/lib/typescript/ui/primitives.d.ts +57 -0
- package/lib/typescript/ui/primitives.d.ts.map +1 -0
- package/lib/typescript/ui/tmTheme.d.ts +67 -0
- package/lib/typescript/ui/tmTheme.d.ts.map +1 -0
- package/package.json +12 -8
- package/src/components/TimeMachineBody.tsx +184 -682
- package/src/components/TimeMachineModal.tsx +10 -11
- package/src/components/confirm.ts +35 -0
- package/src/components/format.ts +17 -0
- package/src/components/list/CaptureBar.tsx +100 -0
- package/src/components/list/RestoreOutcomeCard.tsx +159 -0
- package/src/components/list/SnapshotRow.tsx +155 -0
- package/src/components/list/SourcesStrip.tsx +124 -0
- package/src/components/list/UndoDeleteBar.tsx +76 -0
- package/src/components/list/WipeAllRow.tsx +42 -0
- package/src/components/preview/ItemDiffPanel.tsx +77 -0
- package/src/components/preview/PreviewFlow.tsx +70 -0
- package/src/components/preview/RestorePointNameRow.tsx +80 -0
- package/src/components/preview/RestorePreviewScreen.tsx +535 -535
- package/src/components/preview/verdictMeta.ts +8 -8
- package/src/components/sources.ts +92 -0
- package/src/index.tsx +22 -0
- package/src/store/routeRestore.ts +194 -0
- package/src/store/snapshotVault.ts +138 -9
- package/src/store/timeMachineStore.ts +195 -5
- package/src/sync/timeMachineSyncAdapter.ts +57 -4
- package/src/ui/SwipeActionsRow.tsx +199 -0
- package/src/ui/primitives.tsx +157 -0
- package/src/ui/tmTheme.ts +107 -0
- package/lib/commonjs/components/preview/ItemDetailScreen.js +0 -189
- package/lib/commonjs/components/preview/ItemDetailScreen.js.map +0 -1
- package/lib/module/components/preview/ItemDetailScreen.js +0 -184
- package/lib/module/components/preview/ItemDetailScreen.js.map +0 -1
- package/lib/typescript/components/preview/ItemDetailScreen.d.ts +0 -11
- package/lib/typescript/components/preview/ItemDetailScreen.d.ts.map +0 -1
- package/src/components/preview/ItemDetailScreen.tsx +0 -172
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sharedUi","require","_dataViewer","_timeMachineStore","_snapshotVault","providerStatuses","getStateSnapshotProviders","map","p","s","status","id","label","canCapture","canRestore","detail","metadata","snapshots","busy","lastOutcome","timeMachineStore","getState","providers","timeMachineSyncAdapter","exports","version","getSnapshot","subscribe","onChange","unsubStore","unsubProviders","subscribeToStateSnapshotProviders","actions","list","capture","params","name","sourceIds","meta","captured","snapshot","captureBaseline","wipeAll","restore","mode","excludeKeys","Error","delete","deleted","rename","renamed","setScope","scope","scoped","count","
|
|
1
|
+
{"version":3,"names":["_sharedUi","require","_dataViewer","_timeMachineStore","_snapshotVault","_routeRestore","providerStatuses","getStateSnapshotProviders","map","p","s","status","id","label","canCapture","canRestore","detail","metadata","snapshots","busy","lastOutcome","timeMachineStore","getState","current","currentRoute","providers","route","available","canNavigate","href","timeMachineSyncAdapter","exports","version","getSnapshot","subscribe","onChange","unsubStore","unsubProviders","subscribeToStateSnapshotProviders","actions","list","capture","params","name","sourceIds","meta","captured","snapshot","captureBaseline","wipeAll","restore","mode","excludeKeys","restoreRoute","Error","delete","deleted","rename","renamed","setExclusions","excludedKeys","excluded","length","setRestoreRoute","duplicate","setScope","scope","scoped","count","preview","compareTo","right","snapshotId","left","buildPreview","VALUE_BUDGET","builtAt","sources","src","items","item","oldBig","oldValue","undefined","jsonLikelyLargerThan","newBig","newValue","valueOmitted","inspect","sourceId","stored","loadSnapshot","payload","data","warnings","superJsonDeserialize"],"sourceRoot":"../../../src","sources":["sync/timeMachineSyncAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SwipeActionsRow = SwipeActionsRow;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _tmTheme = require("./tmTheme");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
/**
|
|
12
|
+
* Swipe-left-to-reveal-actions wrapper for a grouped-list row.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately dependency-free (Animated + PanResponder): the package has no
|
|
15
|
+
* gesture-handler peer and a devtool must not add one to the host app.
|
|
16
|
+
*
|
|
17
|
+
* Gesture contract, in the order the checks matter:
|
|
18
|
+
* - The pan only claims the gesture once the finger has moved LEFT past a
|
|
19
|
+
* threshold and is travelling more horizontally than vertically, so taps
|
|
20
|
+
* still reach the row and vertical drags still scroll the list.
|
|
21
|
+
* - Releasing past half the action width latches open; anything less snaps
|
|
22
|
+
* shut, so a hesitant swipe never leaves a half-open row.
|
|
23
|
+
* - Only one row stays open at a time (module-level latch below) — matching
|
|
24
|
+
* iOS, and it means "swipe, then tap an action" can't hit the wrong row.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
const ACTION_WIDTH = 84;
|
|
28
|
+
/** Horizontal travel before the pan takes the gesture from the scroll view. */
|
|
29
|
+
const CLAIM_THRESHOLD = 8;
|
|
30
|
+
|
|
31
|
+
/** The one open row, so opening another closes it. */
|
|
32
|
+
let closeOpenRow = null;
|
|
33
|
+
/**
|
|
34
|
+
* Everything gesture-side for one row, built once. Kept out of the component
|
|
35
|
+
* so it reads as the state machine it is: `open` is the only state, and the
|
|
36
|
+
* pan handlers are the only writers.
|
|
37
|
+
*/
|
|
38
|
+
function createGesture(translateX, openWidth) {
|
|
39
|
+
let open = false;
|
|
40
|
+
const settle = next => {
|
|
41
|
+
open = next;
|
|
42
|
+
if (next) {
|
|
43
|
+
if (closeOpenRow && closeOpenRow !== close) closeOpenRow();
|
|
44
|
+
closeOpenRow = close;
|
|
45
|
+
} else if (closeOpenRow === close) {
|
|
46
|
+
closeOpenRow = null;
|
|
47
|
+
}
|
|
48
|
+
_reactNative.Animated.spring(translateX, {
|
|
49
|
+
toValue: next ? -openWidth : 0,
|
|
50
|
+
useNativeDriver: true,
|
|
51
|
+
bounciness: 0,
|
|
52
|
+
speed: 18
|
|
53
|
+
}).start();
|
|
54
|
+
};
|
|
55
|
+
const close = () => settle(false);
|
|
56
|
+
const pan = _reactNative.PanResponder.create({
|
|
57
|
+
onMoveShouldSetPanResponder: (_e, g) => {
|
|
58
|
+
const horizontal = Math.abs(g.dx) > Math.abs(g.dy) * 1.5;
|
|
59
|
+
if (!horizontal) return false;
|
|
60
|
+
// Left to open; right only matters when there is something to close.
|
|
61
|
+
return g.dx < -CLAIM_THRESHOLD || open && g.dx > CLAIM_THRESHOLD;
|
|
62
|
+
},
|
|
63
|
+
onPanResponderMove: (_e, g) => {
|
|
64
|
+
const base = open ? -openWidth : 0;
|
|
65
|
+
// Clamp: no rubber-banding past the actions, none past closed.
|
|
66
|
+
translateX.setValue(Math.min(0, Math.max(-openWidth, base + g.dx)));
|
|
67
|
+
},
|
|
68
|
+
onPanResponderRelease: (_e, g) => {
|
|
69
|
+
const resting = (open ? -openWidth : 0) + g.dx;
|
|
70
|
+
// A fast flick decides on velocity; a slow drag on distance.
|
|
71
|
+
settle(g.vx < -0.5 ? true : g.vx > 0.5 ? false : resting < -openWidth / 2);
|
|
72
|
+
},
|
|
73
|
+
onPanResponderTerminate: () => settle(open)
|
|
74
|
+
});
|
|
75
|
+
return {
|
|
76
|
+
pan,
|
|
77
|
+
close
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function SwipeActionsRow({
|
|
81
|
+
children,
|
|
82
|
+
actions,
|
|
83
|
+
testID
|
|
84
|
+
}) {
|
|
85
|
+
const openWidth = ACTION_WIDTH * actions.length;
|
|
86
|
+
const translateX = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
87
|
+
const gestureRef = (0, _react.useRef)(null);
|
|
88
|
+
if (gestureRef.current === null) gestureRef.current = createGesture(translateX, openWidth);
|
|
89
|
+
const {
|
|
90
|
+
pan,
|
|
91
|
+
close
|
|
92
|
+
} = gestureRef.current;
|
|
93
|
+
|
|
94
|
+
// A row that unmounts while open (deleted, filtered out, screen changed)
|
|
95
|
+
// must not leave the latch pointing at a dead closer.
|
|
96
|
+
(0, _react.useEffect)(() => () => {
|
|
97
|
+
if (closeOpenRow === close) closeOpenRow = null;
|
|
98
|
+
}, [close]);
|
|
99
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
100
|
+
style: styles.clip,
|
|
101
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
102
|
+
style: [styles.actionLayer, {
|
|
103
|
+
width: openWidth
|
|
104
|
+
}],
|
|
105
|
+
children: actions.map(action => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
106
|
+
style: [styles.action, action.background ? {
|
|
107
|
+
backgroundColor: action.background
|
|
108
|
+
} : null],
|
|
109
|
+
onPress: () => {
|
|
110
|
+
close();
|
|
111
|
+
action.onPress();
|
|
112
|
+
},
|
|
113
|
+
accessibilityLabel: action.label,
|
|
114
|
+
testID: action.testID ?? (testID ? `${testID}-${action.label.toLowerCase()}` : undefined),
|
|
115
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
116
|
+
style: [styles.actionText, action.color ? {
|
|
117
|
+
color: action.color
|
|
118
|
+
} : null],
|
|
119
|
+
numberOfLines: 1,
|
|
120
|
+
children: action.label
|
|
121
|
+
})
|
|
122
|
+
}, action.label))
|
|
123
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
124
|
+
style: [styles.content, {
|
|
125
|
+
transform: [{
|
|
126
|
+
translateX
|
|
127
|
+
}]
|
|
128
|
+
}],
|
|
129
|
+
...pan.panHandlers,
|
|
130
|
+
children: children
|
|
131
|
+
})]
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
const styles = _reactNative.StyleSheet.create({
|
|
135
|
+
clip: {
|
|
136
|
+
overflow: "hidden"
|
|
137
|
+
},
|
|
138
|
+
// Own geometry, no percentages: an absoluteFill layer with a `height:
|
|
139
|
+
// "100%"` child measured against this content-sized parent inflated every
|
|
140
|
+
// row to several hundred points on iOS/Fabric.
|
|
141
|
+
actionLayer: {
|
|
142
|
+
position: "absolute",
|
|
143
|
+
top: 0,
|
|
144
|
+
bottom: 0,
|
|
145
|
+
right: 0,
|
|
146
|
+
flexDirection: "row"
|
|
147
|
+
},
|
|
148
|
+
action: {
|
|
149
|
+
width: ACTION_WIDTH,
|
|
150
|
+
height: "100%",
|
|
151
|
+
backgroundColor: _tmTheme.tm.color.fillStrong,
|
|
152
|
+
alignItems: "center",
|
|
153
|
+
justifyContent: "center",
|
|
154
|
+
paddingHorizontal: 6
|
|
155
|
+
},
|
|
156
|
+
actionText: {
|
|
157
|
+
color: _tmTheme.tm.color.label,
|
|
158
|
+
fontSize: _tmTheme.tm.font.footnote,
|
|
159
|
+
fontWeight: "600",
|
|
160
|
+
letterSpacing: _tmTheme.tm.tracking.control
|
|
161
|
+
},
|
|
162
|
+
// Opaque so the red action never bleeds through the row it sits under.
|
|
163
|
+
content: {
|
|
164
|
+
backgroundColor: _tmTheme.tm.color.group
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
//# sourceMappingURL=SwipeActionsRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_tmTheme","_jsxRuntime","ACTION_WIDTH","CLAIM_THRESHOLD","closeOpenRow","createGesture","translateX","openWidth","open","settle","next","close","Animated","spring","toValue","useNativeDriver","bounciness","speed","start","pan","PanResponder","create","onMoveShouldSetPanResponder","_e","g","horizontal","Math","abs","dx","dy","onPanResponderMove","base","setValue","min","max","onPanResponderRelease","resting","vx","onPanResponderTerminate","SwipeActionsRow","children","actions","testID","length","useRef","Value","current","gestureRef","useEffect","jsxs","View","style","styles","clip","jsx","actionLayer","width","map","action","TouchableOpacity","background","backgroundColor","onPress","accessibilityLabel","label","toLowerCase","undefined","Text","actionText","color","numberOfLines","content","transform","panHandlers","StyleSheet","overflow","position","top","bottom","right","flexDirection","height","tm","fillStrong","alignItems","justifyContent","paddingHorizontal","fontSize","font","footnote","fontWeight","letterSpacing","tracking","control","group"],"sourceRoot":"../../../src","sources":["ui/SwipeActionsRow.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DisclosureChevron = DisclosureChevron;
|
|
7
|
+
exports.Footnote = Footnote;
|
|
8
|
+
exports.Group = Group;
|
|
9
|
+
exports.PillLabel = PillLabel;
|
|
10
|
+
exports.SectionLabel = SectionLabel;
|
|
11
|
+
var _react = require("react");
|
|
12
|
+
var _reactNative = require("react-native");
|
|
13
|
+
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
14
|
+
var _tmTheme = require("./tmTheme");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
/**
|
|
17
|
+
* Grouped-inset list primitives — the building blocks of the Time Machine
|
|
18
|
+
* surface (see ./tmTheme for the tokens and the promotion plan).
|
|
19
|
+
*
|
|
20
|
+
* The shape they compose to:
|
|
21
|
+
*
|
|
22
|
+
* SectionLabel SOURCES ← outside the card, uppercase
|
|
23
|
+
* Group ┌──────────────────┐
|
|
24
|
+
* <row> │ All sources … 6 ›│ ← rows are plain children;
|
|
25
|
+
* <row> ├──────────────────┤ Group draws the hairlines
|
|
26
|
+
* └──────────────────┘
|
|
27
|
+
* Footnote Route is captured with… ← explains the group above
|
|
28
|
+
*
|
|
29
|
+
* Rows are whatever a screen needs — Group only owns the card, the clipping
|
|
30
|
+
* and the separators, so a row never has to know its position in the list.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/** Uppercase section label that sits above a Group. */
|
|
34
|
+
function SectionLabel({
|
|
35
|
+
children
|
|
36
|
+
}) {
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
38
|
+
style: styles.sectionLabel,
|
|
39
|
+
children: children
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Explanatory line under a Group ("Swipe a restore point to delete it").
|
|
45
|
+
* `centered` matches the iOS convention for a footnote under a lone button.
|
|
46
|
+
*/
|
|
47
|
+
function Footnote({
|
|
48
|
+
children,
|
|
49
|
+
centered,
|
|
50
|
+
tone = "secondary"
|
|
51
|
+
}) {
|
|
52
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
53
|
+
style: [styles.footnote, centered ? styles.footnoteCentered : null, tone === "warning" ? styles.footnoteWarning : null],
|
|
54
|
+
children: children
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* A rounded grouped card. Draws a hairline between consecutive children and
|
|
60
|
+
* clips them, so a row can paint edge-to-edge (swipe actions, press washes)
|
|
61
|
+
* without punching through the corners.
|
|
62
|
+
*/
|
|
63
|
+
function Group({
|
|
64
|
+
children,
|
|
65
|
+
style
|
|
66
|
+
}) {
|
|
67
|
+
const rows = _react.Children.toArray(children);
|
|
68
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
69
|
+
style: [styles.group, style],
|
|
70
|
+
children: rows.map((row, index) =>
|
|
71
|
+
/*#__PURE__*/
|
|
72
|
+
// Children.toArray assigns stable synthetic keys ('.$id' for keyed
|
|
73
|
+
// children), so a row keeps its identity as the list changes.
|
|
74
|
+
(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
75
|
+
children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
76
|
+
style: styles.separator
|
|
77
|
+
}) : null, row]
|
|
78
|
+
}, row.key ?? index))
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Trailing disclosure chevron for a row that opens or expands.
|
|
84
|
+
*
|
|
85
|
+
* A real glyph, not two rotated hairlines: at this size the hand-built
|
|
86
|
+
* version's strokes never met at the vertex, so it read as a broken arrow.
|
|
87
|
+
*/
|
|
88
|
+
function DisclosureChevron() {
|
|
89
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronRight, {
|
|
90
|
+
size: 16,
|
|
91
|
+
color: _tmTheme.tm.color.labelTertiary
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Pill button. Parameterized by color rather than by variant flags so a
|
|
97
|
+
* screen can name its own (`CapturePill`, `RestorePill`) in one line.
|
|
98
|
+
*/
|
|
99
|
+
function PillLabel({
|
|
100
|
+
label,
|
|
101
|
+
color,
|
|
102
|
+
background
|
|
103
|
+
}) {
|
|
104
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
105
|
+
style: [styles.pill, {
|
|
106
|
+
backgroundColor: background
|
|
107
|
+
}],
|
|
108
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
109
|
+
style: [styles.pillText, {
|
|
110
|
+
color
|
|
111
|
+
}],
|
|
112
|
+
children: label
|
|
113
|
+
})
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
const styles = _reactNative.StyleSheet.create({
|
|
117
|
+
sectionLabel: {
|
|
118
|
+
color: _tmTheme.tm.color.labelSecondary,
|
|
119
|
+
fontSize: _tmTheme.tm.font.footnote,
|
|
120
|
+
fontWeight: "500",
|
|
121
|
+
textTransform: "uppercase",
|
|
122
|
+
letterSpacing: 0.4,
|
|
123
|
+
paddingHorizontal: _tmTheme.tm.gutter + _tmTheme.tm.textInset,
|
|
124
|
+
paddingTop: 22,
|
|
125
|
+
paddingBottom: 7
|
|
126
|
+
},
|
|
127
|
+
footnote: {
|
|
128
|
+
color: _tmTheme.tm.color.labelSecondary,
|
|
129
|
+
fontSize: _tmTheme.tm.font.footnote,
|
|
130
|
+
lineHeight: _tmTheme.tm.font.footnote * 1.35,
|
|
131
|
+
paddingHorizontal: _tmTheme.tm.gutter + _tmTheme.tm.textInset,
|
|
132
|
+
paddingTop: 7
|
|
133
|
+
},
|
|
134
|
+
footnoteCentered: {
|
|
135
|
+
textAlign: "center"
|
|
136
|
+
},
|
|
137
|
+
footnoteWarning: {
|
|
138
|
+
color: _tmTheme.tm.color.warning
|
|
139
|
+
},
|
|
140
|
+
group: {
|
|
141
|
+
marginHorizontal: _tmTheme.tm.gutter,
|
|
142
|
+
backgroundColor: _tmTheme.tm.color.group,
|
|
143
|
+
borderRadius: _tmTheme.tm.radius.group,
|
|
144
|
+
overflow: "hidden"
|
|
145
|
+
},
|
|
146
|
+
separator: {
|
|
147
|
+
height: _reactNative.StyleSheet.hairlineWidth,
|
|
148
|
+
marginLeft: _tmTheme.tm.separatorInset,
|
|
149
|
+
backgroundColor: _tmTheme.tm.color.separator
|
|
150
|
+
},
|
|
151
|
+
pill: {
|
|
152
|
+
height: 32,
|
|
153
|
+
paddingHorizontal: 15,
|
|
154
|
+
borderRadius: _tmTheme.tm.radius.pill,
|
|
155
|
+
alignItems: "center",
|
|
156
|
+
justifyContent: "center"
|
|
157
|
+
},
|
|
158
|
+
pillText: {
|
|
159
|
+
fontSize: _tmTheme.tm.font.control,
|
|
160
|
+
fontWeight: "600",
|
|
161
|
+
letterSpacing: _tmTheme.tm.tracking.control
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
//# sourceMappingURL=primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_sharedUi","_tmTheme","_jsxRuntime","SectionLabel","children","jsx","Text","style","styles","sectionLabel","Footnote","centered","tone","footnote","footnoteCentered","footnoteWarning","Group","rows","Children","toArray","View","group","map","row","index","jsxs","separator","key","DisclosureChevron","ChevronRight","size","color","tm","labelTertiary","PillLabel","label","background","pill","backgroundColor","pillText","StyleSheet","create","labelSecondary","fontSize","font","fontWeight","textTransform","letterSpacing","paddingHorizontal","gutter","textInset","paddingTop","paddingBottom","lineHeight","textAlign","warning","marginHorizontal","borderRadius","radius","overflow","height","hairlineWidth","marginLeft","separatorInset","alignItems","justifyContent","control","tracking"],"sourceRoot":"../../../src","sources":["ui/primitives.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tm = exports.TM_MONO = void 0;
|
|
7
|
+
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
8
|
+
/**
|
|
9
|
+
* Time Machine design tokens — the "modern" surface language.
|
|
10
|
+
*
|
|
11
|
+
* A grouped-inset list system (iOS Settings shape): one dark sheet, rounded
|
|
12
|
+
* grouped cards holding hairline-separated rows, uppercase section labels
|
|
13
|
+
* outside the cards, and explanatory footnotes under them.
|
|
14
|
+
*
|
|
15
|
+
* COLOR COMES FROM `buoyColors` — the shared dev-tools palette — not from a
|
|
16
|
+
* private set. The mockup this layout came from used the Apple system colors;
|
|
17
|
+
* those are mapped onto Buoy's equivalents here (system green → Buoy teal,
|
|
18
|
+
* and so on) so the tool reads as part of the same product as every other
|
|
19
|
+
* one. Change a value in gameUIColors.ts and it lands here.
|
|
20
|
+
*
|
|
21
|
+
* Only shape, spacing and type live as literals below — those ARE the design
|
|
22
|
+
* language and have no palette equivalent.
|
|
23
|
+
*
|
|
24
|
+
* SCOPE: this is Time Machine's pilot of the new look. If it lands, promote
|
|
25
|
+
* this file (and ./primitives) into @buoy-gg/shared-ui and let the other
|
|
26
|
+
* tools import it — nothing in here is Time-Machine-specific.
|
|
27
|
+
*
|
|
28
|
+
* Note: like every StyleSheet in the repo, these values are read once at
|
|
29
|
+
* module load, so the desktop dashboard's in-place re-tint needs a reload to
|
|
30
|
+
* reach them.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/** Hex opacity suffixes, so tinted fills stay tied to the palette color. */
|
|
34
|
+
const A18 = "2E";
|
|
35
|
+
const A30 = "4D";
|
|
36
|
+
const tm = exports.tm = {
|
|
37
|
+
color: {
|
|
38
|
+
/** Sheet background behind the grouped cards. */
|
|
39
|
+
sheet: _sharedUi.buoyColors.base,
|
|
40
|
+
/** A grouped card. */
|
|
41
|
+
group: _sharedUi.buoyColors.card,
|
|
42
|
+
/** Row press / hover wash on top of a group. */
|
|
43
|
+
rowPressed: _sharedUi.buoyColors.hover,
|
|
44
|
+
/** Hairline between rows, inset from the left like iOS. */
|
|
45
|
+
separator: _sharedUi.buoyColors.border,
|
|
46
|
+
/** Neutral control fill (icon discs, chips, round buttons). */
|
|
47
|
+
fill: _sharedUi.buoyColors.input,
|
|
48
|
+
fillStrong: _sharedUi.buoyColors.borderStrong,
|
|
49
|
+
label: _sharedUi.buoyColors.text,
|
|
50
|
+
labelSecondary: _sharedUi.buoyColors.textSecondary,
|
|
51
|
+
labelTertiary: _sharedUi.buoyColors.textMuted,
|
|
52
|
+
/** Primary action + "this is healthy" (Buoy teal). */
|
|
53
|
+
accent: _sharedUi.buoyColors.primary,
|
|
54
|
+
accentSoft: `${_sharedUi.buoyColors.primary}${A18}`,
|
|
55
|
+
accentSoftStrong: `${_sharedUi.buoyColors.primary}${A30}`,
|
|
56
|
+
/** Text/icons ON an accent fill — the palette's teal wants dark ink. */
|
|
57
|
+
onAccent: "#0A0A0A",
|
|
58
|
+
warning: _sharedUi.buoyColors.warning,
|
|
59
|
+
warningSoft: `${_sharedUi.buoyColors.warning}${A18}`,
|
|
60
|
+
danger: _sharedUi.buoyColors.error,
|
|
61
|
+
dangerSoft: `${_sharedUi.buoyColors.error}${A18}`,
|
|
62
|
+
/** Text/icons ON a danger fill. */
|
|
63
|
+
onDanger: "#FFFFFF",
|
|
64
|
+
info: _sharedUi.buoyColors.info
|
|
65
|
+
},
|
|
66
|
+
radius: {
|
|
67
|
+
/** Grouped card + the capture field that visually matches one. */
|
|
68
|
+
group: 14,
|
|
69
|
+
/** Fully rounded pills and status circles. */
|
|
70
|
+
pill: 99
|
|
71
|
+
},
|
|
72
|
+
/** Horizontal inset of the grouped cards from the sheet edge. */
|
|
73
|
+
gutter: 14,
|
|
74
|
+
/** Extra inset for labels/footnotes, measured from the card edge. */
|
|
75
|
+
textInset: 16,
|
|
76
|
+
/** Left inset of a row separator, measured from the card edge. */
|
|
77
|
+
separatorInset: 16,
|
|
78
|
+
font: {
|
|
79
|
+
/** Row titles and primary values. */
|
|
80
|
+
row: 17,
|
|
81
|
+
/** Buttons and pill labels. */
|
|
82
|
+
control: 15,
|
|
83
|
+
/** Section labels, row captions, footnotes. */
|
|
84
|
+
footnote: 13,
|
|
85
|
+
/** Route paths and other monospace detail. */
|
|
86
|
+
mono: 12
|
|
87
|
+
},
|
|
88
|
+
/** iOS tracks display text slightly tighter than the default. */
|
|
89
|
+
tracking: {
|
|
90
|
+
row: -0.43,
|
|
91
|
+
control: -0.2
|
|
92
|
+
},
|
|
93
|
+
/** Standard grouped-row height before content forces it taller. */
|
|
94
|
+
rowMinHeight: 52
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Monospace family. RN native resolves a single family name only (no CSS
|
|
99
|
+
* stack), and "monospace" is the one token both platforms honor — it is what
|
|
100
|
+
* the rest of the design system uses.
|
|
101
|
+
*/
|
|
102
|
+
const TM_MONO = exports.TM_MONO = "monospace";
|
|
103
|
+
//# sourceMappingURL=tmTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_sharedUi","require","A18","A30","tm","exports","color","sheet","buoyColors","base","group","card","rowPressed","hover","separator","border","fill","input","fillStrong","borderStrong","label","text","labelSecondary","textSecondary","labelTertiary","textMuted","accent","primary","accentSoft","accentSoftStrong","onAccent","warning","warningSoft","danger","error","dangerSoft","onDanger","info","radius","pill","gutter","textInset","separatorInset","font","row","control","footnote","mono","tracking","rowMinHeight","TM_MONO"],"sourceRoot":"../../../src","sources":["ui/tmTheme.ts"],"mappings":";;;;;;AAwBA,IAAAA,SAAA,GAAAC,OAAA;AAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAET,MAAMC,EAAE,GAAAC,OAAA,CAAAD,EAAA,GAAG;EAChBE,KAAK,EAAE;IACL;IACAC,KAAK,EAAEC,oBAAU,CAACC,IAAI;IACtB;IACAC,KAAK,EAAEF,oBAAU,CAACG,IAAI;IACtB;IACAC,UAAU,EAAEJ,oBAAU,CAACK,KAAK;IAC5B;IACAC,SAAS,EAAEN,oBAAU,CAACO,MAAM;IAC5B;IACAC,IAAI,EAAER,oBAAU,CAACS,KAAK;IACtBC,UAAU,EAAEV,oBAAU,CAACW,YAAY;IAEnCC,KAAK,EAAEZ,oBAAU,CAACa,IAAI;IACtBC,cAAc,EAAEd,oBAAU,CAACe,aAAa;IACxCC,aAAa,EAAEhB,oBAAU,CAACiB,SAAS;IAEnC;IACAC,MAAM,EAAElB,oBAAU,CAACmB,OAAO;IAC1BC,UAAU,EAAE,GAAGpB,oBAAU,CAACmB,OAAO,GAAGzB,GAAG,EAAE;IACzC2B,gBAAgB,EAAE,GAAGrB,oBAAU,CAACmB,OAAO,GAAGxB,GAAG,EAAE;IAC/C;IACA2B,QAAQ,EAAE,SAAS;IAEnBC,OAAO,EAAEvB,oBAAU,CAACuB,OAAO;IAC3BC,WAAW,EAAE,GAAGxB,oBAAU,CAACuB,OAAO,GAAG7B,GAAG,EAAE;IAE1C+B,MAAM,EAAEzB,oBAAU,CAAC0B,KAAK;IACxBC,UAAU,EAAE,GAAG3B,oBAAU,CAAC0B,KAAK,GAAGhC,GAAG,EAAE;IACvC;IACAkC,QAAQ,EAAE,SAAS;IAEnBC,IAAI,EAAE7B,oBAAU,CAAC6B;EACnB,CAAC;EAEDC,MAAM,EAAE;IACN;IACA5B,KAAK,EAAE,EAAE;IACT;IACA6B,IAAI,EAAE;EACR,CAAC;EAED;EACAC,MAAM,EAAE,EAAE;EACV;EACAC,SAAS,EAAE,EAAE;EACb;EACAC,cAAc,EAAE,EAAE;EAElBC,IAAI,EAAE;IACJ;IACAC,GAAG,EAAE,EAAE;IACP;IACAC,OAAO,EAAE,EAAE;IACX;IACAC,QAAQ,EAAE,EAAE;IACZ;IACAC,IAAI,EAAE;EACR,CAAC;EAED;EACAC,QAAQ,EAAE;IACRJ,GAAG,EAAE,CAAC,IAAI;IACVC,OAAO,EAAE,CAAC;EACZ,CAAC;EAED;EACAI,YAAY,EAAE;AAChB,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACO,MAAMC,OAAO,GAAA7C,OAAA,CAAA6C,OAAA,GAAG,WAAW","ignoreList":[]}
|