@buoy-gg/shared-ui 7.0.33 → 7.0.34
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/JsModal.js +57 -22
- package/lib/commonjs/hooks/index.js +26 -0
- package/lib/commonjs/hooks/safe-area-impl.js +1 -1
- package/lib/commonjs/hooks/useChangeLog.js +55 -0
- package/lib/commonjs/hooks/useEventStoreEvents.js +65 -0
- package/lib/commonjs/hooks/usePersistedState.js +45 -10
- package/lib/commonjs/index.js +143 -0
- package/lib/commonjs/storage/definePersistedSetting.js +67 -0
- package/lib/commonjs/storage/index.js +8 -1
- package/lib/commonjs/stores/ChangeLog.js +197 -0
- package/lib/commonjs/stores/createToolStore.js +175 -0
- package/lib/commonjs/stores/index.js +15 -1
- package/lib/commonjs/sync/toolSyncAdapter.js +63 -0
- package/lib/commonjs/sync/wireForm.js +172 -0
- package/lib/commonjs/tools/defineTool.js +79 -0
- package/lib/commonjs/ui/components/ChangeRow.js +110 -0
- package/lib/commonjs/ui/components/ChipStrip.js +94 -0
- package/lib/commonjs/ui/components/DetailViewToggle.js +130 -0
- package/lib/commonjs/ui/components/DevToolsCard.js +3 -1
- package/lib/commonjs/ui/components/EntityFilterView.js +354 -0
- package/lib/commonjs/ui/components/ExportPreview.js +174 -0
- package/lib/commonjs/ui/components/InfoRow.js +90 -0
- package/lib/commonjs/ui/components/ModalHeader.js +40 -7
- package/lib/commonjs/ui/components/Pill.js +114 -0
- package/lib/commonjs/ui/components/ToggleRow.js +116 -0
- package/lib/commonjs/ui/components/ToolFooter.js +204 -0
- package/lib/commonjs/ui/components/index.js +100 -1
- package/lib/commonjs/ui/index.js +24 -2
- package/lib/commonjs/ui/listPresets.js +43 -0
- package/lib/commonjs/ui/night/primitives.js +3 -1
- package/lib/commonjs/utils/snapshotProviderKit.js +167 -0
- package/lib/commonjs/utils/stateTools.js +160 -0
- package/lib/module/JsModal.js +57 -22
- package/lib/module/hooks/index.js +3 -1
- package/lib/module/hooks/safe-area-impl.js +1 -1
- package/lib/module/hooks/useChangeLog.js +50 -0
- package/lib/module/hooks/useEventStoreEvents.js +61 -0
- package/lib/module/hooks/usePersistedState.js +44 -10
- package/lib/module/index.js +11 -1
- package/lib/module/storage/definePersistedSetting.js +63 -0
- package/lib/module/storage/index.js +2 -1
- package/lib/module/stores/ChangeLog.js +192 -0
- package/lib/module/stores/createToolStore.js +171 -0
- package/lib/module/stores/index.js +3 -1
- package/lib/module/sync/toolSyncAdapter.js +58 -0
- package/lib/module/sync/wireForm.js +159 -0
- package/lib/module/tools/defineTool.js +74 -0
- package/lib/module/ui/components/ChangeRow.js +105 -0
- package/lib/module/ui/components/ChipStrip.js +91 -0
- package/lib/module/ui/components/DetailViewToggle.js +125 -0
- package/lib/module/ui/components/DevToolsCard.js +3 -1
- package/lib/module/ui/components/EntityFilterView.js +350 -0
- package/lib/module/ui/components/ExportPreview.js +169 -0
- package/lib/module/ui/components/InfoRow.js +86 -0
- package/lib/module/ui/components/ModalHeader.js +40 -7
- package/lib/module/ui/components/Pill.js +110 -0
- package/lib/module/ui/components/ToggleRow.js +112 -0
- package/lib/module/ui/components/ToolFooter.js +196 -0
- package/lib/module/ui/components/index.js +10 -1
- package/lib/module/ui/index.js +4 -1
- package/lib/module/ui/listPresets.js +39 -0
- package/lib/module/ui/night/primitives.js +3 -1
- package/lib/module/utils/snapshotProviderKit.js +156 -0
- package/lib/module/utils/stateTools.js +154 -0
- package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/index.d.ts +3 -1
- package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/commonjs/hooks/useChangeLog.d.ts +38 -0
- package/lib/typescript/commonjs/hooks/useChangeLog.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/useEventStoreEvents.d.ts +25 -0
- package/lib/typescript/commonjs/hooks/useEventStoreEvents.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/usePersistedState.d.ts +34 -5
- package/lib/typescript/commonjs/hooks/usePersistedState.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +6 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/storage/definePersistedSetting.d.ts +39 -0
- package/lib/typescript/commonjs/storage/definePersistedSetting.d.ts.map +1 -0
- package/lib/typescript/commonjs/storage/index.d.ts +1 -0
- package/lib/typescript/commonjs/storage/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/stores/ChangeLog.d.ts +100 -0
- package/lib/typescript/commonjs/stores/ChangeLog.d.ts.map +1 -0
- package/lib/typescript/commonjs/stores/createToolStore.d.ts +92 -0
- package/lib/typescript/commonjs/stores/createToolStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/stores/index.d.ts +2 -0
- package/lib/typescript/commonjs/stores/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/sync/toolSyncAdapter.d.ts +66 -0
- package/lib/typescript/commonjs/sync/toolSyncAdapter.d.ts.map +1 -0
- package/lib/typescript/commonjs/sync/wireForm.d.ts +100 -0
- package/lib/typescript/commonjs/sync/wireForm.d.ts.map +1 -0
- package/lib/typescript/commonjs/tools/defineTool.d.ts +100 -0
- package/lib/typescript/commonjs/tools/defineTool.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ChangeRow.d.ts +52 -0
- package/lib/typescript/commonjs/ui/components/ChangeRow.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ChipStrip.d.ts +41 -0
- package/lib/typescript/commonjs/ui/components/ChipStrip.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/DetailViewToggle.d.ts +36 -0
- package/lib/typescript/commonjs/ui/components/DetailViewToggle.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts +8 -1
- package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/EntityFilterView.d.ts +51 -0
- package/lib/typescript/commonjs/ui/components/EntityFilterView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ExportPreview.d.ts +48 -0
- package/lib/typescript/commonjs/ui/components/ExportPreview.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/InfoRow.d.ts +33 -0
- package/lib/typescript/commonjs/ui/components/InfoRow.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts +31 -1
- package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Pill.d.ts +38 -0
- package/lib/typescript/commonjs/ui/components/Pill.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ToggleRow.d.ts +33 -0
- package/lib/typescript/commonjs/ui/components/ToggleRow.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ToolFooter.d.ts +69 -0
- package/lib/typescript/commonjs/ui/components/ToolFooter.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/index.d.ts +9 -0
- package/lib/typescript/commonjs/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +1 -0
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/listPresets.d.ts +28 -0
- package/lib/typescript/commonjs/ui/listPresets.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/night/primitives.d.ts +3 -1
- package/lib/typescript/commonjs/ui/night/primitives.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/snapshotProviderKit.d.ts +81 -0
- package/lib/typescript/commonjs/utils/snapshotProviderKit.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/stateTools.d.ts +44 -0
- package/lib/typescript/commonjs/utils/stateTools.d.ts.map +1 -0
- package/lib/typescript/module/JsModal.d.ts.map +1 -1
- package/lib/typescript/module/hooks/index.d.ts +3 -1
- package/lib/typescript/module/hooks/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/module/hooks/useChangeLog.d.ts +38 -0
- package/lib/typescript/module/hooks/useChangeLog.d.ts.map +1 -0
- package/lib/typescript/module/hooks/useEventStoreEvents.d.ts +25 -0
- package/lib/typescript/module/hooks/useEventStoreEvents.d.ts.map +1 -0
- package/lib/typescript/module/hooks/usePersistedState.d.ts +34 -5
- package/lib/typescript/module/hooks/usePersistedState.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +6 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/storage/definePersistedSetting.d.ts +39 -0
- package/lib/typescript/module/storage/definePersistedSetting.d.ts.map +1 -0
- package/lib/typescript/module/storage/index.d.ts +1 -0
- package/lib/typescript/module/storage/index.d.ts.map +1 -1
- package/lib/typescript/module/stores/ChangeLog.d.ts +100 -0
- package/lib/typescript/module/stores/ChangeLog.d.ts.map +1 -0
- package/lib/typescript/module/stores/createToolStore.d.ts +92 -0
- package/lib/typescript/module/stores/createToolStore.d.ts.map +1 -0
- package/lib/typescript/module/stores/index.d.ts +2 -0
- package/lib/typescript/module/stores/index.d.ts.map +1 -1
- package/lib/typescript/module/sync/toolSyncAdapter.d.ts +66 -0
- package/lib/typescript/module/sync/toolSyncAdapter.d.ts.map +1 -0
- package/lib/typescript/module/sync/wireForm.d.ts +100 -0
- package/lib/typescript/module/sync/wireForm.d.ts.map +1 -0
- package/lib/typescript/module/tools/defineTool.d.ts +100 -0
- package/lib/typescript/module/tools/defineTool.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ChangeRow.d.ts +52 -0
- package/lib/typescript/module/ui/components/ChangeRow.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ChipStrip.d.ts +41 -0
- package/lib/typescript/module/ui/components/ChipStrip.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/DetailViewToggle.d.ts +36 -0
- package/lib/typescript/module/ui/components/DetailViewToggle.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/DevToolsCard.d.ts +8 -1
- package/lib/typescript/module/ui/components/DevToolsCard.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/EntityFilterView.d.ts +51 -0
- package/lib/typescript/module/ui/components/EntityFilterView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ExportPreview.d.ts +48 -0
- package/lib/typescript/module/ui/components/ExportPreview.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/InfoRow.d.ts +33 -0
- package/lib/typescript/module/ui/components/InfoRow.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ModalHeader.d.ts +31 -1
- package/lib/typescript/module/ui/components/ModalHeader.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Pill.d.ts +38 -0
- package/lib/typescript/module/ui/components/Pill.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ToggleRow.d.ts +33 -0
- package/lib/typescript/module/ui/components/ToggleRow.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ToolFooter.d.ts +69 -0
- package/lib/typescript/module/ui/components/ToolFooter.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/index.d.ts +9 -0
- package/lib/typescript/module/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +1 -0
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/listPresets.d.ts +28 -0
- package/lib/typescript/module/ui/listPresets.d.ts.map +1 -0
- package/lib/typescript/module/ui/night/primitives.d.ts +3 -1
- package/lib/typescript/module/ui/night/primitives.d.ts.map +1 -1
- package/lib/typescript/module/utils/snapshotProviderKit.d.ts +81 -0
- package/lib/typescript/module/utils/snapshotProviderKit.d.ts.map +1 -0
- package/lib/typescript/module/utils/stateTools.d.ts +44 -0
- package/lib/typescript/module/utils/stateTools.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Pill = Pill;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _nightTheme = require("../night/nightTheme.js");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
/**
|
|
11
|
+
* Pill — the small caption chip every tool draws next to a row: a verdict
|
|
12
|
+
* ("UNUSED", "OVERSIZE"), a kind ("event", "transaction"), a link ("↔ 2"),
|
|
13
|
+
* a source ("MMKV"). Sixteen packages defined 150+ local pill styles that
|
|
14
|
+
* fall into five looks; those are the `variant`s here. Text is always in
|
|
15
|
+
* the pill's color (or the muted ink for `quiet`), never the series color
|
|
16
|
+
* of anything else.
|
|
17
|
+
*
|
|
18
|
+
* - `tinted` — color fill at 15% + border at 40% (scenarios, react-query chips)
|
|
19
|
+
* - `soft` — color fill at 20%, rounded, no border (events correlation badge)
|
|
20
|
+
* - `outline` — color border only (sentry envelope types)
|
|
21
|
+
* - `quiet` — neutral 6% white fill, muted text, optional color dot (assets)
|
|
22
|
+
* - `text` — bare colored caption, no chrome (images row badges)
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
function Pill({
|
|
26
|
+
label,
|
|
27
|
+
color = _nightTheme.night.color.textSecondary,
|
|
28
|
+
variant = "tinted",
|
|
29
|
+
size = "xs",
|
|
30
|
+
mono = false,
|
|
31
|
+
uppercase,
|
|
32
|
+
dot = false,
|
|
33
|
+
icon,
|
|
34
|
+
testID,
|
|
35
|
+
style
|
|
36
|
+
}) {
|
|
37
|
+
const upper = uppercase ?? (variant === "tinted" || variant === "quiet" || variant === "text");
|
|
38
|
+
const textColor = variant === "quiet" ? _nightTheme.night.color.textSecondary : color;
|
|
39
|
+
const chrome = variant === "tinted" ? {
|
|
40
|
+
backgroundColor: `${color}15`,
|
|
41
|
+
borderColor: `${color}40`,
|
|
42
|
+
borderWidth: 1
|
|
43
|
+
} : variant === "soft" ? {
|
|
44
|
+
backgroundColor: `${color}20`
|
|
45
|
+
} : variant === "outline" ? {
|
|
46
|
+
borderColor: color,
|
|
47
|
+
borderWidth: 1
|
|
48
|
+
} : variant === "quiet" ? {
|
|
49
|
+
backgroundColor: "rgba(255,255,255,0.06)"
|
|
50
|
+
} : {};
|
|
51
|
+
if (variant === "text") {
|
|
52
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
53
|
+
style: [styles.text, size === "sm" && styles.textSm, mono && styles.mono, upper && styles.upper, {
|
|
54
|
+
color: textColor
|
|
55
|
+
}],
|
|
56
|
+
testID: testID,
|
|
57
|
+
children: label
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
61
|
+
style: [styles.pill, variant === "soft" && styles.pillSoft, size === "sm" && styles.pillSm, chrome, style],
|
|
62
|
+
children: [icon, dot && variant === "quiet" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
63
|
+
style: [styles.dot, {
|
|
64
|
+
backgroundColor: color
|
|
65
|
+
}]
|
|
66
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
67
|
+
style: [styles.text, size === "sm" && styles.textSm, mono && styles.mono, upper && styles.upper, {
|
|
68
|
+
color: textColor
|
|
69
|
+
}],
|
|
70
|
+
testID: testID,
|
|
71
|
+
children: label
|
|
72
|
+
})]
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
const styles = _reactNative.StyleSheet.create({
|
|
76
|
+
pill: {
|
|
77
|
+
flexDirection: "row",
|
|
78
|
+
alignItems: "center",
|
|
79
|
+
alignSelf: "flex-start",
|
|
80
|
+
gap: 4,
|
|
81
|
+
paddingHorizontal: 6,
|
|
82
|
+
paddingVertical: 2,
|
|
83
|
+
borderRadius: 4
|
|
84
|
+
},
|
|
85
|
+
pillSoft: {
|
|
86
|
+
paddingHorizontal: 8,
|
|
87
|
+
borderRadius: 10
|
|
88
|
+
},
|
|
89
|
+
pillSm: {
|
|
90
|
+
paddingHorizontal: 8,
|
|
91
|
+
paddingVertical: 3
|
|
92
|
+
},
|
|
93
|
+
dot: {
|
|
94
|
+
width: 5,
|
|
95
|
+
height: 5,
|
|
96
|
+
borderRadius: 2.5
|
|
97
|
+
},
|
|
98
|
+
text: {
|
|
99
|
+
fontSize: 10,
|
|
100
|
+
fontWeight: "600",
|
|
101
|
+
letterSpacing: 0.3
|
|
102
|
+
},
|
|
103
|
+
textSm: {
|
|
104
|
+
fontSize: 11
|
|
105
|
+
},
|
|
106
|
+
mono: {
|
|
107
|
+
fontFamily: "monospace"
|
|
108
|
+
},
|
|
109
|
+
upper: {
|
|
110
|
+
textTransform: "uppercase",
|
|
111
|
+
letterSpacing: 0.5,
|
|
112
|
+
fontWeight: "700"
|
|
113
|
+
}
|
|
114
|
+
});
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ToggleRow = ToggleRow;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _nightTheme = require("../night/nightTheme.js");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
/**
|
|
11
|
+
* ToggleRow — a labeled switch row for a tool's settings surface.
|
|
12
|
+
*
|
|
13
|
+
* Every settings screen (impersonate, image-overlay, highlight-updates,
|
|
14
|
+
* perf-monitor, scenarios, storage, ask-buoy) drew its own `toggleRow` +
|
|
15
|
+
* `<Switch>` pair with the same night track colors. The native switch stays
|
|
16
|
+
* (a custom control would be a visible design change); the row chrome,
|
|
17
|
+
* the label/description stack and the accent/warning tone are shared.
|
|
18
|
+
*
|
|
19
|
+
* - `variant="card"` — an elevated bordered pill row (image-overlay)
|
|
20
|
+
* - `variant="plain"` — a bare list row for use inside a card (impersonate)
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
function ToggleRow({
|
|
24
|
+
label,
|
|
25
|
+
description,
|
|
26
|
+
value,
|
|
27
|
+
onValueChange,
|
|
28
|
+
disabled = false,
|
|
29
|
+
tone = "accent",
|
|
30
|
+
accessory,
|
|
31
|
+
variant = "card",
|
|
32
|
+
emphasizeLabel = false,
|
|
33
|
+
testID,
|
|
34
|
+
style
|
|
35
|
+
}) {
|
|
36
|
+
const onColor = tone === "warning" ? _nightTheme.night.color.warning : _nightTheme.night.color.accent;
|
|
37
|
+
const isCard = variant === "card";
|
|
38
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
39
|
+
style: [styles.row, isCard ? styles.rowCard : styles.rowPlain, style],
|
|
40
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
41
|
+
style: styles.info,
|
|
42
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
43
|
+
style: styles.header,
|
|
44
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
45
|
+
style: [isCard ? styles.labelCard : styles.labelPlain, emphasizeLabel && {
|
|
46
|
+
color: onColor
|
|
47
|
+
}],
|
|
48
|
+
numberOfLines: 2,
|
|
49
|
+
children: label
|
|
50
|
+
}), accessory]
|
|
51
|
+
}), description ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
52
|
+
style: styles.description,
|
|
53
|
+
children: description
|
|
54
|
+
}) : null]
|
|
55
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Switch, {
|
|
56
|
+
value: value,
|
|
57
|
+
onValueChange: onValueChange,
|
|
58
|
+
disabled: disabled,
|
|
59
|
+
testID: testID,
|
|
60
|
+
accessibilityLabel: label,
|
|
61
|
+
trackColor: isCard ? {
|
|
62
|
+
false: _nightTheme.night.color.surfaceElevated,
|
|
63
|
+
true: onColor
|
|
64
|
+
} : {
|
|
65
|
+
false: _nightTheme.night.color.border,
|
|
66
|
+
true: `${onColor}50`
|
|
67
|
+
},
|
|
68
|
+
thumbColor: isCard ? undefined : value ? onColor : _nightTheme.night.color.knob
|
|
69
|
+
})]
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
const styles = _reactNative.StyleSheet.create({
|
|
73
|
+
row: {
|
|
74
|
+
flexDirection: "row",
|
|
75
|
+
alignItems: "center",
|
|
76
|
+
justifyContent: "space-between"
|
|
77
|
+
},
|
|
78
|
+
rowCard: {
|
|
79
|
+
backgroundColor: _nightTheme.night.color.surfaceElevated,
|
|
80
|
+
borderRadius: 8,
|
|
81
|
+
borderWidth: 1,
|
|
82
|
+
borderColor: _nightTheme.night.color.border,
|
|
83
|
+
paddingHorizontal: 12,
|
|
84
|
+
paddingVertical: 8
|
|
85
|
+
},
|
|
86
|
+
rowPlain: {
|
|
87
|
+
paddingVertical: 12,
|
|
88
|
+
paddingHorizontal: 12
|
|
89
|
+
},
|
|
90
|
+
info: {
|
|
91
|
+
flex: 1,
|
|
92
|
+
marginRight: 12
|
|
93
|
+
},
|
|
94
|
+
header: {
|
|
95
|
+
flexDirection: "row",
|
|
96
|
+
alignItems: "center",
|
|
97
|
+
gap: 8,
|
|
98
|
+
flexWrap: "wrap"
|
|
99
|
+
},
|
|
100
|
+
labelCard: {
|
|
101
|
+
fontSize: 13,
|
|
102
|
+
fontWeight: "500",
|
|
103
|
+
color: _nightTheme.night.color.textSecondary
|
|
104
|
+
},
|
|
105
|
+
labelPlain: {
|
|
106
|
+
fontSize: 14,
|
|
107
|
+
fontWeight: "500",
|
|
108
|
+
color: _nightTheme.night.color.text
|
|
109
|
+
},
|
|
110
|
+
description: {
|
|
111
|
+
fontSize: 12,
|
|
112
|
+
color: _nightTheme.night.color.textTertiary,
|
|
113
|
+
lineHeight: 16,
|
|
114
|
+
marginTop: 3
|
|
115
|
+
}
|
|
116
|
+
});
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FooterButton = FooterButton;
|
|
7
|
+
exports.FooterCaption = FooterCaption;
|
|
8
|
+
exports.FooterMessage = FooterMessage;
|
|
9
|
+
exports.FooterRow = FooterRow;
|
|
10
|
+
exports.ToolFooter = ToolFooter;
|
|
11
|
+
var _reactNative = require("react-native");
|
|
12
|
+
var _nightTheme = require("../night/nightTheme.js");
|
|
13
|
+
var _useSafeAreaInsets = require("../../hooks/useSafeAreaInsets.js");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
/**
|
|
16
|
+
* ToolFooter — the night glass bar pinned to the bottom of a tool: dark
|
|
17
|
+
* backing over the star field, a hairline on top, safe-area padding when
|
|
18
|
+
* docked as a sheet, rounded corners when floating.
|
|
19
|
+
*
|
|
20
|
+
* `EventStepperFooter` draws this bar for the Previous/Next case; the
|
|
21
|
+
* images and react-query tools each re-drew it for their action bars with
|
|
22
|
+
* a comment saying "matches EventStepperFooter". This is that bar as a
|
|
23
|
+
* container, plus `FooterButton` — the mono uppercase plate button those
|
|
24
|
+
* action bars are made of — and the caption/message lines above the row.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
function ToolFooter({
|
|
28
|
+
children,
|
|
29
|
+
safeArea = true,
|
|
30
|
+
paddingBottom = 12,
|
|
31
|
+
floating = false,
|
|
32
|
+
absolute = false,
|
|
33
|
+
gap = 8,
|
|
34
|
+
style,
|
|
35
|
+
testID
|
|
36
|
+
}) {
|
|
37
|
+
const insets = (0, _useSafeAreaInsets.useSafeAreaInsets)();
|
|
38
|
+
const bottom = typeof safeArea === "number" ? safeArea + insets.bottom : safeArea ? paddingBottom + insets.bottom : paddingBottom;
|
|
39
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
40
|
+
style: [styles.footer, floating && styles.footerFloating, absolute && styles.footerAbsolute, {
|
|
41
|
+
paddingBottom: bottom,
|
|
42
|
+
gap
|
|
43
|
+
}, style],
|
|
44
|
+
testID: testID,
|
|
45
|
+
children: children
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** A row of footer buttons. */
|
|
50
|
+
function FooterRow({
|
|
51
|
+
children,
|
|
52
|
+
style
|
|
53
|
+
}) {
|
|
54
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
55
|
+
style: [styles.row, style],
|
|
56
|
+
children: children
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** Tracking caption above a row ("MASS ACTIONS — every image on screen"). */
|
|
61
|
+
function FooterCaption({
|
|
62
|
+
children,
|
|
63
|
+
style
|
|
64
|
+
}) {
|
|
65
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
66
|
+
style: [styles.caption, style],
|
|
67
|
+
numberOfLines: 1,
|
|
68
|
+
children: children
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** Mono feedback line ("Restored 3 images"). */
|
|
73
|
+
function FooterMessage({
|
|
74
|
+
children,
|
|
75
|
+
tone = "info",
|
|
76
|
+
style
|
|
77
|
+
}) {
|
|
78
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
79
|
+
style: [styles.message, tone === "muted" && styles.messageMuted, style],
|
|
80
|
+
numberOfLines: 1,
|
|
81
|
+
children: children
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function FooterButton({
|
|
85
|
+
label,
|
|
86
|
+
onPress,
|
|
87
|
+
accent = false,
|
|
88
|
+
active = false,
|
|
89
|
+
disabled = false,
|
|
90
|
+
icon,
|
|
91
|
+
flex = true,
|
|
92
|
+
size = "sm",
|
|
93
|
+
testID,
|
|
94
|
+
accessibilityLabel,
|
|
95
|
+
style
|
|
96
|
+
}) {
|
|
97
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
98
|
+
onPress: onPress,
|
|
99
|
+
disabled: disabled,
|
|
100
|
+
activeOpacity: 0.7,
|
|
101
|
+
accessibilityRole: "button",
|
|
102
|
+
accessibilityLabel: accessibilityLabel ?? label,
|
|
103
|
+
accessibilityState: {
|
|
104
|
+
disabled,
|
|
105
|
+
selected: active
|
|
106
|
+
},
|
|
107
|
+
testID: testID,
|
|
108
|
+
style: [styles.button, flex ? styles.buttonFlex : styles.buttonFixed, size === "md" && styles.buttonMd, active && styles.buttonActive, disabled && styles.disabled, style],
|
|
109
|
+
children: [icon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
110
|
+
style: [styles.buttonText, size === "md" && styles.buttonTextMd, accent && !disabled && styles.buttonTextAccent, active && styles.buttonTextActive, disabled && styles.buttonTextDisabled],
|
|
111
|
+
children: label
|
|
112
|
+
})]
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
const styles = _reactNative.StyleSheet.create({
|
|
116
|
+
footer: {
|
|
117
|
+
paddingHorizontal: 12,
|
|
118
|
+
paddingTop: 10,
|
|
119
|
+
// Dark glass over the star field — the same bar EventStepperFooter draws.
|
|
120
|
+
backgroundColor: "rgba(5, 5, 5, 0.92)",
|
|
121
|
+
borderTopWidth: 1,
|
|
122
|
+
borderTopColor: _nightTheme.night.color.border
|
|
123
|
+
},
|
|
124
|
+
footerFloating: {
|
|
125
|
+
borderBottomLeftRadius: 14,
|
|
126
|
+
borderBottomRightRadius: 14
|
|
127
|
+
},
|
|
128
|
+
footerAbsolute: {
|
|
129
|
+
position: "absolute",
|
|
130
|
+
left: 0,
|
|
131
|
+
right: 0,
|
|
132
|
+
bottom: 0
|
|
133
|
+
},
|
|
134
|
+
row: {
|
|
135
|
+
flexDirection: "row",
|
|
136
|
+
alignItems: "center",
|
|
137
|
+
gap: 6
|
|
138
|
+
},
|
|
139
|
+
caption: {
|
|
140
|
+
color: _nightTheme.night.color.textTertiary,
|
|
141
|
+
fontSize: 9,
|
|
142
|
+
fontWeight: "700",
|
|
143
|
+
letterSpacing: 0.8
|
|
144
|
+
},
|
|
145
|
+
message: {
|
|
146
|
+
color: _nightTheme.night.color.info,
|
|
147
|
+
fontSize: 10,
|
|
148
|
+
fontFamily: "monospace"
|
|
149
|
+
},
|
|
150
|
+
messageMuted: {
|
|
151
|
+
color: _nightTheme.night.color.textTertiary,
|
|
152
|
+
fontFamily: undefined
|
|
153
|
+
},
|
|
154
|
+
button: {
|
|
155
|
+
flexDirection: "row",
|
|
156
|
+
alignItems: "center",
|
|
157
|
+
justifyContent: "center",
|
|
158
|
+
gap: 6,
|
|
159
|
+
paddingVertical: 8,
|
|
160
|
+
// No horizontal padding: six of these share one row on a phone, and the
|
|
161
|
+
// mono uppercase label needs every point it can get before it wraps.
|
|
162
|
+
paddingHorizontal: 0,
|
|
163
|
+
borderRadius: 6,
|
|
164
|
+
backgroundColor: _nightTheme.night.color.button,
|
|
165
|
+
borderWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
166
|
+
borderColor: _nightTheme.night.color.border
|
|
167
|
+
},
|
|
168
|
+
buttonFlex: {
|
|
169
|
+
flex: 1
|
|
170
|
+
},
|
|
171
|
+
buttonFixed: {
|
|
172
|
+
paddingHorizontal: 10
|
|
173
|
+
},
|
|
174
|
+
buttonMd: {
|
|
175
|
+
paddingVertical: 8
|
|
176
|
+
},
|
|
177
|
+
buttonActive: {
|
|
178
|
+
backgroundColor: _nightTheme.night.color.accentSoft,
|
|
179
|
+
borderColor: _nightTheme.night.color.accentBorderStrong
|
|
180
|
+
},
|
|
181
|
+
buttonText: {
|
|
182
|
+
fontSize: 10,
|
|
183
|
+
fontWeight: "600",
|
|
184
|
+
color: _nightTheme.night.color.textSecondary,
|
|
185
|
+
fontFamily: "monospace",
|
|
186
|
+
textTransform: "uppercase"
|
|
187
|
+
},
|
|
188
|
+
buttonTextMd: {
|
|
189
|
+
fontSize: 11,
|
|
190
|
+
color: _nightTheme.night.color.text
|
|
191
|
+
},
|
|
192
|
+
buttonTextAccent: {
|
|
193
|
+
color: _nightTheme.night.color.warning
|
|
194
|
+
},
|
|
195
|
+
buttonTextActive: {
|
|
196
|
+
color: _nightTheme.night.color.accent
|
|
197
|
+
},
|
|
198
|
+
buttonTextDisabled: {
|
|
199
|
+
color: _nightTheme.night.color.textTertiary
|
|
200
|
+
},
|
|
201
|
+
disabled: {
|
|
202
|
+
opacity: 0.4
|
|
203
|
+
}
|
|
204
|
+
});
|
|
@@ -33,6 +33,18 @@ Object.defineProperty(exports, "Badge", {
|
|
|
33
33
|
return _Badge.Badge;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "ChangeRow", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _ChangeRow.ChangeRow;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "ChipStrip", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _ChipStrip.ChipStrip;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
36
48
|
Object.defineProperty(exports, "ClipboardHintBanner", {
|
|
37
49
|
enumerable: true,
|
|
38
50
|
get: function () {
|
|
@@ -93,6 +105,12 @@ Object.defineProperty(exports, "DetailView", {
|
|
|
93
105
|
return _DetailView.DetailView;
|
|
94
106
|
}
|
|
95
107
|
});
|
|
108
|
+
Object.defineProperty(exports, "DetailViewToggle", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function () {
|
|
111
|
+
return _DetailViewToggle.DetailViewToggle;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
96
114
|
Object.defineProperty(exports, "DevToolsCard", {
|
|
97
115
|
enumerable: true,
|
|
98
116
|
get: function () {
|
|
@@ -123,6 +141,12 @@ Object.defineProperty(exports, "EmptyState", {
|
|
|
123
141
|
return _EmptyState.EmptyState;
|
|
124
142
|
}
|
|
125
143
|
});
|
|
144
|
+
Object.defineProperty(exports, "EntityFilterView", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
get: function () {
|
|
147
|
+
return _EntityFilterView.EntityFilterView;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
126
150
|
Object.defineProperty(exports, "EventHistoryViewer", {
|
|
127
151
|
enumerable: true,
|
|
128
152
|
get: function () {
|
|
@@ -159,6 +183,12 @@ Object.defineProperty(exports, "ExpandedInfoRow", {
|
|
|
159
183
|
return _ExpandedInfoRow.ExpandedInfoRow;
|
|
160
184
|
}
|
|
161
185
|
});
|
|
186
|
+
Object.defineProperty(exports, "ExportPreview", {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function () {
|
|
189
|
+
return _ExportPreview.ExportPreview;
|
|
190
|
+
}
|
|
191
|
+
});
|
|
162
192
|
Object.defineProperty(exports, "FilterBadge", {
|
|
163
193
|
enumerable: true,
|
|
164
194
|
get: function () {
|
|
@@ -177,6 +207,30 @@ Object.defineProperty(exports, "FilterSection", {
|
|
|
177
207
|
return _FilterComponents.FilterSection;
|
|
178
208
|
}
|
|
179
209
|
});
|
|
210
|
+
Object.defineProperty(exports, "FooterButton", {
|
|
211
|
+
enumerable: true,
|
|
212
|
+
get: function () {
|
|
213
|
+
return _ToolFooter.FooterButton;
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
Object.defineProperty(exports, "FooterCaption", {
|
|
217
|
+
enumerable: true,
|
|
218
|
+
get: function () {
|
|
219
|
+
return _ToolFooter.FooterCaption;
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
Object.defineProperty(exports, "FooterMessage", {
|
|
223
|
+
enumerable: true,
|
|
224
|
+
get: function () {
|
|
225
|
+
return _ToolFooter.FooterMessage;
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
Object.defineProperty(exports, "FooterRow", {
|
|
229
|
+
enumerable: true,
|
|
230
|
+
get: function () {
|
|
231
|
+
return _ToolFooter.FooterRow;
|
|
232
|
+
}
|
|
233
|
+
});
|
|
180
234
|
Object.defineProperty(exports, "GripVerticalIcon", {
|
|
181
235
|
enumerable: true,
|
|
182
236
|
get: function () {
|
|
@@ -189,6 +243,12 @@ Object.defineProperty(exports, "HeaderSearchButton", {
|
|
|
189
243
|
return _HeaderSearchButton.HeaderSearchButton;
|
|
190
244
|
}
|
|
191
245
|
});
|
|
246
|
+
Object.defineProperty(exports, "InfoRow", {
|
|
247
|
+
enumerable: true,
|
|
248
|
+
get: function () {
|
|
249
|
+
return _InfoRow.InfoRow;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
192
252
|
Object.defineProperty(exports, "InlineCopyButton", {
|
|
193
253
|
enumerable: true,
|
|
194
254
|
get: function () {
|
|
@@ -237,6 +297,12 @@ Object.defineProperty(exports, "NoSearchResultsEmptyState", {
|
|
|
237
297
|
return _EmptyState.NoSearchResultsEmptyState;
|
|
238
298
|
}
|
|
239
299
|
});
|
|
300
|
+
Object.defineProperty(exports, "Pill", {
|
|
301
|
+
enumerable: true,
|
|
302
|
+
get: function () {
|
|
303
|
+
return _Pill.Pill;
|
|
304
|
+
}
|
|
305
|
+
});
|
|
240
306
|
Object.defineProperty(exports, "PillBadge", {
|
|
241
307
|
enumerable: true,
|
|
242
308
|
get: function () {
|
|
@@ -297,6 +363,12 @@ Object.defineProperty(exports, "TimeDisplay", {
|
|
|
297
363
|
return _TimeDisplay.TimeDisplay;
|
|
298
364
|
}
|
|
299
365
|
});
|
|
366
|
+
Object.defineProperty(exports, "ToggleRow", {
|
|
367
|
+
enumerable: true,
|
|
368
|
+
get: function () {
|
|
369
|
+
return _ToggleRow.ToggleRow;
|
|
370
|
+
}
|
|
371
|
+
});
|
|
300
372
|
Object.defineProperty(exports, "ToolButton", {
|
|
301
373
|
enumerable: true,
|
|
302
374
|
get: function () {
|
|
@@ -309,6 +381,12 @@ Object.defineProperty(exports, "ToolEmptyState", {
|
|
|
309
381
|
return _ToolEmptyState.ToolEmptyState;
|
|
310
382
|
}
|
|
311
383
|
});
|
|
384
|
+
Object.defineProperty(exports, "ToolFooter", {
|
|
385
|
+
enumerable: true,
|
|
386
|
+
get: function () {
|
|
387
|
+
return _ToolFooter.ToolFooter;
|
|
388
|
+
}
|
|
389
|
+
});
|
|
312
390
|
Object.defineProperty(exports, "ToolbarClearButton", {
|
|
313
391
|
enumerable: true,
|
|
314
392
|
get: function () {
|
|
@@ -363,6 +441,18 @@ Object.defineProperty(exports, "setExpandableWindowControls", {
|
|
|
363
441
|
return _WindowControls.setExpandableWindowControls;
|
|
364
442
|
}
|
|
365
443
|
});
|
|
444
|
+
Object.defineProperty(exports, "sizeWarningLevel", {
|
|
445
|
+
enumerable: true,
|
|
446
|
+
get: function () {
|
|
447
|
+
return _ExportPreview.sizeWarningLevel;
|
|
448
|
+
}
|
|
449
|
+
});
|
|
450
|
+
Object.defineProperty(exports, "useChipTap", {
|
|
451
|
+
enumerable: true,
|
|
452
|
+
get: function () {
|
|
453
|
+
return _ChipStrip.useChipTap;
|
|
454
|
+
}
|
|
455
|
+
});
|
|
366
456
|
Object.defineProperty(exports, "windowDragProps", {
|
|
367
457
|
enumerable: true,
|
|
368
458
|
get: function () {
|
|
@@ -405,4 +495,13 @@ var _EventStepperFooter = require("./EventStepperFooter.js");
|
|
|
405
495
|
var _ExpandablePopover = require("./ExpandablePopover.js");
|
|
406
496
|
var _PowerToggleButton = require("./PowerToggleButton.js");
|
|
407
497
|
var _ExpandedInfoRow = require("./ExpandedInfoRow.js");
|
|
408
|
-
var _index = require("./EventHistoryViewer/index.js");
|
|
498
|
+
var _index = require("./EventHistoryViewer/index.js");
|
|
499
|
+
var _InfoRow = require("./InfoRow.js");
|
|
500
|
+
var _DetailViewToggle = require("./DetailViewToggle.js");
|
|
501
|
+
var _ChangeRow = require("./ChangeRow.js");
|
|
502
|
+
var _Pill = require("./Pill.js");
|
|
503
|
+
var _ToolFooter = require("./ToolFooter.js");
|
|
504
|
+
var _EntityFilterView = require("./EntityFilterView.js");
|
|
505
|
+
var _ToggleRow = require("./ToggleRow.js");
|
|
506
|
+
var _ChipStrip = require("./ChipStrip.js");
|
|
507
|
+
var _ExportPreview = require("./ExportPreview.js");
|
package/lib/commonjs/ui/index.js
CHANGED
|
@@ -5,14 +5,35 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
var _exportNames = {
|
|
7
7
|
toolTheme: true,
|
|
8
|
-
CyberpunkSectionButton: true
|
|
8
|
+
CyberpunkSectionButton: true,
|
|
9
|
+
EVENT_LIST_PRESET: true,
|
|
10
|
+
LOG_LIST_PRESET: true,
|
|
11
|
+
CLIP_OFFSCREEN_CELLS: true
|
|
9
12
|
};
|
|
13
|
+
Object.defineProperty(exports, "CLIP_OFFSCREEN_CELLS", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _listPresets.CLIP_OFFSCREEN_CELLS;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
10
19
|
Object.defineProperty(exports, "CyberpunkSectionButton", {
|
|
11
20
|
enumerable: true,
|
|
12
21
|
get: function () {
|
|
13
22
|
return _CyberpunkSectionButton.CyberpunkSectionButton;
|
|
14
23
|
}
|
|
15
24
|
});
|
|
25
|
+
Object.defineProperty(exports, "EVENT_LIST_PRESET", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () {
|
|
28
|
+
return _listPresets.EVENT_LIST_PRESET;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "LOG_LIST_PRESET", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () {
|
|
34
|
+
return _listPresets.LOG_LIST_PRESET;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
16
37
|
Object.defineProperty(exports, "toolTheme", {
|
|
17
38
|
enumerable: true,
|
|
18
39
|
get: function () {
|
|
@@ -68,4 +89,5 @@ Object.keys(_index4).forEach(function (key) {
|
|
|
68
89
|
return _index4[key];
|
|
69
90
|
}
|
|
70
91
|
});
|
|
71
|
-
});
|
|
92
|
+
});
|
|
93
|
+
var _listPresets = require("./listPresets.js");
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LOG_LIST_PRESET = exports.EVENT_LIST_PRESET = exports.CLIP_OFFSCREEN_CELLS = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* FlatList presets for tool lists — the tuned window/batch values and the
|
|
9
|
+
* E2E clipping guard that eleven list sites carried as copy-pasted props.
|
|
10
|
+
*
|
|
11
|
+
* Spread them onto a FlatList: `<FlatList {...EVENT_LIST_PRESET} … />`.
|
|
12
|
+
* A tool that later moves to FlashList changes this file, not eleven.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* `removeClippedSubviews` is off in E2E bundles: clipped rows leave the
|
|
17
|
+
* hierarchy entirely, so a row past the fold reads to the test as "the tool
|
|
18
|
+
* stopped capturing".
|
|
19
|
+
*/
|
|
20
|
+
const CLIP_OFFSCREEN_CELLS = exports.CLIP_OFFSCREEN_CELLS = !(typeof process !== "undefined" && process.env?.EXPO_PUBLIC_E2E);
|
|
21
|
+
/**
|
|
22
|
+
* Event / change / request lists: rows are tall-ish and arrive in bursts.
|
|
23
|
+
* Window and batch values are the "tuned" winner of the buoy-optimize
|
|
24
|
+
* batch run on the network tool (2026-07-06, batch-1783396983529-6l7w).
|
|
25
|
+
*/
|
|
26
|
+
const EVENT_LIST_PRESET = exports.EVENT_LIST_PRESET = {
|
|
27
|
+
initialNumToRender: 12,
|
|
28
|
+
maxToRenderPerBatch: 8,
|
|
29
|
+
windowSize: 5,
|
|
30
|
+
updateCellsBatchingPeriod: 50,
|
|
31
|
+
removeClippedSubviews: CLIP_OFFSCREEN_CELLS
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Log tails (console, sentry): rows are short single lines, the list is
|
|
36
|
+
* read from the bottom, and a scroll-to-end must not land on blank cells.
|
|
37
|
+
*/
|
|
38
|
+
const LOG_LIST_PRESET = exports.LOG_LIST_PRESET = {
|
|
39
|
+
initialNumToRender: 30,
|
|
40
|
+
maxToRenderPerBatch: 30,
|
|
41
|
+
windowSize: 21,
|
|
42
|
+
removeClippedSubviews: CLIP_OFFSCREEN_CELLS
|
|
43
|
+
};
|
|
@@ -167,12 +167,14 @@ function NightChip({
|
|
|
167
167
|
selected,
|
|
168
168
|
onPress,
|
|
169
169
|
disabled,
|
|
170
|
-
icon
|
|
170
|
+
icon,
|
|
171
|
+
testID
|
|
171
172
|
}) {
|
|
172
173
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
173
174
|
activeOpacity: 0.7,
|
|
174
175
|
disabled: disabled || !onPress,
|
|
175
176
|
onPress: onPress,
|
|
177
|
+
testID: testID,
|
|
176
178
|
style: [styles.chip, selected ? styles.chipSelected : null, disabled ? styles.chipDisabled : null],
|
|
177
179
|
children: [icon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
178
180
|
style: [styles.chipText, selected ? styles.chipTextSelected : null],
|