@buoy-gg/network 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/network/components/NetworkDetailStepper.js +2 -1
- package/lib/commonjs/network/components/NetworkEventDetailView.js +74 -72
- package/lib/commonjs/network/components/NetworkEventItemCompact.js +24 -20
- package/lib/commonjs/network/components/NetworkEventItemCompact.web.js +24 -6
- package/lib/commonjs/network/components/NetworkFilterViewV3.js +12 -12
- package/lib/commonjs/network/components/NetworkHeaderLive.js +25 -29
- package/lib/commonjs/network/components/NetworkHeaderLive.web.js +24 -6
- package/lib/commonjs/network/components/NetworkHeaderMenu.js +10 -9
- package/lib/commonjs/network/components/NetworkListScreen.js +2 -1
- package/lib/commonjs/network/components/NetworkListScreen.web.js +24 -6
- package/lib/commonjs/network/components/NetworkModal.js +45 -31
- package/lib/commonjs/network/components/NetworkOverrideHeaderButton.js +10 -7
- package/lib/commonjs/network/components/NetworkOverridesButton.js +7 -7
- package/lib/commonjs/network/sync/networkSyncAdapter.js +36 -16
- package/lib/commonjs/network/utils/networkEventStore.js +26 -0
- package/lib/commonjs/network/utils/networkListener.js +173 -39
- package/lib/module/network/components/NetworkDetailStepper.js +2 -1
- package/lib/module/network/components/NetworkEventDetailView.js +75 -73
- package/lib/module/network/components/NetworkEventItemCompact.js +25 -21
- package/lib/module/network/components/NetworkEventItemCompact.web.js +24 -6
- package/lib/module/network/components/NetworkFilterViewV3.js +13 -13
- package/lib/module/network/components/NetworkHeaderLive.js +26 -30
- package/lib/module/network/components/NetworkHeaderLive.web.js +24 -6
- package/lib/module/network/components/NetworkHeaderMenu.js +11 -10
- package/lib/module/network/components/NetworkListScreen.js +3 -2
- package/lib/module/network/components/NetworkListScreen.web.js +24 -6
- package/lib/module/network/components/NetworkModal.js +46 -32
- package/lib/module/network/components/NetworkOverrideHeaderButton.js +11 -8
- package/lib/module/network/components/NetworkOverridesButton.js +8 -8
- package/lib/module/network/sync/networkSyncAdapter.js +37 -17
- package/lib/module/network/utils/networkEventStore.js +26 -0
- package/lib/module/network/utils/networkListener.js +171 -38
- package/lib/typescript/network/components/NetworkDetailStepper.d.ts.map +1 -1
- package/lib/typescript/network/components/NetworkEventDetailView.d.ts.map +1 -1
- package/lib/typescript/network/components/NetworkEventItemCompact.d.ts.map +1 -1
- package/lib/typescript/network/components/NetworkEventItemCompact.web.d.ts.map +1 -1
- package/lib/typescript/network/components/NetworkFilterViewV3.d.ts.map +1 -1
- package/lib/typescript/network/components/NetworkHeaderLive.d.ts.map +1 -1
- package/lib/typescript/network/components/NetworkHeaderLive.web.d.ts.map +1 -1
- package/lib/typescript/network/components/NetworkListScreen.d.ts.map +1 -1
- package/lib/typescript/network/components/NetworkListScreen.web.d.ts.map +1 -1
- package/lib/typescript/network/components/NetworkModal.d.ts.map +1 -1
- package/lib/typescript/network/sync/networkSyncAdapter.d.ts +1 -0
- package/lib/typescript/network/sync/networkSyncAdapter.d.ts.map +1 -1
- package/lib/typescript/network/utils/networkEventStore.d.ts +17 -0
- package/lib/typescript/network/utils/networkEventStore.d.ts.map +1 -1
- package/lib/typescript/network/utils/networkListener.d.ts +61 -5
- package/lib/typescript/network/utils/networkListener.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -181,13 +181,30 @@ const FlaskConical = p => /*#__PURE__*/(0, _jsxRuntime.jsxs)(Svg, {
|
|
|
181
181
|
d: "M7 16h10"
|
|
182
182
|
})]
|
|
183
183
|
});
|
|
184
|
-
const Pin =
|
|
184
|
+
const Pin = ({
|
|
185
|
+
active,
|
|
186
|
+
...p
|
|
187
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Svg, {
|
|
185
188
|
...p,
|
|
186
|
-
children:
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
190
|
+
transform: active ? "rotate(-45 12 12) translate(12 12) scale(0.92) translate(-12 -12)" : undefined,
|
|
191
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
192
|
+
d: "M2.97 21.03 8.18 15.82"
|
|
193
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
194
|
+
d: "M4.4 10.81 13.19 19.6"
|
|
195
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
196
|
+
d: "M5.17 10.54 11.43 8.83"
|
|
197
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
198
|
+
d: "M13.46 18.83 15.17 12.57"
|
|
199
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
200
|
+
x: "12.15",
|
|
201
|
+
y: "5.4",
|
|
202
|
+
width: "9.38",
|
|
203
|
+
height: "3.52",
|
|
204
|
+
rx: "1.07",
|
|
205
|
+
transform: "rotate(-45 16.84 7.16)"
|
|
206
|
+
})]
|
|
207
|
+
})
|
|
191
208
|
});
|
|
192
209
|
|
|
193
210
|
// =============================
|
|
@@ -623,6 +640,7 @@ const NetworkEventItemCompact = exports.NetworkEventItemCompact = /*#__PURE__*/(
|
|
|
623
640
|
style: styles.topRightContainer,
|
|
624
641
|
children: [pinned ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Pin, {
|
|
625
642
|
size: 10,
|
|
643
|
+
active: true,
|
|
626
644
|
color: macOSColors.semantic.info
|
|
627
645
|
}) : null, saved ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Bookmark, {
|
|
628
646
|
size: 10,
|
|
@@ -45,7 +45,7 @@ function getContentType(event) {
|
|
|
45
45
|
};
|
|
46
46
|
return {
|
|
47
47
|
type: "OTHER",
|
|
48
|
-
color: _sharedUi.
|
|
48
|
+
color: _sharedUi.night.color.textTertiary
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
function getContentTypeIcon(type) {
|
|
@@ -79,7 +79,7 @@ function getMethodColor(method) {
|
|
|
79
79
|
case "PATCH":
|
|
80
80
|
return _sharedUi.macOSColors.semantic.success;
|
|
81
81
|
default:
|
|
82
|
-
return _sharedUi.
|
|
82
|
+
return _sharedUi.night.color.textTertiary;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -115,7 +115,7 @@ function NetworkFilterViewV3({
|
|
|
115
115
|
const renderPatternMeta = (0, _react.useCallback)(pattern => {
|
|
116
116
|
const mode = patternModes.get(pattern) ?? "contains";
|
|
117
117
|
const isExact = mode === "exact";
|
|
118
|
-
const color = isExact ? _sharedUi.
|
|
118
|
+
const color = isExact ? _sharedUi.night.color.warning : _sharedUi.night.color.info;
|
|
119
119
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
120
120
|
accessibilityRole: "button",
|
|
121
121
|
accessibilityLabel: `Match mode: ${mode}. Tap to toggle.`,
|
|
@@ -331,7 +331,7 @@ function NetworkFilterViewV3({
|
|
|
331
331
|
const {
|
|
332
332
|
color
|
|
333
333
|
} = representativeEvent ? getContentType(representativeEvent) : {
|
|
334
|
-
color: _sharedUi.
|
|
334
|
+
color: _sharedUi.night.color.textTertiary
|
|
335
335
|
};
|
|
336
336
|
return {
|
|
337
337
|
id: `contentType::${type}`,
|
|
@@ -401,7 +401,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
401
401
|
modeToggleLabel: {
|
|
402
402
|
fontSize: 11,
|
|
403
403
|
fontWeight: "600",
|
|
404
|
-
color: _sharedUi.
|
|
404
|
+
color: _sharedUi.night.color.textSecondary,
|
|
405
405
|
fontFamily: "monospace",
|
|
406
406
|
letterSpacing: 0.3
|
|
407
407
|
},
|
|
@@ -416,27 +416,27 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
416
416
|
paddingHorizontal: 10,
|
|
417
417
|
borderRadius: 8,
|
|
418
418
|
borderWidth: 1,
|
|
419
|
-
borderColor: _sharedUi.
|
|
420
|
-
backgroundColor: _sharedUi.
|
|
419
|
+
borderColor: _sharedUi.night.color.border,
|
|
420
|
+
backgroundColor: _sharedUi.night.color.buttonSurface,
|
|
421
421
|
alignItems: "center"
|
|
422
422
|
},
|
|
423
423
|
modeToggleButtonActive: {
|
|
424
|
-
borderColor: _sharedUi.
|
|
425
|
-
backgroundColor:
|
|
424
|
+
borderColor: _sharedUi.night.color.accentBorderStrong,
|
|
425
|
+
backgroundColor: _sharedUi.night.color.accentSoft
|
|
426
426
|
},
|
|
427
427
|
modeToggleButtonText: {
|
|
428
428
|
fontSize: 11,
|
|
429
429
|
fontWeight: "700",
|
|
430
|
-
color: _sharedUi.
|
|
430
|
+
color: _sharedUi.night.color.textSecondary,
|
|
431
431
|
fontFamily: "monospace",
|
|
432
432
|
letterSpacing: 0.3
|
|
433
433
|
},
|
|
434
434
|
modeToggleButtonTextActive: {
|
|
435
|
-
color: _sharedUi.
|
|
435
|
+
color: _sharedUi.night.color.accent
|
|
436
436
|
},
|
|
437
437
|
modeToggleButtonHint: {
|
|
438
438
|
fontSize: 9,
|
|
439
|
-
color: _sharedUi.
|
|
439
|
+
color: _sharedUi.night.color.textTertiary,
|
|
440
440
|
marginTop: 1
|
|
441
441
|
}
|
|
442
442
|
});
|
|
@@ -105,7 +105,7 @@ function NetworkClearButton({
|
|
|
105
105
|
disabled: !hasEvents,
|
|
106
106
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Trash2, {
|
|
107
107
|
size: 14,
|
|
108
|
-
color: hasEvents ? _sharedUi.
|
|
108
|
+
color: hasEvents ? _sharedUi.night.color.textSecondary : _sharedUi.night.color.textTertiary
|
|
109
109
|
})
|
|
110
110
|
});
|
|
111
111
|
}
|
|
@@ -127,7 +127,7 @@ function NetworkSavedButton({
|
|
|
127
127
|
style: styles.headerActionButton,
|
|
128
128
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Bookmark, {
|
|
129
129
|
size: 14,
|
|
130
|
-
color: count > 0 ? _sharedUi.
|
|
130
|
+
color: count > 0 ? _sharedUi.night.color.accent : _sharedUi.night.color.textSecondary
|
|
131
131
|
}), count > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
132
132
|
style: styles.savedBadge,
|
|
133
133
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
@@ -195,7 +195,8 @@ function NetworkDetailPinActions({
|
|
|
195
195
|
style: [styles.headerActionButton, pinned && styles.headerActionButtonActive, atPinCap && styles.headerActionButtonDisabled],
|
|
196
196
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Pin, {
|
|
197
197
|
size: 14,
|
|
198
|
-
|
|
198
|
+
active: pinned,
|
|
199
|
+
color: pinned ? _sharedUi.night.color.accent : atPinCap ? _sharedUi.night.color.textTertiary : _sharedUi.night.color.textSecondary
|
|
199
200
|
})
|
|
200
201
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
201
202
|
"sentry-label": "ignore save request",
|
|
@@ -206,7 +207,7 @@ function NetworkDetailPinActions({
|
|
|
206
207
|
style: [styles.headerActionButton, saved && styles.headerActionButtonSaved, atSavedCap && isPro && styles.headerActionButtonDisabled],
|
|
207
208
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Bookmark, {
|
|
208
209
|
size: 14,
|
|
209
|
-
color: saved ? _sharedUi.
|
|
210
|
+
color: saved ? _sharedUi.night.color.accent : atSavedCap && isPro ? _sharedUi.night.color.textTertiary : _sharedUi.night.color.textSecondary
|
|
210
211
|
})
|
|
211
212
|
})]
|
|
212
213
|
});
|
|
@@ -238,7 +239,7 @@ function NetworkHeaderCopyButton({
|
|
|
238
239
|
disabled: !hasEvents,
|
|
239
240
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Copy, {
|
|
240
241
|
size: 14,
|
|
241
|
-
color: hasEvents ? _sharedUi.
|
|
242
|
+
color: hasEvents ? _sharedUi.night.color.textSecondary : _sharedUi.night.color.textTertiary
|
|
242
243
|
}), label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
243
244
|
style: styles.copyMenuLabel,
|
|
244
245
|
children: label
|
|
@@ -255,7 +256,7 @@ function NetworkHeaderCopyButton({
|
|
|
255
256
|
buttonStyle: label ? styles.copyMenuRow : styles.headerActionButton,
|
|
256
257
|
labelStyle: styles.copyMenuLabel,
|
|
257
258
|
colors: {
|
|
258
|
-
idle: hasEvents ? _sharedUi.
|
|
259
|
+
idle: hasEvents ? _sharedUi.night.color.textSecondary : _sharedUi.night.color.textTertiary,
|
|
259
260
|
success: _sharedUi.macOSColors.semantic.success,
|
|
260
261
|
error: _sharedUi.macOSColors.semantic.error
|
|
261
262
|
},
|
|
@@ -275,7 +276,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
275
276
|
copyMenuLabel: {
|
|
276
277
|
fontSize: 13,
|
|
277
278
|
fontWeight: "600",
|
|
278
|
-
color: _sharedUi.
|
|
279
|
+
color: _sharedUi.night.color.text
|
|
279
280
|
},
|
|
280
281
|
headerChipRow: {
|
|
281
282
|
flexDirection: "row",
|
|
@@ -283,31 +284,26 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
283
284
|
gap: 8
|
|
284
285
|
},
|
|
285
286
|
/**
|
|
286
|
-
* Counter chips and toolbar buttons
|
|
287
|
-
* the
|
|
287
|
+
* Counter chips and toolbar buttons on the night dark-glass fill — the
|
|
288
|
+
* hairline outline barely registers on the star field, and the fill marks
|
|
289
|
+
* the active filter in the brand accent (the night selection language).
|
|
290
|
+
* Status glyph/count colors stay on the classic semantic palette on
|
|
291
|
+
* purpose — see getStatusColor in NetworkEventItemCompact.
|
|
288
292
|
*/
|
|
289
293
|
headerChip: {
|
|
290
294
|
flexDirection: "row",
|
|
291
295
|
alignItems: "center",
|
|
292
296
|
gap: 4,
|
|
293
|
-
backgroundColor: _sharedUi.
|
|
297
|
+
backgroundColor: _sharedUi.night.color.buttonSurface,
|
|
294
298
|
paddingHorizontal: 10,
|
|
295
299
|
paddingVertical: 5,
|
|
296
300
|
borderRadius: 12,
|
|
297
301
|
borderWidth: 1,
|
|
298
|
-
borderColor: _sharedUi.
|
|
302
|
+
borderColor: _sharedUi.night.color.border
|
|
299
303
|
},
|
|
300
304
|
headerChipActive: {
|
|
301
|
-
backgroundColor: _sharedUi.
|
|
302
|
-
borderColor: _sharedUi.
|
|
303
|
-
shadowColor: _sharedUi.macOSColors.semantic.info,
|
|
304
|
-
shadowOffset: {
|
|
305
|
-
width: 0,
|
|
306
|
-
height: 1
|
|
307
|
-
},
|
|
308
|
-
shadowOpacity: 0.08,
|
|
309
|
-
shadowRadius: 2,
|
|
310
|
-
elevation: 1
|
|
305
|
+
backgroundColor: _sharedUi.night.color.accentSoft,
|
|
306
|
+
borderColor: _sharedUi.night.color.accentBorderStrong
|
|
311
307
|
},
|
|
312
308
|
headerChipValue: {
|
|
313
309
|
fontSize: 12,
|
|
@@ -318,9 +314,9 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
318
314
|
width: 32,
|
|
319
315
|
height: 32,
|
|
320
316
|
borderRadius: 8,
|
|
321
|
-
backgroundColor: _sharedUi.
|
|
317
|
+
backgroundColor: _sharedUi.night.color.buttonSurface,
|
|
322
318
|
borderWidth: 1,
|
|
323
|
-
borderColor: _sharedUi.
|
|
319
|
+
borderColor: _sharedUi.night.color.border,
|
|
324
320
|
alignItems: "center",
|
|
325
321
|
justifyContent: "center"
|
|
326
322
|
},
|
|
@@ -328,12 +324,12 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
328
324
|
opacity: 0.55
|
|
329
325
|
},
|
|
330
326
|
headerActionButtonActive: {
|
|
331
|
-
backgroundColor: _sharedUi.
|
|
332
|
-
borderColor: _sharedUi.
|
|
327
|
+
backgroundColor: _sharedUi.night.color.accentSoft,
|
|
328
|
+
borderColor: _sharedUi.night.color.accentBorderStrong
|
|
333
329
|
},
|
|
334
330
|
headerActionButtonSaved: {
|
|
335
|
-
backgroundColor: _sharedUi.
|
|
336
|
-
borderColor: _sharedUi.
|
|
331
|
+
backgroundColor: _sharedUi.night.color.accentSoft,
|
|
332
|
+
borderColor: _sharedUi.night.color.accentBorderStrong
|
|
337
333
|
},
|
|
338
334
|
savedBadge: {
|
|
339
335
|
position: "absolute",
|
|
@@ -343,12 +339,12 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
343
339
|
height: 14,
|
|
344
340
|
paddingHorizontal: 3,
|
|
345
341
|
borderRadius: 7,
|
|
346
|
-
backgroundColor: _sharedUi.
|
|
342
|
+
backgroundColor: _sharedUi.night.color.accent,
|
|
347
343
|
alignItems: "center",
|
|
348
344
|
justifyContent: "center"
|
|
349
345
|
},
|
|
350
346
|
savedBadgeText: {
|
|
351
|
-
color:
|
|
347
|
+
color: _sharedUi.night.color.onAccent,
|
|
352
348
|
fontSize: 9,
|
|
353
349
|
fontWeight: "700",
|
|
354
350
|
fontFamily: "monospace"
|
|
@@ -170,13 +170,30 @@ const Bookmark = p => /*#__PURE__*/(0, _jsxRuntime.jsx)(Svg, {
|
|
|
170
170
|
d: "m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"
|
|
171
171
|
})
|
|
172
172
|
});
|
|
173
|
-
const Pin =
|
|
173
|
+
const Pin = ({
|
|
174
|
+
active,
|
|
175
|
+
...p
|
|
176
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Svg, {
|
|
174
177
|
...p,
|
|
175
|
-
children:
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
179
|
+
transform: active ? "rotate(-45 12 12) translate(12 12) scale(0.92) translate(-12 -12)" : undefined,
|
|
180
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
181
|
+
d: "M2.97 21.03 8.18 15.82"
|
|
182
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
183
|
+
d: "M4.4 10.81 13.19 19.6"
|
|
184
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
185
|
+
d: "M5.17 10.54 11.43 8.83"
|
|
186
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
187
|
+
d: "M13.46 18.83 15.17 12.57"
|
|
188
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
189
|
+
x: "12.15",
|
|
190
|
+
y: "5.4",
|
|
191
|
+
width: "9.38",
|
|
192
|
+
height: "3.52",
|
|
193
|
+
rx: "1.07",
|
|
194
|
+
transform: "rotate(-45 16.84 7.16)"
|
|
195
|
+
})]
|
|
196
|
+
})
|
|
180
197
|
});
|
|
181
198
|
const Copy = p => /*#__PURE__*/(0, _jsxRuntime.jsxs)(Svg, {
|
|
182
199
|
...p,
|
|
@@ -385,6 +402,7 @@ function NetworkDetailPinActions({
|
|
|
385
402
|
},
|
|
386
403
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Pin, {
|
|
387
404
|
size: 14,
|
|
405
|
+
active: pinned,
|
|
388
406
|
color: pinned ? macOSColors.semantic.info : atPinCap ? macOSColors.text.disabled : macOSColors.text.secondary
|
|
389
407
|
})
|
|
390
408
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
@@ -113,7 +113,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
113
113
|
// Only lit while the menu is down — the button is the one thing not covered
|
|
114
114
|
// by the backdrop, so it has to look like the thing that is currently open.
|
|
115
115
|
buttonOpen: {
|
|
116
|
-
backgroundColor: _sharedUi.
|
|
116
|
+
backgroundColor: _sharedUi.night.color.surfaceElevated
|
|
117
117
|
},
|
|
118
118
|
dots: {
|
|
119
119
|
flexDirection: "column",
|
|
@@ -124,10 +124,10 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
124
124
|
width: 3,
|
|
125
125
|
height: 3,
|
|
126
126
|
borderRadius: 2,
|
|
127
|
-
backgroundColor: _sharedUi.
|
|
127
|
+
backgroundColor: _sharedUi.night.color.textSecondary
|
|
128
128
|
},
|
|
129
129
|
dotOpen: {
|
|
130
|
-
backgroundColor: _sharedUi.
|
|
130
|
+
backgroundColor: _sharedUi.night.color.text
|
|
131
131
|
},
|
|
132
132
|
indicator: {
|
|
133
133
|
position: "absolute",
|
|
@@ -138,7 +138,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
138
138
|
width: 6,
|
|
139
139
|
height: 6,
|
|
140
140
|
borderRadius: 3,
|
|
141
|
-
backgroundColor: _sharedUi.
|
|
141
|
+
backgroundColor: _sharedUi.night.color.accent
|
|
142
142
|
},
|
|
143
143
|
overlay: {
|
|
144
144
|
..._sharedUi.absoluteFill,
|
|
@@ -148,16 +148,17 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
148
148
|
..._sharedUi.absoluteFill,
|
|
149
149
|
backgroundColor: "rgba(0,0,0,0.5)"
|
|
150
150
|
},
|
|
151
|
+
// The night card: near-black surface, hairline border, row radius.
|
|
151
152
|
panel: {
|
|
152
153
|
position: "absolute",
|
|
153
154
|
top: 6,
|
|
154
155
|
right: 8,
|
|
155
156
|
minWidth: 196,
|
|
156
157
|
paddingVertical: 4,
|
|
157
|
-
borderRadius:
|
|
158
|
+
borderRadius: 10,
|
|
158
159
|
borderWidth: 1,
|
|
159
|
-
borderColor: _sharedUi.
|
|
160
|
-
backgroundColor: _sharedUi.
|
|
160
|
+
borderColor: _sharedUi.night.color.border,
|
|
161
|
+
backgroundColor: _sharedUi.night.color.surface
|
|
161
162
|
},
|
|
162
163
|
item: {
|
|
163
164
|
flexDirection: "row",
|
|
@@ -174,10 +175,10 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
174
175
|
flex: 1,
|
|
175
176
|
fontSize: 13,
|
|
176
177
|
fontWeight: "600",
|
|
177
|
-
color: _sharedUi.
|
|
178
|
+
color: _sharedUi.night.color.text
|
|
178
179
|
},
|
|
179
180
|
itemDetail: {
|
|
180
181
|
fontSize: 11,
|
|
181
|
-
color: _sharedUi.
|
|
182
|
+
color: _sharedUi.night.color.textTertiary
|
|
182
183
|
}
|
|
183
184
|
});
|
|
@@ -71,6 +71,7 @@ function PinnedSection({
|
|
|
71
71
|
style: styles.pinnedHeader,
|
|
72
72
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Pin, {
|
|
73
73
|
size: 11,
|
|
74
|
+
active: true,
|
|
74
75
|
color: _sharedUi.macOSColors.semantic.info
|
|
75
76
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
76
77
|
style: styles.pinnedTitle,
|
|
@@ -237,7 +238,7 @@ function NetworkListScreen({
|
|
|
237
238
|
};
|
|
238
239
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
239
240
|
style: styles.root,
|
|
240
|
-
children: [
|
|
241
|
+
children: [!isEnabled ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
241
242
|
style: styles.disabledBanner,
|
|
242
243
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Power, {
|
|
243
244
|
size: 14,
|
|
@@ -127,13 +127,30 @@ const Globe = p => /*#__PURE__*/(0, _jsxRuntime.jsxs)(Svg, {
|
|
|
127
127
|
d: "M2 12h20"
|
|
128
128
|
})]
|
|
129
129
|
});
|
|
130
|
-
const Pin =
|
|
130
|
+
const Pin = ({
|
|
131
|
+
active,
|
|
132
|
+
...p
|
|
133
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Svg, {
|
|
131
134
|
...p,
|
|
132
|
-
children:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
136
|
+
transform: active ? "rotate(-45 12 12) translate(12 12) scale(0.92) translate(-12 -12)" : undefined,
|
|
137
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
138
|
+
d: "M2.97 21.03 8.18 15.82"
|
|
139
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
140
|
+
d: "M4.4 10.81 13.19 19.6"
|
|
141
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
142
|
+
d: "M5.17 10.54 11.43 8.83"
|
|
143
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
144
|
+
d: "M13.46 18.83 15.17 12.57"
|
|
145
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
146
|
+
x: "12.15",
|
|
147
|
+
y: "5.4",
|
|
148
|
+
width: "9.38",
|
|
149
|
+
height: "3.52",
|
|
150
|
+
rx: "1.07",
|
|
151
|
+
transform: "rotate(-45 16.84 7.16)"
|
|
152
|
+
})]
|
|
153
|
+
})
|
|
137
154
|
});
|
|
138
155
|
const Power = p => /*#__PURE__*/(0, _jsxRuntime.jsxs)(Svg, {
|
|
139
156
|
...p,
|
|
@@ -239,6 +256,7 @@ function PinnedSection({
|
|
|
239
256
|
style: styles.pinnedHeader,
|
|
240
257
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Pin, {
|
|
241
258
|
size: 11,
|
|
259
|
+
active: true,
|
|
242
260
|
color: macOSColors.semantic.info
|
|
243
261
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
244
262
|
style: styles.pinnedTitle,
|
|
@@ -365,25 +365,26 @@ function NetworkModalInner({
|
|
|
365
365
|
|
|
366
366
|
// Compact header with actions (like Sentry/Storage modals)
|
|
367
367
|
const renderHeaderContent = () => {
|
|
368
|
-
// Filter view header with tabs
|
|
368
|
+
// Filter view header with tabs — the night segmented control (the same
|
|
369
|
+
// one the dial settings header uses).
|
|
369
370
|
if (showFilterView) {
|
|
370
|
-
const tabs = [{
|
|
371
|
-
key: "filters",
|
|
372
|
-
label: "Filters"
|
|
373
|
-
}, {
|
|
374
|
-
key: "copy",
|
|
375
|
-
label: "Copy"
|
|
376
|
-
}];
|
|
377
371
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.ModalHeader, {
|
|
378
372
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Navigation, {
|
|
379
373
|
onBack: () => setShowFilterView(false)
|
|
380
374
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Content, {
|
|
381
375
|
title: "",
|
|
382
376
|
noMargin: true,
|
|
383
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
377
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.NightSegmented, {
|
|
378
|
+
size: "sm",
|
|
379
|
+
tabs: [{
|
|
380
|
+
key: "filters",
|
|
381
|
+
label: "Filters"
|
|
382
|
+
}, {
|
|
383
|
+
key: "copy",
|
|
384
|
+
label: "Copy"
|
|
385
|
+
}],
|
|
386
|
+
activeKey: activeTab,
|
|
387
|
+
onChange: tab => setActiveTab(tab)
|
|
387
388
|
})
|
|
388
389
|
})]
|
|
389
390
|
});
|
|
@@ -449,12 +450,12 @@ function NetworkModalInner({
|
|
|
449
450
|
style: styles.headerSearchContainer,
|
|
450
451
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
|
|
451
452
|
size: 14,
|
|
452
|
-
color: _sharedUi.
|
|
453
|
+
color: _sharedUi.night.color.textSecondary
|
|
453
454
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
454
455
|
ref: searchInputRef,
|
|
455
456
|
style: styles.headerSearchInput,
|
|
456
457
|
placeholder: "Search URL, method, operation, error...",
|
|
457
|
-
placeholderTextColor: _sharedUi.
|
|
458
|
+
placeholderTextColor: _sharedUi.night.color.placeholder,
|
|
458
459
|
value: searchText,
|
|
459
460
|
onChangeText: handleSearch,
|
|
460
461
|
onSubmitEditing: () => setIsSearchActive(false),
|
|
@@ -473,7 +474,7 @@ function NetworkModalInner({
|
|
|
473
474
|
style: styles.headerSearchClear,
|
|
474
475
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.X, {
|
|
475
476
|
size: 14,
|
|
476
|
-
color: _sharedUi.
|
|
477
|
+
color: _sharedUi.night.color.textSecondary
|
|
477
478
|
})
|
|
478
479
|
}) : null]
|
|
479
480
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_NetworkHeaderLive.NetworkHeaderBadges, {
|
|
@@ -489,7 +490,7 @@ function NetworkModalInner({
|
|
|
489
490
|
style: styles.headerActionButton,
|
|
490
491
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
|
|
491
492
|
size: 14,
|
|
492
|
-
color: _sharedUi.
|
|
493
|
+
color: _sharedUi.night.color.textSecondary
|
|
493
494
|
})
|
|
494
495
|
}), overridesAvailable ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_NetworkOverridesButton.NetworkOverridesButton, {
|
|
495
496
|
onPress: () => setShowOverridesView(true)
|
|
@@ -525,7 +526,7 @@ function NetworkModalInner({
|
|
|
525
526
|
const body = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
526
527
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
527
528
|
style: styles.container,
|
|
528
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
529
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(NetworkDetailScreen, {
|
|
529
530
|
visible: hasSelection,
|
|
530
531
|
paused: paused,
|
|
531
532
|
ignoredPatternValues: ignoredPatternValues,
|
|
@@ -595,7 +596,7 @@ function NetworkModalInner({
|
|
|
595
596
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_NetworkHeaderMenu.NetworkHeaderMenuItem, {
|
|
596
597
|
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Filter, {
|
|
597
598
|
size: 14,
|
|
598
|
-
color: hasActiveFilter ? _sharedUi.
|
|
599
|
+
color: hasActiveFilter ? _sharedUi.night.color.accent : _sharedUi.night.color.textSecondary
|
|
599
600
|
}),
|
|
600
601
|
label: "Filters",
|
|
601
602
|
detail: hasActiveFilter ? "Active" : undefined,
|
|
@@ -607,7 +608,7 @@ function NetworkModalInner({
|
|
|
607
608
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_NetworkHeaderMenu.NetworkHeaderMenuItem, {
|
|
608
609
|
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Bookmark, {
|
|
609
610
|
size: 14,
|
|
610
|
-
color: _sharedUi.
|
|
611
|
+
color: _sharedUi.night.color.textSecondary
|
|
611
612
|
}),
|
|
612
613
|
label: "Saved requests",
|
|
613
614
|
onPress: () => {
|
|
@@ -659,6 +660,7 @@ function NetworkModalInner({
|
|
|
659
660
|
onClose: onClose,
|
|
660
661
|
onMinimize: onMinimize,
|
|
661
662
|
persistenceKey: persistenceKey,
|
|
663
|
+
variant: "night",
|
|
662
664
|
header: {
|
|
663
665
|
showToggleButton: true,
|
|
664
666
|
customContent: renderHeaderContent()
|
|
@@ -667,7 +669,12 @@ function NetworkModalInner({
|
|
|
667
669
|
enablePersistence: true,
|
|
668
670
|
initialMode: "bottomSheet",
|
|
669
671
|
enableGlitchEffects: true,
|
|
670
|
-
disableScrollWrapper: bodyOwnsScroll
|
|
672
|
+
disableScrollWrapper: bodyOwnsScroll
|
|
673
|
+
// Night hoists the ToolBackground to the sheet root (field runs through
|
|
674
|
+
// the header). The desktop INLINE panel never goes through JsModal — its
|
|
675
|
+
// host (the workbench) hoists one shared field instead, so the body
|
|
676
|
+
// mounts none of its own in either shell.
|
|
677
|
+
,
|
|
671
678
|
styles: {},
|
|
672
679
|
children: body
|
|
673
680
|
});
|
|
@@ -675,7 +682,10 @@ function NetworkModalInner({
|
|
|
675
682
|
const styles = _reactNative.StyleSheet.create({
|
|
676
683
|
container: {
|
|
677
684
|
flex: 1,
|
|
678
|
-
|
|
685
|
+
// Transparent so the HOST's hoisted star field shows through — the night
|
|
686
|
+
// JsModal's sheet-root field in the modal, the desktop workbench's shared
|
|
687
|
+
// row field in the inline panel.
|
|
688
|
+
backgroundColor: "transparent"
|
|
679
689
|
},
|
|
680
690
|
/** Detail = scrolling body + pinned stepper footer. `minHeight: 0` so the
|
|
681
691
|
* body's ScrollView scrolls instead of stretching the column. */
|
|
@@ -688,11 +698,13 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
688
698
|
flex: 1
|
|
689
699
|
},
|
|
690
700
|
/** Inline shell — fills the host panel; `minHeight: 0` so the list's own
|
|
691
|
-
* FlatList can scroll instead of stretching the column.
|
|
701
|
+
* FlatList can scroll instead of stretching the column. Transparent so the
|
|
702
|
+
* desktop workbench's hoisted sky (one field spanning sidebar + panel)
|
|
703
|
+
* shows through — the shell paints its own base beneath that field. */
|
|
692
704
|
inlineRoot: {
|
|
693
705
|
flex: 1,
|
|
694
706
|
minHeight: 0,
|
|
695
|
-
backgroundColor:
|
|
707
|
+
backgroundColor: "transparent"
|
|
696
708
|
},
|
|
697
709
|
inlineHeader: {
|
|
698
710
|
paddingHorizontal: 12,
|
|
@@ -701,19 +713,21 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
701
713
|
borderBottomColor: _sharedUi.macOSColors.border.default,
|
|
702
714
|
backgroundColor: _sharedUi.macOSColors.background.card
|
|
703
715
|
},
|
|
716
|
+
// Night chrome — the header is glass over the star field, so the search
|
|
717
|
+
// field and action chips sit on the Everlights dark-glass fill.
|
|
704
718
|
headerSearchContainer: {
|
|
705
719
|
flexDirection: "row",
|
|
706
720
|
alignItems: "center",
|
|
707
|
-
backgroundColor: _sharedUi.
|
|
708
|
-
borderRadius:
|
|
721
|
+
backgroundColor: _sharedUi.night.color.surfaceElevated,
|
|
722
|
+
borderRadius: _sharedUi.night.radius.row,
|
|
709
723
|
borderWidth: 1,
|
|
710
|
-
borderColor: _sharedUi.
|
|
724
|
+
borderColor: _sharedUi.night.color.border,
|
|
711
725
|
paddingHorizontal: 12,
|
|
712
726
|
paddingVertical: 5
|
|
713
727
|
},
|
|
714
728
|
headerSearchInput: {
|
|
715
729
|
flex: 1,
|
|
716
|
-
color: _sharedUi.
|
|
730
|
+
color: _sharedUi.night.color.text,
|
|
717
731
|
fontSize: 13,
|
|
718
732
|
marginLeft: 6,
|
|
719
733
|
paddingVertical: 2
|
|
@@ -729,15 +743,15 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
729
743
|
width: 32,
|
|
730
744
|
height: 32,
|
|
731
745
|
borderRadius: 8,
|
|
732
|
-
backgroundColor: _sharedUi.
|
|
746
|
+
backgroundColor: _sharedUi.night.color.buttonSurface,
|
|
733
747
|
borderWidth: 1,
|
|
734
|
-
borderColor: _sharedUi.
|
|
748
|
+
borderColor: _sharedUi.night.color.border,
|
|
735
749
|
alignItems: "center",
|
|
736
750
|
justifyContent: "center"
|
|
737
751
|
},
|
|
738
752
|
activeFilterButton: {
|
|
739
|
-
backgroundColor: _sharedUi.
|
|
740
|
-
borderColor: _sharedUi.
|
|
753
|
+
backgroundColor: _sharedUi.night.color.accentSoft,
|
|
754
|
+
borderColor: _sharedUi.night.color.accentBorderStrong
|
|
741
755
|
}
|
|
742
756
|
});
|
|
743
757
|
|