@buoy-gg/shared-ui 7.0.25 → 7.0.27
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 +156 -20
- package/lib/commonjs/JsModal.web.js +85 -39
- package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +14 -4
- package/lib/commonjs/dataViewer/diffThemes.js +20 -18
- package/lib/commonjs/dataViewer/tree/TreeDiffViewer.js +8 -8
- package/lib/commonjs/hooks/safe-area-impl.js +1 -1
- package/lib/commonjs/icons/lucide-icons.js +74 -15
- package/lib/commonjs/index.js +86 -0
- package/lib/commonjs/ui/backgrounds/BackgroundSwitcher.js +248 -74
- package/lib/commonjs/ui/backgrounds/README.md +102 -20
- package/lib/commonjs/ui/backgrounds/backgroundStore.js +20 -6
- package/lib/commonjs/ui/backgrounds/index.js +91 -1
- package/lib/commonjs/ui/backgrounds/primitives.js +50 -14
- package/lib/commonjs/ui/backgrounds/registry.js +41 -64
- package/lib/commonjs/ui/backgrounds/rng.js +21 -0
- package/lib/commonjs/ui/backgrounds/skyClock.js +45 -0
- package/lib/commonjs/ui/backgrounds/variants/daylight.js +453 -0
- package/lib/commonjs/ui/backgrounds/variants/deepField.js +60 -30
- package/lib/commonjs/ui/backgrounds/variants/hyperspace.js +218 -0
- package/lib/commonjs/ui/backgrounds/variants/liveSky.js +898 -0
- package/lib/commonjs/ui/backgrounds/variants/meteors.js +257 -0
- package/lib/commonjs/ui/backgrounds/variants/moonlight.js +472 -0
- package/lib/commonjs/ui/backgrounds/variants/underwater.js +757 -0
- package/lib/commonjs/ui/components/Badge.js +11 -10
- package/lib/commonjs/ui/components/CompactRow.js +30 -17
- package/lib/commonjs/ui/components/DevToolsCard.js +12 -8
- package/lib/commonjs/ui/components/DynamicFilterView.js +43 -41
- package/lib/commonjs/ui/components/EventStepperFooter.js +38 -10
- package/lib/commonjs/ui/components/FilterComponents.js +11 -11
- package/lib/commonjs/ui/components/ModalHeader.js +13 -13
- package/lib/commonjs/ui/components/SectionHeader.js +3 -1
- package/lib/commonjs/ui/components/StorageTypeBadge.js +3 -2
- package/lib/commonjs/ui/components/TabSelector.js +56 -38
- package/lib/commonjs/ui/components/ValueTypeBadge.js +7 -6
- package/lib/commonjs/ui/components/WindowControls.js +37 -10
- package/lib/commonjs/ui/gameUI/constants/gameUIColors.js +8 -0
- package/lib/commonjs/ui/night/nightTheme.js +120 -0
- package/lib/commonjs/ui/night/primitives.js +498 -0
- package/lib/module/JsModal.js +156 -20
- package/lib/module/JsModal.web.js +83 -39
- package/lib/module/dataViewer/VirtualizedDataExplorer.js +14 -4
- package/lib/module/dataViewer/diffThemes.js +20 -18
- package/lib/module/dataViewer/tree/TreeDiffViewer.js +9 -9
- package/lib/module/hooks/safe-area-impl.js +1 -1
- package/lib/module/icons/lucide-icons.js +74 -15
- package/lib/module/index.js +4 -0
- package/lib/module/ui/backgrounds/BackgroundSwitcher.js +250 -76
- package/lib/module/ui/backgrounds/README.md +102 -20
- package/lib/module/ui/backgrounds/backgroundStore.js +19 -5
- package/lib/module/ui/backgrounds/index.js +11 -2
- package/lib/module/ui/backgrounds/primitives.js +53 -16
- package/lib/module/ui/backgrounds/registry.js +41 -64
- package/lib/module/ui/backgrounds/rng.js +20 -0
- package/lib/module/ui/backgrounds/skyClock.js +39 -0
- package/lib/module/ui/backgrounds/variants/daylight.js +449 -0
- package/lib/module/ui/backgrounds/variants/deepField.js +62 -31
- package/lib/module/ui/backgrounds/variants/hyperspace.js +214 -0
- package/lib/module/ui/backgrounds/variants/liveSky.js +893 -0
- package/lib/module/ui/backgrounds/variants/meteors.js +253 -0
- package/lib/module/ui/backgrounds/variants/moonlight.js +468 -0
- package/lib/module/ui/backgrounds/variants/underwater.js +753 -0
- package/lib/module/ui/components/Badge.js +11 -10
- package/lib/module/ui/components/CompactRow.js +30 -17
- package/lib/module/ui/components/DevToolsCard.js +12 -8
- package/lib/module/ui/components/DynamicFilterView.js +43 -41
- package/lib/module/ui/components/EventStepperFooter.js +38 -10
- package/lib/module/ui/components/FilterComponents.js +11 -11
- package/lib/module/ui/components/ModalHeader.js +13 -13
- package/lib/module/ui/components/SectionHeader.js +3 -1
- package/lib/module/ui/components/StorageTypeBadge.js +3 -2
- package/lib/module/ui/components/TabSelector.js +57 -39
- package/lib/module/ui/components/ValueTypeBadge.js +7 -6
- package/lib/module/ui/components/WindowControls.js +37 -10
- package/lib/module/ui/gameUI/constants/gameUIColors.js +8 -0
- package/lib/module/ui/night/nightTheme.js +116 -0
- package/lib/module/ui/night/primitives.js +485 -0
- package/lib/typescript/commonjs/JsModal.d.ts +18 -0
- package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/JsModal.web.d.ts +13 -0
- package/lib/typescript/commonjs/JsModal.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts +3 -1
- package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/commonjs/icons/lucide-icons.d.ts +12 -1
- package/lib/typescript/commonjs/icons/lucide-icons.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/BackgroundSwitcher.d.ts +26 -6
- package/lib/typescript/commonjs/ui/backgrounds/BackgroundSwitcher.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/backgroundStore.d.ts +3 -0
- package/lib/typescript/commonjs/ui/backgrounds/backgroundStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/index.d.ts +7 -1
- package/lib/typescript/commonjs/ui/backgrounds/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/primitives.d.ts +18 -3
- package/lib/typescript/commonjs/ui/backgrounds/primitives.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/registry.d.ts +8 -0
- package/lib/typescript/commonjs/ui/backgrounds/registry.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/rng.d.ts +6 -0
- package/lib/typescript/commonjs/ui/backgrounds/rng.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/skyClock.d.ts +17 -0
- package/lib/typescript/commonjs/ui/backgrounds/skyClock.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/backgrounds/types.d.ts +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/variants/daylight.d.ts +30 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/daylight.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/deepField.d.ts +19 -4
- package/lib/typescript/commonjs/ui/backgrounds/variants/deepField.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/variants/hyperspace.d.ts +39 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/hyperspace.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/liveSky.d.ts +41 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/liveSky.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/meteors.d.ts +26 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/meteors.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/moonlight.d.ts +35 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/moonlight.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/underwater.d.ts +51 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/underwater.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/Badge.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/DynamicFilterView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts +2 -0
- package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/StorageTypeBadge.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TabSelector.d.ts +9 -0
- package/lib/typescript/commonjs/ui/components/TabSelector.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ValueTypeBadge.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/WindowControls.d.ts +4 -2
- package/lib/typescript/commonjs/ui/components/WindowControls.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts +8 -0
- package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/night/nightTheme.d.ts +113 -0
- package/lib/typescript/commonjs/ui/night/nightTheme.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/night/primitives.d.ts +111 -0
- package/lib/typescript/commonjs/ui/night/primitives.d.ts.map +1 -0
- package/lib/typescript/module/JsModal.d.ts +18 -0
- package/lib/typescript/module/JsModal.d.ts.map +1 -1
- package/lib/typescript/module/JsModal.web.d.ts +13 -0
- package/lib/typescript/module/JsModal.web.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/diffThemes.d.ts +3 -1
- package/lib/typescript/module/dataViewer/diffThemes.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
- package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/module/icons/lucide-icons.d.ts +12 -1
- package/lib/typescript/module/icons/lucide-icons.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +3 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/BackgroundSwitcher.d.ts +26 -6
- package/lib/typescript/module/ui/backgrounds/BackgroundSwitcher.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/backgroundStore.d.ts +3 -0
- package/lib/typescript/module/ui/backgrounds/backgroundStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/index.d.ts +7 -1
- package/lib/typescript/module/ui/backgrounds/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/primitives.d.ts +18 -3
- package/lib/typescript/module/ui/backgrounds/primitives.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/registry.d.ts +8 -0
- package/lib/typescript/module/ui/backgrounds/registry.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/rng.d.ts +6 -0
- package/lib/typescript/module/ui/backgrounds/rng.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/skyClock.d.ts +17 -0
- package/lib/typescript/module/ui/backgrounds/skyClock.d.ts.map +1 -0
- package/lib/typescript/module/ui/backgrounds/types.d.ts +1 -1
- package/lib/typescript/module/ui/backgrounds/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/variants/daylight.d.ts +30 -0
- package/lib/typescript/module/ui/backgrounds/variants/daylight.d.ts.map +1 -0
- package/lib/typescript/module/ui/backgrounds/variants/deepField.d.ts +19 -4
- package/lib/typescript/module/ui/backgrounds/variants/deepField.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/variants/hyperspace.d.ts +39 -0
- package/lib/typescript/module/ui/backgrounds/variants/hyperspace.d.ts.map +1 -0
- package/lib/typescript/module/ui/backgrounds/variants/liveSky.d.ts +41 -0
- package/lib/typescript/module/ui/backgrounds/variants/liveSky.d.ts.map +1 -0
- package/lib/typescript/module/ui/backgrounds/variants/meteors.d.ts +26 -0
- package/lib/typescript/module/ui/backgrounds/variants/meteors.d.ts.map +1 -0
- package/lib/typescript/module/ui/backgrounds/variants/moonlight.d.ts +35 -0
- package/lib/typescript/module/ui/backgrounds/variants/moonlight.d.ts.map +1 -0
- package/lib/typescript/module/ui/backgrounds/variants/underwater.d.ts +51 -0
- package/lib/typescript/module/ui/backgrounds/variants/underwater.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/Badge.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/CompactRow.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/DynamicFilterView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/EventStepperFooter.d.ts +2 -0
- package/lib/typescript/module/ui/components/EventStepperFooter.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/StorageTypeBadge.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TabSelector.d.ts +9 -0
- package/lib/typescript/module/ui/components/TabSelector.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ValueTypeBadge.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/WindowControls.d.ts +4 -2
- package/lib/typescript/module/ui/components/WindowControls.d.ts.map +1 -1
- package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts +8 -0
- package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts.map +1 -1
- package/lib/typescript/module/ui/night/nightTheme.d.ts +113 -0
- package/lib/typescript/module/ui/night/nightTheme.d.ts.map +1 -0
- package/lib/typescript/module/ui/night/primitives.d.ts +111 -0
- package/lib/typescript/module/ui/night/primitives.d.ts.map +1 -0
- package/package.json +4 -4
- package/lib/commonjs/ui/backgrounds/variants/lattice.js +0 -579
- package/lib/commonjs/ui/backgrounds/variants/starfield.js +0 -210
- package/lib/module/ui/backgrounds/variants/lattice.js +0 -575
- package/lib/module/ui/backgrounds/variants/starfield.js +0 -206
- package/lib/typescript/commonjs/ui/backgrounds/variants/lattice.d.ts +0 -33
- package/lib/typescript/commonjs/ui/backgrounds/variants/lattice.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/backgrounds/variants/starfield.d.ts +0 -12
- package/lib/typescript/commonjs/ui/backgrounds/variants/starfield.d.ts.map +0 -1
- package/lib/typescript/module/ui/backgrounds/variants/lattice.d.ts +0 -33
- package/lib/typescript/module/ui/backgrounds/variants/lattice.d.ts.map +0 -1
- package/lib/typescript/module/ui/backgrounds/variants/starfield.d.ts +0 -12
- package/lib/typescript/module/ui/backgrounds/variants/starfield.d.ts.map +0 -1
|
@@ -10,7 +10,7 @@ exports.FilterList = FilterList;
|
|
|
10
10
|
exports.FilterSection = FilterSection;
|
|
11
11
|
var _reactNative = require("react-native");
|
|
12
12
|
var _index = require("../../icons/index.js");
|
|
13
|
-
var
|
|
13
|
+
var _nightTheme = require("../night/nightTheme.js");
|
|
14
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
15
|
// Container for filter section
|
|
16
16
|
|
|
@@ -173,7 +173,7 @@ function FilterList({
|
|
|
173
173
|
const styles = _reactNative.StyleSheet.create({
|
|
174
174
|
filterSection: {
|
|
175
175
|
padding: 16,
|
|
176
|
-
backgroundColor:
|
|
176
|
+
backgroundColor: "transparent"
|
|
177
177
|
},
|
|
178
178
|
badge: {
|
|
179
179
|
flexDirection: "row",
|
|
@@ -196,10 +196,10 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
196
196
|
inputContainer: {
|
|
197
197
|
flexDirection: "row",
|
|
198
198
|
alignItems: "center",
|
|
199
|
-
backgroundColor:
|
|
199
|
+
backgroundColor: _nightTheme.night.color.surfaceElevated,
|
|
200
200
|
borderRadius: 10,
|
|
201
201
|
borderWidth: 1,
|
|
202
|
-
borderColor:
|
|
202
|
+
borderColor: _nightTheme.night.color.border,
|
|
203
203
|
paddingHorizontal: 14,
|
|
204
204
|
paddingVertical: 10,
|
|
205
205
|
marginBottom: 8
|
|
@@ -208,7 +208,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
208
208
|
flex: 1,
|
|
209
209
|
fontSize: 13,
|
|
210
210
|
paddingVertical: 0,
|
|
211
|
-
color:
|
|
211
|
+
color: _nightTheme.night.color.text
|
|
212
212
|
},
|
|
213
213
|
inputButtons: {
|
|
214
214
|
flexDirection: "row",
|
|
@@ -218,7 +218,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
218
218
|
cancelButton: {
|
|
219
219
|
padding: 4,
|
|
220
220
|
borderRadius: 6,
|
|
221
|
-
backgroundColor:
|
|
221
|
+
backgroundColor: _nightTheme.night.color.surfaceElevated
|
|
222
222
|
},
|
|
223
223
|
inlineAddButton: {
|
|
224
224
|
paddingHorizontal: 12,
|
|
@@ -239,8 +239,8 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
239
239
|
borderRadius: 10,
|
|
240
240
|
borderWidth: 1,
|
|
241
241
|
borderStyle: "dashed",
|
|
242
|
-
borderColor:
|
|
243
|
-
backgroundColor:
|
|
242
|
+
borderColor: _nightTheme.night.color.border,
|
|
243
|
+
backgroundColor: _nightTheme.night.color.surfaceElevated
|
|
244
244
|
},
|
|
245
245
|
addButtonText: {
|
|
246
246
|
fontSize: 13,
|
|
@@ -256,17 +256,17 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
256
256
|
justifyContent: "space-between",
|
|
257
257
|
paddingVertical: 10,
|
|
258
258
|
paddingHorizontal: 12,
|
|
259
|
-
backgroundColor:
|
|
259
|
+
backgroundColor: _nightTheme.night.color.surfaceElevated,
|
|
260
260
|
borderRadius: 8,
|
|
261
261
|
borderWidth: 1,
|
|
262
|
-
borderColor:
|
|
262
|
+
borderColor: _nightTheme.night.color.border
|
|
263
263
|
},
|
|
264
264
|
filterItemText: {
|
|
265
265
|
flex: 1,
|
|
266
266
|
fontSize: 12,
|
|
267
267
|
fontFamily: "monospace",
|
|
268
268
|
marginRight: 8,
|
|
269
|
-
color:
|
|
269
|
+
color: _nightTheme.night.color.text
|
|
270
270
|
},
|
|
271
271
|
filterItemMeta: {
|
|
272
272
|
marginRight: 8
|
|
@@ -11,7 +11,7 @@ exports.Navigation = Navigation;
|
|
|
11
11
|
var _reactNative = require("react-native");
|
|
12
12
|
var _react = require("react");
|
|
13
13
|
var _index = require("../../icons/index.js");
|
|
14
|
-
var
|
|
14
|
+
var _nightTheme = require("../night/nightTheme.js");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
// Base ModalHeader container component
|
|
17
17
|
// Note: onClose and onMinimize are now handled by WindowControls in JsModal
|
|
@@ -45,7 +45,7 @@ function Navigation({
|
|
|
45
45
|
style: styles.navigationButton,
|
|
46
46
|
children: closeIcon || /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.X, {
|
|
47
47
|
size: 20,
|
|
48
|
-
color:
|
|
48
|
+
color: _nightTheme.night.color.textSecondary
|
|
49
49
|
})
|
|
50
50
|
})]
|
|
51
51
|
});
|
|
@@ -58,7 +58,7 @@ function Navigation({
|
|
|
58
58
|
style: styles.navigationButton,
|
|
59
59
|
children: backIcon || /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ChevronLeft, {
|
|
60
60
|
size: 20,
|
|
61
|
-
color:
|
|
61
|
+
color: _nightTheme.night.color.textSecondary
|
|
62
62
|
})
|
|
63
63
|
});
|
|
64
64
|
}
|
|
@@ -71,7 +71,7 @@ function Navigation({
|
|
|
71
71
|
style: styles.navigationButton,
|
|
72
72
|
children: backIcon || /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ChevronLeft, {
|
|
73
73
|
size: 20,
|
|
74
|
-
color:
|
|
74
|
+
color: _nightTheme.night.color.textSecondary
|
|
75
75
|
})
|
|
76
76
|
});
|
|
77
77
|
}
|
|
@@ -139,12 +139,12 @@ function HeaderSearch({
|
|
|
139
139
|
style: styles.searchContainer,
|
|
140
140
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Search, {
|
|
141
141
|
size: 12,
|
|
142
|
-
color:
|
|
142
|
+
color: _nightTheme.night.color.textSecondary
|
|
143
143
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
144
144
|
ref: inputRef,
|
|
145
145
|
style: styles.searchInput,
|
|
146
146
|
placeholder: placeholder,
|
|
147
|
-
placeholderTextColor:
|
|
147
|
+
placeholderTextColor: _nightTheme.night.color.placeholder,
|
|
148
148
|
value: value,
|
|
149
149
|
onChangeText: onChangeText,
|
|
150
150
|
autoCorrect: false,
|
|
@@ -154,7 +154,7 @@ function HeaderSearch({
|
|
|
154
154
|
style: styles.searchCancelButton,
|
|
155
155
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.X, {
|
|
156
156
|
size: 12,
|
|
157
|
-
color:
|
|
157
|
+
color: _nightTheme.night.color.textSecondary
|
|
158
158
|
})
|
|
159
159
|
})]
|
|
160
160
|
});
|
|
@@ -189,7 +189,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
189
189
|
justifyContent: "center"
|
|
190
190
|
},
|
|
191
191
|
headerTitle: {
|
|
192
|
-
color:
|
|
192
|
+
color: _nightTheme.night.color.text,
|
|
193
193
|
fontSize: 14,
|
|
194
194
|
fontWeight: "500"
|
|
195
195
|
},
|
|
@@ -198,7 +198,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
198
198
|
},
|
|
199
199
|
headerSubtitle: {
|
|
200
200
|
fontSize: 12,
|
|
201
|
-
color:
|
|
201
|
+
color: _nightTheme.night.color.textSecondary,
|
|
202
202
|
marginTop: 2
|
|
203
203
|
},
|
|
204
204
|
headerSubtitleCentered: {
|
|
@@ -217,21 +217,21 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
217
217
|
flexDirection: "row",
|
|
218
218
|
alignItems: "center",
|
|
219
219
|
flex: 1,
|
|
220
|
-
backgroundColor:
|
|
221
|
-
borderRadius:
|
|
220
|
+
backgroundColor: _nightTheme.night.color.surfaceElevated,
|
|
221
|
+
borderRadius: 10,
|
|
222
222
|
paddingHorizontal: 10,
|
|
223
223
|
paddingVertical: 4,
|
|
224
224
|
marginHorizontal: 12,
|
|
225
225
|
marginVertical: 4,
|
|
226
226
|
height: 32,
|
|
227
227
|
borderWidth: 1,
|
|
228
|
-
borderColor:
|
|
228
|
+
borderColor: _nightTheme.night.color.border
|
|
229
229
|
},
|
|
230
230
|
searchInput: {
|
|
231
231
|
flex: 1,
|
|
232
232
|
marginLeft: 8,
|
|
233
233
|
fontSize: 13,
|
|
234
|
-
color:
|
|
234
|
+
color: _nightTheme.night.color.text,
|
|
235
235
|
padding: 0,
|
|
236
236
|
height: "100%"
|
|
237
237
|
},
|
|
@@ -94,7 +94,9 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
94
94
|
alignItems: "center",
|
|
95
95
|
paddingHorizontal: 16,
|
|
96
96
|
paddingVertical: 8,
|
|
97
|
-
|
|
97
|
+
// Transparent (was the opaque buoy base): section headers sit on night
|
|
98
|
+
// surfaces now, and an opaque strip breaks the star field behind them.
|
|
99
|
+
backgroundColor: "transparent",
|
|
98
100
|
minHeight: 40
|
|
99
101
|
},
|
|
100
102
|
iconWrapper: {
|
|
@@ -7,6 +7,7 @@ exports.StorageTypeBadge = StorageTypeBadge;
|
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _index = require("../../icons/index.js");
|
|
9
9
|
var _gameUIColors = require("../gameUI/constants/gameUIColors.js");
|
|
10
|
+
var _nightTheme = require("../night/nightTheme.js");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
12
|
function StorageTypeBadge({
|
|
12
13
|
type,
|
|
@@ -17,13 +18,13 @@ function StorageTypeBadge({
|
|
|
17
18
|
const getStorageColor = () => {
|
|
18
19
|
switch (type) {
|
|
19
20
|
case "async":
|
|
20
|
-
return
|
|
21
|
+
return _nightTheme.night.color.textSecondary;
|
|
21
22
|
case "mmkv":
|
|
22
23
|
return _gameUIColors.buoyColors.success;
|
|
23
24
|
case "secure":
|
|
24
25
|
return _gameUIColors.buoyColors.warning;
|
|
25
26
|
default:
|
|
26
|
-
return
|
|
27
|
+
return _nightTheme.night.color.textTertiary;
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
30
|
const getStorageText = () => {
|
|
@@ -5,8 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.TabSelector = TabSelector;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
-
var
|
|
8
|
+
var _nightTheme = require("../night/nightTheme.js");
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
/**
|
|
11
|
+
* Header tab strip — the night segmented control (see ui/night): `#050505`
|
|
12
|
+
* track, `#161618` thumb, accent underline glow under the active label.
|
|
13
|
+
*
|
|
14
|
+
* Same props API it has always had, so every tool header that mounts it got
|
|
15
|
+
* the night look in one shared edit. Visually identical to `NightSegmented`
|
|
16
|
+
* at its compact size — new night-native code should prefer that primitive;
|
|
17
|
+
* this component exists so existing consumers convert without a code change.
|
|
18
|
+
*/
|
|
10
19
|
function TabSelector({
|
|
11
20
|
tabs,
|
|
12
21
|
activeTab,
|
|
@@ -14,60 +23,69 @@ function TabSelector({
|
|
|
14
23
|
}) {
|
|
15
24
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
16
25
|
style: styles.container,
|
|
17
|
-
children: tabs.map(tab =>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
children: tabs.map(tab => {
|
|
27
|
+
const active = activeTab === tab.key;
|
|
28
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
29
|
+
"sentry-label": "ignore user interaction",
|
|
30
|
+
accessibilityRole: "tab",
|
|
31
|
+
accessibilityState: {
|
|
32
|
+
selected: active
|
|
33
|
+
},
|
|
34
|
+
accessibilityLabel: tab.label,
|
|
35
|
+
accessibilityHint: `View ${tab.label.toLowerCase()}`,
|
|
36
|
+
onPress: () => onTabChange(tab.key),
|
|
37
|
+
style: [styles.tabButton, active && styles.tabButtonActive],
|
|
38
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
39
|
+
style: [styles.tabButtonText, active && styles.tabButtonTextActive],
|
|
40
|
+
children: tab.label
|
|
41
|
+
}), active ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
42
|
+
style: styles.underline
|
|
43
|
+
}) : null]
|
|
44
|
+
}, tab.key);
|
|
45
|
+
})
|
|
28
46
|
});
|
|
29
47
|
}
|
|
30
48
|
const styles = _reactNative.StyleSheet.create({
|
|
31
49
|
container: {
|
|
32
50
|
flexDirection: "row",
|
|
33
|
-
backgroundColor:
|
|
34
|
-
borderRadius:
|
|
35
|
-
padding: 2,
|
|
51
|
+
backgroundColor: _nightTheme.night.color.bg,
|
|
52
|
+
borderRadius: _nightTheme.night.radius.row,
|
|
36
53
|
borderWidth: 1,
|
|
37
|
-
borderColor:
|
|
38
|
-
|
|
39
|
-
height: 28
|
|
54
|
+
borderColor: _nightTheme.night.color.border,
|
|
55
|
+
padding: 3
|
|
40
56
|
},
|
|
41
57
|
tabButton: {
|
|
42
|
-
|
|
43
|
-
paddingVertical:
|
|
44
|
-
borderRadius: 4,
|
|
58
|
+
flex: 1,
|
|
59
|
+
paddingVertical: 5,
|
|
45
60
|
alignItems: "center",
|
|
46
61
|
justifyContent: "center",
|
|
47
|
-
|
|
48
|
-
marginHorizontal: 1
|
|
62
|
+
borderRadius: _nightTheme.night.radius.segment
|
|
49
63
|
},
|
|
50
|
-
/**
|
|
51
|
-
* The selected tab is marked with an accent ring.
|
|
52
|
-
*/
|
|
53
64
|
tabButtonActive: {
|
|
54
|
-
backgroundColor:
|
|
55
|
-
borderWidth: 1,
|
|
56
|
-
borderColor: _gameUIColors.buoyColors.primary
|
|
57
|
-
},
|
|
58
|
-
tabButtonInactive: {
|
|
59
|
-
backgroundColor: "transparent"
|
|
65
|
+
backgroundColor: _nightTheme.night.color.surfaceElevated
|
|
60
66
|
},
|
|
61
67
|
tabButtonText: {
|
|
62
68
|
fontSize: 12,
|
|
63
|
-
fontWeight: "
|
|
64
|
-
|
|
65
|
-
textTransform: "uppercase"
|
|
69
|
+
fontWeight: "500",
|
|
70
|
+
color: _nightTheme.night.color.textSecondary
|
|
66
71
|
},
|
|
67
72
|
tabButtonTextActive: {
|
|
68
|
-
|
|
73
|
+
fontWeight: "600",
|
|
74
|
+
color: _nightTheme.night.color.text
|
|
69
75
|
},
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
underline: {
|
|
77
|
+
position: "absolute",
|
|
78
|
+
bottom: 1.5,
|
|
79
|
+
width: 20,
|
|
80
|
+
height: 2,
|
|
81
|
+
borderRadius: 1,
|
|
82
|
+
backgroundColor: _nightTheme.night.color.accent,
|
|
83
|
+
shadowColor: _nightTheme.night.color.accent,
|
|
84
|
+
shadowOffset: {
|
|
85
|
+
width: 0,
|
|
86
|
+
height: 0
|
|
87
|
+
},
|
|
88
|
+
shadowOpacity: 0.6,
|
|
89
|
+
shadowRadius: 6
|
|
72
90
|
}
|
|
73
91
|
});
|
|
@@ -7,6 +7,7 @@ exports.ValueTypeBadge = ValueTypeBadge;
|
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _index = require("../../icons/index.js");
|
|
9
9
|
var _gameUIColors = require("../gameUI/constants/gameUIColors.js");
|
|
10
|
+
var _nightTheme = require("../night/nightTheme.js");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
12
|
function ValueTypeBadge({
|
|
12
13
|
type,
|
|
@@ -75,12 +76,12 @@ function ValueTypeBadge({
|
|
|
75
76
|
return _gameUIColors.buoyColors.primary;
|
|
76
77
|
case "null":
|
|
77
78
|
case "undefined":
|
|
78
|
-
return
|
|
79
|
+
return _nightTheme.night.color.textTertiary;
|
|
79
80
|
case "object":
|
|
80
81
|
case "array":
|
|
81
|
-
return
|
|
82
|
+
return _nightTheme.night.color.textSecondary;
|
|
82
83
|
default:
|
|
83
|
-
return
|
|
84
|
+
return _nightTheme.night.color.textTertiary;
|
|
84
85
|
}
|
|
85
86
|
};
|
|
86
87
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
@@ -135,12 +136,12 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
135
136
|
backgroundColor: _gameUIColors.buoyColors.primary + "1A"
|
|
136
137
|
},
|
|
137
138
|
secondaryBadge: {
|
|
138
|
-
backgroundColor:
|
|
139
|
+
backgroundColor: _nightTheme.night.color.textSecondary + "1A"
|
|
139
140
|
},
|
|
140
141
|
mutedBadge: {
|
|
141
|
-
backgroundColor:
|
|
142
|
+
backgroundColor: _nightTheme.night.color.textTertiary + "1A"
|
|
142
143
|
},
|
|
143
144
|
defaultBadge: {
|
|
144
|
-
backgroundColor:
|
|
145
|
+
backgroundColor: _nightTheme.night.color.textTertiary + "1A"
|
|
145
146
|
}
|
|
146
147
|
});
|
|
@@ -9,6 +9,7 @@ var _react = require("react");
|
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
10
|
var _index = require("../../icons/index.js");
|
|
11
11
|
var _gameUIColors = require("../gameUI/constants/gameUIColors.js");
|
|
12
|
+
var _nightTheme = require("../night/nightTheme.js");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
14
|
// ============================================================================
|
|
14
15
|
// Global expandable setting — controlled via setExpandableWindowControls()
|
|
@@ -72,7 +73,8 @@ function WindowControls({
|
|
|
72
73
|
onClose,
|
|
73
74
|
onMinimize,
|
|
74
75
|
onToggleMode,
|
|
75
|
-
mode
|
|
76
|
+
mode,
|
|
77
|
+
variant = "night"
|
|
76
78
|
}) {
|
|
77
79
|
// Show action-based icon: what will happen when clicked
|
|
78
80
|
const ToggleModeIcon = mode === "floating" ? _index.DockBottom : _index.FloatWindow;
|
|
@@ -125,15 +127,18 @@ function WindowControls({
|
|
|
125
127
|
onClose: onClose,
|
|
126
128
|
onMinimize: onMinimize,
|
|
127
129
|
onToggleMode: onToggleMode,
|
|
128
|
-
mode: mode
|
|
130
|
+
mode: mode,
|
|
131
|
+
variant: variant
|
|
129
132
|
});
|
|
130
133
|
}
|
|
131
134
|
function ExpandableWindowControls({
|
|
132
135
|
onClose,
|
|
133
136
|
onMinimize,
|
|
134
137
|
onToggleMode,
|
|
135
|
-
mode
|
|
138
|
+
mode,
|
|
139
|
+
variant = "night"
|
|
136
140
|
}) {
|
|
141
|
+
const isNight = variant === "night";
|
|
137
142
|
const [expanded, setExpanded] = (0, _react.useState)(false);
|
|
138
143
|
const [triggerLayout, setTriggerLayout] = (0, _react.useState)(null);
|
|
139
144
|
const expandAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
@@ -267,38 +272,38 @@ function ExpandableWindowControls({
|
|
|
267
272
|
}],
|
|
268
273
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableWithoutFeedback, {
|
|
269
274
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
270
|
-
style: styles.expandedContainer,
|
|
275
|
+
style: [styles.expandedContainer, isNight && styles.nightExpandedContainer],
|
|
271
276
|
children: [onMinimize && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
272
277
|
onPress: () => handleAction(onMinimize),
|
|
273
|
-
style: [styles.expandedButton, styles.minimizeButtonExpanded],
|
|
278
|
+
style: [styles.expandedButton, isNight ? styles.nightMinimizeButton : styles.minimizeButtonExpanded],
|
|
274
279
|
activeOpacity: 0.7,
|
|
275
280
|
accessibilityLabel: "Minimize modal",
|
|
276
281
|
accessibilityRole: "button",
|
|
277
282
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Minus, {
|
|
278
283
|
size: EXPANDED_ICON_SIZE,
|
|
279
|
-
color: "#7A5A00",
|
|
284
|
+
color: isNight ? _nightTheme.night.color.warning : "#7A5A00",
|
|
280
285
|
strokeWidth: 2
|
|
281
286
|
})
|
|
282
287
|
}), onToggleMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
283
288
|
onPress: () => handleAction(onToggleMode),
|
|
284
|
-
style: [styles.expandedButton, styles.expandButtonExpanded],
|
|
289
|
+
style: [styles.expandedButton, isNight ? styles.nightToggleButton : styles.expandButtonExpanded],
|
|
285
290
|
activeOpacity: 0.7,
|
|
286
291
|
accessibilityLabel: toggleModeLabel,
|
|
287
292
|
accessibilityRole: "button",
|
|
288
293
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ToggleModeIcon, {
|
|
289
294
|
size: EXPANDED_ICON_SIZE,
|
|
290
|
-
color: "#004A1A",
|
|
295
|
+
color: isNight ? _nightTheme.night.color.accent : "#004A1A",
|
|
291
296
|
strokeWidth: 2
|
|
292
297
|
})
|
|
293
298
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
294
299
|
onPress: () => handleAction(onClose),
|
|
295
|
-
style: [styles.expandedButton, styles.closeButtonExpanded],
|
|
300
|
+
style: [styles.expandedButton, isNight ? styles.nightCloseButton : styles.closeButtonExpanded],
|
|
296
301
|
activeOpacity: 0.7,
|
|
297
302
|
accessibilityLabel: "Close modal",
|
|
298
303
|
accessibilityRole: "button",
|
|
299
304
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.X, {
|
|
300
305
|
size: EXPANDED_ICON_SIZE,
|
|
301
|
-
color: "#4A0000",
|
|
306
|
+
color: isNight ? _nightTheme.night.color.danger : "#4A0000",
|
|
302
307
|
strokeWidth: 2
|
|
303
308
|
})
|
|
304
309
|
})]
|
|
@@ -381,5 +386,27 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
381
386
|
},
|
|
382
387
|
expandButtonExpanded: {
|
|
383
388
|
backgroundColor: COLORS.toggleMode
|
|
389
|
+
},
|
|
390
|
+
// ── Night variant (Everlights language — see ui/night/nightTheme.ts):
|
|
391
|
+
// near-black plate, hairline border, soft-tinted circles with toned icons
|
|
392
|
+
// instead of the solid macOS traffic lights.
|
|
393
|
+
nightExpandedContainer: {
|
|
394
|
+
backgroundColor: _nightTheme.night.color.surface,
|
|
395
|
+
borderColor: _nightTheme.night.color.border
|
|
396
|
+
},
|
|
397
|
+
nightMinimizeButton: {
|
|
398
|
+
backgroundColor: _nightTheme.night.color.warningSoft,
|
|
399
|
+
borderWidth: 1,
|
|
400
|
+
borderColor: _nightTheme.night.color.warning + "59"
|
|
401
|
+
},
|
|
402
|
+
nightToggleButton: {
|
|
403
|
+
backgroundColor: _nightTheme.night.color.accentSoft,
|
|
404
|
+
borderWidth: 1,
|
|
405
|
+
borderColor: _nightTheme.night.color.accentBorderStrong
|
|
406
|
+
},
|
|
407
|
+
nightCloseButton: {
|
|
408
|
+
backgroundColor: _nightTheme.night.color.dangerSoft,
|
|
409
|
+
borderWidth: 1,
|
|
410
|
+
borderColor: _nightTheme.night.color.danger + "59"
|
|
384
411
|
}
|
|
385
412
|
});
|
|
@@ -178,6 +178,14 @@ const buoyColors = exports.buoyColors = {
|
|
|
178
178
|
// Backgrounds (dark to light)
|
|
179
179
|
base: "#121212",
|
|
180
180
|
card: "#1A1A1A",
|
|
181
|
+
/**
|
|
182
|
+
* Card fill for surfaces that sit over a ToolBackground: translucent so the
|
|
183
|
+
* field reads through, but calibrated against the BRIGHTEST scene in the
|
|
184
|
+
* catalogue (Live Sky's noon clouds/sun bloom, ~215 luminance) so a card's
|
|
185
|
+
* backing stays ≤ ~45 luminance and text never washes out. Over the "off"
|
|
186
|
+
* preset it is visually indistinguishable from `card`.
|
|
187
|
+
*/
|
|
188
|
+
cardScrim: "rgba(10,13,20,0.9)",
|
|
181
189
|
hover: "#242424",
|
|
182
190
|
input: "#2A2A2A",
|
|
183
191
|
// Borders
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.night = exports.NIGHT_LABEL_TRACKING = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* "Night" design tokens — the Everlights surface language, ported.
|
|
9
|
+
*
|
|
10
|
+
* A near-black, smooth, borderless-feeling system built to sit ON TOP of the
|
|
11
|
+
* shared ToolBackground star field: one `#050505` sheet the field shows
|
|
12
|
+
* through, `#0C0C0C` cards with hairline `#1A1A1C` borders, `#161618` rows
|
|
13
|
+
* inside them, uppercase section labels OUTSIDE the cards, and a single green
|
|
14
|
+
* accent that takes dark ink.
|
|
15
|
+
*
|
|
16
|
+
* Values are lifted 1:1 from the Everlights app's `constants/theme.ts`
|
|
17
|
+
* (`Palette` + `DarkColors`) and its modal tokens — that app is the design
|
|
18
|
+
* reference, so when in doubt match it, don't invent.
|
|
19
|
+
*
|
|
20
|
+
* THE ACCENT IS ONE SEAM: everything green reads `night.color.accent*`. The
|
|
21
|
+
* family is Buoy's brand green (`buoyColors.primary`, #20C997 — kept as
|
|
22
|
+
* literals so this module stays import-free); swapping it is a seven-line
|
|
23
|
+
* change here and nowhere else. `onAccent` stays black — this green wants
|
|
24
|
+
* dark ink.
|
|
25
|
+
*
|
|
26
|
+
* SCOPE: piloted on the dial menu's settings modal (JsModal `variant="night"`
|
|
27
|
+
* + DevToolsSettingsModal). If it sticks, convert the other tools to it.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
const night = exports.night = {
|
|
31
|
+
color: {
|
|
32
|
+
/** The sheet itself — also the inset track of a segmented control. */
|
|
33
|
+
bg: "#050505",
|
|
34
|
+
/** A card. */
|
|
35
|
+
surface: "#0C0C0C",
|
|
36
|
+
/** A row or control inside a card. */
|
|
37
|
+
surfaceElevated: "#161618",
|
|
38
|
+
/** Hairline card border. */
|
|
39
|
+
border: "#1A1A1C",
|
|
40
|
+
/** Hairline between rows inside a card. */
|
|
41
|
+
separator: "rgba(255, 255, 255, 0.08)",
|
|
42
|
+
/** Neutral fills, lightest → strongest. */
|
|
43
|
+
fill: "rgba(255, 255, 255, 0.06)",
|
|
44
|
+
fillSecondary: "rgba(255, 255, 255, 0.08)",
|
|
45
|
+
fillTertiary: "rgba(255, 255, 255, 0.12)",
|
|
46
|
+
/** Chip resting fill — dark glass, readable over the star field. */
|
|
47
|
+
buttonSurface: "rgba(8, 10, 14, 0.85)",
|
|
48
|
+
/** Secondary/destructive button plate. */
|
|
49
|
+
button: "#1C1C1C",
|
|
50
|
+
buttonPressed: "#2C2C2E",
|
|
51
|
+
text: "#ECEDEE",
|
|
52
|
+
textSecondary: "#9BA1A6",
|
|
53
|
+
textTertiary: "#636366",
|
|
54
|
+
/** Drag handles, input placeholders. */
|
|
55
|
+
placeholder: "rgba(255, 255, 255, 0.30)",
|
|
56
|
+
/** The one accent (Buoy brand green). See the header note — one seam. */
|
|
57
|
+
accent: "#20C997",
|
|
58
|
+
accentPressed: "#1BAB80",
|
|
59
|
+
accentSoft: "rgba(32, 201, 151, 0.12)",
|
|
60
|
+
accentFill: "rgba(32, 201, 151, 0.18)",
|
|
61
|
+
accentBorder: "rgba(32, 201, 151, 0.20)",
|
|
62
|
+
accentBorderStrong: "rgba(32, 201, 151, 0.35)",
|
|
63
|
+
/** Ink on a filled accent surface — the accent takes DARK ink. */
|
|
64
|
+
onAccent: "#000000",
|
|
65
|
+
danger: "#FF3B30",
|
|
66
|
+
dangerSoft: "rgba(255, 59, 48, 0.10)",
|
|
67
|
+
warning: "#FF8329",
|
|
68
|
+
warningSoft: "rgba(255, 131, 41, 0.12)",
|
|
69
|
+
info: "#1E6DFF",
|
|
70
|
+
infoSoft: "rgba(30, 109, 255, 0.12)",
|
|
71
|
+
/** Switch thumb at rest (Everlights moon gray). */
|
|
72
|
+
knob: "#D4D8DC"
|
|
73
|
+
},
|
|
74
|
+
radius: {
|
|
75
|
+
/** Sheets and dialogs. */
|
|
76
|
+
sheet: 16,
|
|
77
|
+
/** Cards. */
|
|
78
|
+
card: 14,
|
|
79
|
+
/** Inputs and code blocks. */
|
|
80
|
+
input: 12,
|
|
81
|
+
/** Rows and inner controls; also the segmented-control track. */
|
|
82
|
+
row: 10,
|
|
83
|
+
/** Segment thumb inside a radius-10 track. */
|
|
84
|
+
segment: 8,
|
|
85
|
+
/** Small badges. */
|
|
86
|
+
badge: 6,
|
|
87
|
+
/** Zone-style chips. */
|
|
88
|
+
chip: 20,
|
|
89
|
+
/** Fully rounded pills (buttons use height/2 instead). */
|
|
90
|
+
pill: 999
|
|
91
|
+
},
|
|
92
|
+
/** Screen/sheet horizontal margin. */
|
|
93
|
+
gutter: 16,
|
|
94
|
+
/** Section labels sit 4pt in from the card edge. */
|
|
95
|
+
labelInset: 4,
|
|
96
|
+
/** Vertical rhythm between labeled card groups. */
|
|
97
|
+
groupGap: 24,
|
|
98
|
+
/** Card interior padding. */
|
|
99
|
+
cardPad: 14,
|
|
100
|
+
/** Row padding inside an edge-to-edge card. */
|
|
101
|
+
rowPadH: 16,
|
|
102
|
+
rowPadV: 14,
|
|
103
|
+
font: {
|
|
104
|
+
/** Sheet/modal titles. */
|
|
105
|
+
title: 17,
|
|
106
|
+
/** Row labels and values. */
|
|
107
|
+
row: 15,
|
|
108
|
+
/** Body copy, chip labels. */
|
|
109
|
+
body: 14,
|
|
110
|
+
/** Segmented-control labels, captions, footnotes. */
|
|
111
|
+
caption: 13,
|
|
112
|
+
/** Uppercase section labels. */
|
|
113
|
+
label: 12,
|
|
114
|
+
/** Uppercase micro labels (START/END style). */
|
|
115
|
+
micro: 11
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/** Section labels track wide open, Everlights-style. */
|
|
120
|
+
const NIGHT_LABEL_TRACKING = exports.NIGHT_LABEL_TRACKING = 0.8;
|