@buoy-gg/network 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.
@@ -546,62 +546,16 @@ function NetworkCopySettingsView({
546
546
  const generatePreviewContent = (0, _react.useCallback)(() => {
547
547
  const dataSource = hasLiveData ? events : [mockRequestData];
548
548
  const requestCount = dataSource.length;
549
-
550
- // Collapsed state - show summary with expand button
551
- if (!isPreviewExpanded) {
552
- const warningColor = sizeWarningLevel === 'danger' ? _sharedUi.macOSColors.semantic.error : sizeWarningLevel === 'warning' ? _sharedUi.macOSColors.semantic.warning : _sharedUi.macOSColors.text.secondary;
553
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
554
- style: styles.collapsedPreview,
555
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
556
- style: styles.expandButton,
557
- onPress: () => setIsPreviewExpanded(true),
558
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
559
- style: styles.expandButtonContent,
560
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Eye, {
561
- size: 16,
562
- color: _sharedUi.macOSColors.semantic.info
563
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
564
- style: styles.expandButtonTextContainer,
565
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
566
- style: styles.expandButtonTitle,
567
- children: "Show Preview"
568
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
569
- style: styles.expandButtonSubtitle,
570
- children: [requestCount, " request", requestCount !== 1 ? 's' : '', " \u2022 ~", formatBytes(estimatedSize)]
571
- })]
572
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronDown, {
573
- size: 16,
574
- color: _sharedUi.macOSColors.text.muted
575
- })]
576
- })
577
- }), sizeWarningLevel !== 'none' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
578
- style: [styles.sizeWarning, sizeWarningLevel === 'danger' && styles.sizeWarningDanger],
579
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.AlertTriangle, {
580
- size: 12,
581
- color: warningColor
582
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
583
- style: [styles.sizeWarningText, {
584
- color: warningColor
585
- }],
586
- children: sizeWarningLevel === 'danger' ? 'Very large payload - may cause performance issues' : 'Large payload - preview may be slow'
587
- })]
588
- })]
589
- });
590
- }
591
-
592
- // Expanded state - show collapse button + actual content
593
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
594
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
595
- style: styles.collapseButton,
596
- onPress: () => setIsPreviewExpanded(false),
597
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
598
- style: styles.collapseButtonText,
599
- children: "Hide Preview"
600
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronUp, {
601
- size: 14,
602
- color: _sharedUi.macOSColors.text.secondary
603
- })]
604
- }), generateExpandedPreviewContent()]
549
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ExportPreview, {
550
+ expanded: isPreviewExpanded,
551
+ onExpandedChange: setIsPreviewExpanded,
552
+ summary: `${requestCount} request${requestCount !== 1 ? "s" : ""} • ~${formatBytes(estimatedSize)}`,
553
+ warningLevel: sizeWarningLevel,
554
+ warningText: {
555
+ warning: "Large payload - preview may be slow",
556
+ danger: "Very large payload - may cause performance issues"
557
+ },
558
+ renderBody: generateExpandedPreviewContent
605
559
  });
606
560
  }, [settings, hasLiveData, events, mockRequestData, isPreviewExpanded, estimatedSize, sizeWarningLevel, generateExpandedPreviewContent]);
607
561
 
@@ -790,71 +744,6 @@ const styles = _reactNative.StyleSheet.create({
790
744
  marginRight: 8
791
745
  },
792
746
  // Collapsible preview styles
793
- collapsedPreview: {
794
- gap: 8
795
- },
796
- expandButton: {
797
- backgroundColor: _sharedUi.macOSColors.background.input,
798
- borderRadius: 8,
799
- borderWidth: 1,
800
- borderColor: _sharedUi.macOSColors.border.default,
801
- padding: 12
802
- },
803
- expandButtonContent: {
804
- flexDirection: 'row',
805
- alignItems: 'center',
806
- gap: 10
807
- },
808
- expandButtonTextContainer: {
809
- flex: 1
810
- },
811
- expandButtonTitle: {
812
- fontSize: 13,
813
- fontWeight: '600',
814
- color: _sharedUi.macOSColors.text.primary
815
- },
816
- expandButtonSubtitle: {
817
- fontSize: 11,
818
- color: _sharedUi.macOSColors.text.secondary,
819
- marginTop: 2
820
- },
821
- collapseButton: {
822
- flexDirection: 'row',
823
- alignItems: 'center',
824
- justifyContent: 'center',
825
- gap: 6,
826
- paddingVertical: 8,
827
- marginBottom: 8,
828
- backgroundColor: _sharedUi.macOSColors.background.hover,
829
- borderRadius: 6,
830
- borderWidth: 1,
831
- borderColor: _sharedUi.macOSColors.border.default
832
- },
833
- collapseButtonText: {
834
- fontSize: 12,
835
- fontWeight: '500',
836
- color: _sharedUi.macOSColors.text.secondary
837
- },
838
- sizeWarning: {
839
- flexDirection: 'row',
840
- alignItems: 'center',
841
- gap: 6,
842
- paddingHorizontal: 10,
843
- paddingVertical: 6,
844
- backgroundColor: _sharedUi.macOSColors.semantic.warningBackground,
845
- borderRadius: 6,
846
- borderWidth: 1,
847
- borderColor: _sharedUi.macOSColors.semantic.warning + '30'
848
- },
849
- sizeWarningDanger: {
850
- backgroundColor: _sharedUi.macOSColors.semantic.errorBackground,
851
- borderColor: _sharedUi.macOSColors.semantic.error + '30'
852
- },
853
- sizeWarningText: {
854
- fontSize: 11,
855
- fontWeight: '500',
856
- flex: 1
857
- },
858
747
  // Gated container styles for free users
859
748
  gatedContainer: {
860
749
  flex: 1,
@@ -282,10 +282,8 @@ function NetworkListScreen({
282
282
  showsVerticalScrollIndicator: true
283
283
  // Clipped cells falsely fail Detox's hittability check (known
284
284
  // RN+Detox issue), so e2e bundles (Metro started with
285
- // EXPO_PUBLIC_E2E=1) turn clipping off. Inlined at bundle time;
286
- // guarded so a non-inlining bundler keeps the prod behavior.
285
+ // EXPO_PUBLIC_E2E=1) turn clipping off — see EVENT_LIST_PRESET.
287
286
  ,
288
- removeClippedSubviews: !(typeof process !== "undefined" && process.env?.EXPO_PUBLIC_E2E),
289
287
  onEndReachedThreshold: 0.8
290
288
  // The list OWNS scrolling (NetworkModal passes
291
289
  // disableScrollWrapper while this screen is visible) so FlatList
@@ -294,18 +292,14 @@ function NetworkListScreen({
294
292
  // rows: at the store's 500-event cap that measured 17 JS FPS /
295
293
  // 133% CPU / 1.4GB vs ~53 JS FPS / 52% / 360MB virtualized
296
294
  // (buoy-optimize batch 2026-07-06, batch-1783396983529-6l7w).
297
- // Window/batch values are the batch's "tuned" winner.
295
+ // Window/batch values are the batch's "tuned" winner (EVENT_LIST_PRESET).
298
296
  ,
299
297
  scrollEnabled: true,
300
- initialNumToRender: 12,
301
- maxToRenderPerBatch: 8,
302
- windowSize: 5,
303
- updateCellsBatchingPeriod: 50
298
+ ..._sharedUi.EVENT_LIST_PRESET,
304
299
  // Saving a request from the detail view changes a row's glyph
305
300
  // without changing `data`. VirtualizedList is a PureComponent, so
306
301
  // the Set has to be declared as a re-render marker rather than
307
302
  // relying on `renderItem` getting a fresh identity.
308
- ,
309
303
  extraData: savedLiveIds,
310
304
  "sentry-label": "ignore network events list",
311
305
  ListFooterComponent: renderListFooter
@@ -452,53 +452,24 @@ function NetworkModalInner({
452
452
  onBack: onBack
453
453
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Content, {
454
454
  title: "",
455
- children: isSearchActive ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
456
- style: styles.headerSearchContainer,
457
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
458
- size: 14,
459
- color: _sharedUi.night.color.textSecondary
460
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
461
- ref: searchInputRef,
462
- style: styles.headerSearchInput,
463
- placeholder: "Search URL, method, operation, error...",
464
- placeholderTextColor: _sharedUi.night.color.placeholder,
465
- value: searchText,
466
- onChangeText: handleSearch,
467
- onSubmitEditing: () => setIsSearchActive(false),
468
- onBlur: () => {
469
- if (!clearPressRef.current) setIsSearchActive(false);
470
- },
471
- "sentry-label": "ignore network search header",
472
- accessibilityLabel: "Search network requests",
473
- testID: "buoy-network-search-input",
474
- autoCapitalize: "none",
475
- autoCorrect: false,
476
- returnKeyType: "search"
477
- }), searchText.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity
478
- // react-native-web delays press-in ~50ms by default (native
479
- // fires it immediately), which would put it AFTER the blur.
480
- , {
481
- delayPressIn: 0,
482
- onPressIn: () => {
483
- clearPressRef.current = true;
484
- },
485
- onPressOut: () => {
486
- clearPressRef.current = false;
487
- },
488
- onPress: () => {
489
- handleSearch("");
490
- setIsSearchActive(false);
491
- },
492
- "sentry-label": "ignore clear search header",
493
- style: styles.headerSearchClear,
494
- accessibilityRole: "button",
495
- accessibilityLabel: "Clear search",
496
- testID: "buoy-network-search-clear",
497
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.X, {
498
- size: 14,
499
- color: _sharedUi.night.color.textSecondary
500
- })
501
- }) : null]
455
+ children: isSearchActive ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Search, {
456
+ value: searchText,
457
+ onChangeText: handleSearch,
458
+ onCancel: () => {
459
+ handleSearch("");
460
+ setIsSearchActive(false);
461
+ },
462
+ onDismiss: () => setIsSearchActive(false),
463
+ dismissOnBlur: true,
464
+ clearOnlyWhenText: true,
465
+ placeholder: "Search URL, method, operation, error...",
466
+ accessibilityLabel: "Search network requests",
467
+ iconSize: 14,
468
+ testID: "buoy-network-search-input",
469
+ clearTestID: "buoy-network-search-clear",
470
+ inputProps: {
471
+ "sentry-label": "ignore network search header"
472
+ }
502
473
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_NetworkHeaderLive.NetworkHeaderBadges, {
503
474
  activeStatus: filter.status,
504
475
  onToggleStatus: toggleStatusFilter,
@@ -743,27 +714,6 @@ const styles = _reactNative.StyleSheet.create({
743
714
  },
744
715
  // Night chrome — the header is glass over the star field, so the search
745
716
  // field and action chips sit on the Everlights dark-glass fill.
746
- headerSearchContainer: {
747
- flexDirection: "row",
748
- alignItems: "center",
749
- backgroundColor: _sharedUi.night.color.surfaceElevated,
750
- borderRadius: _sharedUi.night.radius.row,
751
- borderWidth: 1,
752
- borderColor: _sharedUi.night.color.border,
753
- paddingHorizontal: 12,
754
- paddingVertical: 5
755
- },
756
- headerSearchInput: {
757
- flex: 1,
758
- color: _sharedUi.night.color.text,
759
- fontSize: 13,
760
- marginLeft: 6,
761
- paddingVertical: 2
762
- },
763
- headerSearchClear: {
764
- marginLeft: 6,
765
- padding: 4
766
- },
767
717
  menuCopyRow: {
768
718
  paddingHorizontal: 6
769
719
  },
@@ -154,11 +154,8 @@ function NetworkSavedScreen({
154
154
  keyExtractor: keyExtractor,
155
155
  contentContainerStyle: styles.listContent,
156
156
  showsVerticalScrollIndicator: true,
157
- removeClippedSubviews: true,
158
157
  scrollEnabled: true,
159
- initialNumToRender: 12,
160
- maxToRenderPerBatch: 8,
161
- windowSize: 5,
158
+ ..._sharedUi.EVENT_LIST_PRESET,
162
159
  extraData: pinnedLiveIds,
163
160
  "sentry-label": "ignore saved requests list",
164
161
  ListFooterComponent: renderListFooter
@@ -3,8 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createNetworkTool = createNetworkTool;
7
- exports.networkToolPreset = void 0;
6
+ exports.networkToolPreset = exports.createNetworkTool = void 0;
8
7
  var _sharedUi = require("@buoy-gg/shared-ui");
9
8
  var _NetworkModal = require("./network/components/NetworkModal");
10
9
  var _overrideRulesStore = require("./network/overrides/overrideRulesStore");
@@ -66,7 +65,7 @@ if (isReactNativeRuntime && typeof __DEV__ !== "undefined" && __DEV__) {
66
65
  * - Filter by status, method, URL
67
66
  * - Timing information
68
67
  */
69
- const networkToolPreset = exports.networkToolPreset = {
68
+ const networkToolPreset = exports.networkToolPreset = (0, _sharedUi.defineToolPreset)({
70
69
  id: "network",
71
70
  name: "NET",
72
71
  description: "Network request logger",
@@ -80,7 +79,7 @@ const networkToolPreset = exports.networkToolPreset = {
80
79
  props: {
81
80
  enableSharedModalDimensions: false
82
81
  }
83
- };
82
+ });
84
83
 
85
84
  /**
86
85
  * Create a custom network monitoring tool configuration.
@@ -97,20 +96,6 @@ const networkToolPreset = exports.networkToolPreset = {
97
96
  * });
98
97
  * ```
99
98
  */
100
- function createNetworkTool(options) {
101
- return {
102
- id: options?.id || "network",
103
- name: options?.name || "NET",
104
- description: options?.description || "Network request logger",
105
- slot: "both",
106
- icon: ({
107
- size
108
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.NetworkIcon, {
109
- size: size
110
- }),
111
- component: _NetworkModal.NetworkModal,
112
- props: {
113
- enableSharedModalDimensions: options?.enableSharedModalDimensions !== undefined ? options.enableSharedModalDimensions : false
114
- }
115
- };
116
- }
99
+ const createNetworkTool = exports.createNetworkTool = (0, _sharedUi.createToolFactory)(networkToolPreset, options => ({
100
+ enableSharedModalDimensions: options.enableSharedModalDimensions ?? false
101
+ }));
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { DynamicFilterView, macOSColors, FileText, FileCode, Link, Zap, Settings, Hash, Eye, ChevronDown, ChevronUp, AlertTriangle, ToolbarCopyButton, formatRelativeTime, useFeatureGate, ProFeatureBanner } from "@buoy-gg/shared-ui";
3
+ import { DynamicFilterView, macOSColors, FileText, FileCode, Link, Zap, Settings, Hash, Eye, ToolbarCopyButton, formatRelativeTime, useFeatureGate, ProFeatureBanner, ExportPreview } from "@buoy-gg/shared-ui";
4
4
  import { DataViewer } from "@buoy-gg/shared-ui/dataViewer";
5
5
  import { useCallback, useMemo, useState } from "react";
6
- import { Text, StyleSheet, ScrollView, View, TouchableOpacity } from "react-native";
6
+ import { Text, StyleSheet, ScrollView, View } from "react-native";
7
7
  import { useTickEveryMinute } from "../hooks/useTickEveryMinute";
8
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
8
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  export const DEFAULT_COPY_SETTINGS = {
10
10
  includeMethod: true,
11
11
  includeStatus: true,
@@ -541,62 +541,16 @@ export function NetworkCopySettingsView({
541
541
  const generatePreviewContent = useCallback(() => {
542
542
  const dataSource = hasLiveData ? events : [mockRequestData];
543
543
  const requestCount = dataSource.length;
544
-
545
- // Collapsed state - show summary with expand button
546
- if (!isPreviewExpanded) {
547
- const warningColor = sizeWarningLevel === 'danger' ? macOSColors.semantic.error : sizeWarningLevel === 'warning' ? macOSColors.semantic.warning : macOSColors.text.secondary;
548
- return /*#__PURE__*/_jsxs(View, {
549
- style: styles.collapsedPreview,
550
- children: [/*#__PURE__*/_jsx(TouchableOpacity, {
551
- style: styles.expandButton,
552
- onPress: () => setIsPreviewExpanded(true),
553
- children: /*#__PURE__*/_jsxs(View, {
554
- style: styles.expandButtonContent,
555
- children: [/*#__PURE__*/_jsx(Eye, {
556
- size: 16,
557
- color: macOSColors.semantic.info
558
- }), /*#__PURE__*/_jsxs(View, {
559
- style: styles.expandButtonTextContainer,
560
- children: [/*#__PURE__*/_jsx(Text, {
561
- style: styles.expandButtonTitle,
562
- children: "Show Preview"
563
- }), /*#__PURE__*/_jsxs(Text, {
564
- style: styles.expandButtonSubtitle,
565
- children: [requestCount, " request", requestCount !== 1 ? 's' : '', " \u2022 ~", formatBytes(estimatedSize)]
566
- })]
567
- }), /*#__PURE__*/_jsx(ChevronDown, {
568
- size: 16,
569
- color: macOSColors.text.muted
570
- })]
571
- })
572
- }), sizeWarningLevel !== 'none' && /*#__PURE__*/_jsxs(View, {
573
- style: [styles.sizeWarning, sizeWarningLevel === 'danger' && styles.sizeWarningDanger],
574
- children: [/*#__PURE__*/_jsx(AlertTriangle, {
575
- size: 12,
576
- color: warningColor
577
- }), /*#__PURE__*/_jsx(Text, {
578
- style: [styles.sizeWarningText, {
579
- color: warningColor
580
- }],
581
- children: sizeWarningLevel === 'danger' ? 'Very large payload - may cause performance issues' : 'Large payload - preview may be slow'
582
- })]
583
- })]
584
- });
585
- }
586
-
587
- // Expanded state - show collapse button + actual content
588
- return /*#__PURE__*/_jsxs(View, {
589
- children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
590
- style: styles.collapseButton,
591
- onPress: () => setIsPreviewExpanded(false),
592
- children: [/*#__PURE__*/_jsx(Text, {
593
- style: styles.collapseButtonText,
594
- children: "Hide Preview"
595
- }), /*#__PURE__*/_jsx(ChevronUp, {
596
- size: 14,
597
- color: macOSColors.text.secondary
598
- })]
599
- }), generateExpandedPreviewContent()]
544
+ return /*#__PURE__*/_jsx(ExportPreview, {
545
+ expanded: isPreviewExpanded,
546
+ onExpandedChange: setIsPreviewExpanded,
547
+ summary: `${requestCount} request${requestCount !== 1 ? "s" : ""} • ~${formatBytes(estimatedSize)}`,
548
+ warningLevel: sizeWarningLevel,
549
+ warningText: {
550
+ warning: "Large payload - preview may be slow",
551
+ danger: "Very large payload - may cause performance issues"
552
+ },
553
+ renderBody: generateExpandedPreviewContent
600
554
  });
601
555
  }, [settings, hasLiveData, events, mockRequestData, isPreviewExpanded, estimatedSize, sizeWarningLevel, generateExpandedPreviewContent]);
602
556
 
@@ -785,71 +739,6 @@ const styles = StyleSheet.create({
785
739
  marginRight: 8
786
740
  },
787
741
  // Collapsible preview styles
788
- collapsedPreview: {
789
- gap: 8
790
- },
791
- expandButton: {
792
- backgroundColor: macOSColors.background.input,
793
- borderRadius: 8,
794
- borderWidth: 1,
795
- borderColor: macOSColors.border.default,
796
- padding: 12
797
- },
798
- expandButtonContent: {
799
- flexDirection: 'row',
800
- alignItems: 'center',
801
- gap: 10
802
- },
803
- expandButtonTextContainer: {
804
- flex: 1
805
- },
806
- expandButtonTitle: {
807
- fontSize: 13,
808
- fontWeight: '600',
809
- color: macOSColors.text.primary
810
- },
811
- expandButtonSubtitle: {
812
- fontSize: 11,
813
- color: macOSColors.text.secondary,
814
- marginTop: 2
815
- },
816
- collapseButton: {
817
- flexDirection: 'row',
818
- alignItems: 'center',
819
- justifyContent: 'center',
820
- gap: 6,
821
- paddingVertical: 8,
822
- marginBottom: 8,
823
- backgroundColor: macOSColors.background.hover,
824
- borderRadius: 6,
825
- borderWidth: 1,
826
- borderColor: macOSColors.border.default
827
- },
828
- collapseButtonText: {
829
- fontSize: 12,
830
- fontWeight: '500',
831
- color: macOSColors.text.secondary
832
- },
833
- sizeWarning: {
834
- flexDirection: 'row',
835
- alignItems: 'center',
836
- gap: 6,
837
- paddingHorizontal: 10,
838
- paddingVertical: 6,
839
- backgroundColor: macOSColors.semantic.warningBackground,
840
- borderRadius: 6,
841
- borderWidth: 1,
842
- borderColor: macOSColors.semantic.warning + '30'
843
- },
844
- sizeWarningDanger: {
845
- backgroundColor: macOSColors.semantic.errorBackground,
846
- borderColor: macOSColors.semantic.error + '30'
847
- },
848
- sizeWarningText: {
849
- fontSize: 11,
850
- fontWeight: '500',
851
- flex: 1
852
- },
853
742
  // Gated container styles for free users
854
743
  gatedContainer: {
855
744
  flex: 1,
@@ -14,7 +14,7 @@
14
14
 
15
15
  import { useCallback } from "react";
16
16
  import { FlatList, StyleSheet, Text, TouchableOpacity, View } from "react-native";
17
- import { FlaskConical, Pin, Power, macOSColors, ToolEmptyState, resolveListEmptyState } from "@buoy-gg/shared-ui";
17
+ import { FlaskConical, Pin, Power, macOSColors, ToolEmptyState, resolveListEmptyState, EVENT_LIST_PRESET } from "@buoy-gg/shared-ui";
18
18
  import { NetworkEventItemCompact } from "./NetworkEventItemCompact";
19
19
  import { NetworkUpgradeBanner } from "./NetworkUpgradeBanner";
20
20
  import { useNetworkEventList } from "../hooks/useNetworkEventList";
@@ -278,10 +278,8 @@ export function NetworkListScreen({
278
278
  showsVerticalScrollIndicator: true
279
279
  // Clipped cells falsely fail Detox's hittability check (known
280
280
  // RN+Detox issue), so e2e bundles (Metro started with
281
- // EXPO_PUBLIC_E2E=1) turn clipping off. Inlined at bundle time;
282
- // guarded so a non-inlining bundler keeps the prod behavior.
281
+ // EXPO_PUBLIC_E2E=1) turn clipping off — see EVENT_LIST_PRESET.
283
282
  ,
284
- removeClippedSubviews: !(typeof process !== "undefined" && process.env?.EXPO_PUBLIC_E2E),
285
283
  onEndReachedThreshold: 0.8
286
284
  // The list OWNS scrolling (NetworkModal passes
287
285
  // disableScrollWrapper while this screen is visible) so FlatList
@@ -290,18 +288,14 @@ export function NetworkListScreen({
290
288
  // rows: at the store's 500-event cap that measured 17 JS FPS /
291
289
  // 133% CPU / 1.4GB vs ~53 JS FPS / 52% / 360MB virtualized
292
290
  // (buoy-optimize batch 2026-07-06, batch-1783396983529-6l7w).
293
- // Window/batch values are the batch's "tuned" winner.
291
+ // Window/batch values are the batch's "tuned" winner (EVENT_LIST_PRESET).
294
292
  ,
295
293
  scrollEnabled: true,
296
- initialNumToRender: 12,
297
- maxToRenderPerBatch: 8,
298
- windowSize: 5,
299
- updateCellsBatchingPeriod: 50
294
+ ...EVENT_LIST_PRESET,
300
295
  // Saving a request from the detail view changes a row's glyph
301
296
  // without changing `data`. VirtualizedList is a PureComponent, so
302
297
  // the Set has to be declared as a re-render marker rather than
303
298
  // relying on `renderItem` getting a fresh identity.
304
- ,
305
299
  extraData: savedLiveIds,
306
300
  "sentry-label": "ignore network events list",
307
301
  ListFooterComponent: renderListFooter
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { useState, useRef, useEffect, useCallback } from "react";
4
- import { View, StyleSheet, TouchableOpacity, TextInput } from "react-native";
5
- import { Search, Filter, Bookmark, X, JsModal, ModalHeader, devToolsStorageKeys, macOSColors, night, persistentStorage, NightSegmented, useFeatureGate, UpgradeModal, PowerToggleButton, useIgnoredPatterns, windowDragProps } from "@buoy-gg/shared-ui";
4
+ import { View, StyleSheet, TouchableOpacity } from "react-native";
5
+ import { Search, Filter, Bookmark, JsModal, ModalHeader, devToolsStorageKeys, macOSColors, night, persistentStorage, NightSegmented, useFeatureGate, UpgradeModal, PowerToggleButton, useIgnoredPatterns, windowDragProps } from "@buoy-gg/shared-ui";
6
6
  import { NetworkFilterViewV3 } from "./NetworkFilterViewV3";
7
7
  import { TickProvider } from "../hooks/useTickEveryMinute";
8
8
  import { NetworkEventDetailView } from "./NetworkEventDetailView";
@@ -447,53 +447,24 @@ function NetworkModalInner({
447
447
  onBack: onBack
448
448
  }), /*#__PURE__*/_jsx(ModalHeader.Content, {
449
449
  title: "",
450
- children: isSearchActive ? /*#__PURE__*/_jsxs(View, {
451
- style: styles.headerSearchContainer,
452
- children: [/*#__PURE__*/_jsx(Search, {
453
- size: 14,
454
- color: night.color.textSecondary
455
- }), /*#__PURE__*/_jsx(TextInput, {
456
- ref: searchInputRef,
457
- style: styles.headerSearchInput,
458
- placeholder: "Search URL, method, operation, error...",
459
- placeholderTextColor: night.color.placeholder,
460
- value: searchText,
461
- onChangeText: handleSearch,
462
- onSubmitEditing: () => setIsSearchActive(false),
463
- onBlur: () => {
464
- if (!clearPressRef.current) setIsSearchActive(false);
465
- },
466
- "sentry-label": "ignore network search header",
467
- accessibilityLabel: "Search network requests",
468
- testID: "buoy-network-search-input",
469
- autoCapitalize: "none",
470
- autoCorrect: false,
471
- returnKeyType: "search"
472
- }), searchText.length > 0 ? /*#__PURE__*/_jsx(TouchableOpacity
473
- // react-native-web delays press-in ~50ms by default (native
474
- // fires it immediately), which would put it AFTER the blur.
475
- , {
476
- delayPressIn: 0,
477
- onPressIn: () => {
478
- clearPressRef.current = true;
479
- },
480
- onPressOut: () => {
481
- clearPressRef.current = false;
482
- },
483
- onPress: () => {
484
- handleSearch("");
485
- setIsSearchActive(false);
486
- },
487
- "sentry-label": "ignore clear search header",
488
- style: styles.headerSearchClear,
489
- accessibilityRole: "button",
490
- accessibilityLabel: "Clear search",
491
- testID: "buoy-network-search-clear",
492
- children: /*#__PURE__*/_jsx(X, {
493
- size: 14,
494
- color: night.color.textSecondary
495
- })
496
- }) : null]
450
+ children: isSearchActive ? /*#__PURE__*/_jsx(ModalHeader.Search, {
451
+ value: searchText,
452
+ onChangeText: handleSearch,
453
+ onCancel: () => {
454
+ handleSearch("");
455
+ setIsSearchActive(false);
456
+ },
457
+ onDismiss: () => setIsSearchActive(false),
458
+ dismissOnBlur: true,
459
+ clearOnlyWhenText: true,
460
+ placeholder: "Search URL, method, operation, error...",
461
+ accessibilityLabel: "Search network requests",
462
+ iconSize: 14,
463
+ testID: "buoy-network-search-input",
464
+ clearTestID: "buoy-network-search-clear",
465
+ inputProps: {
466
+ "sentry-label": "ignore network search header"
467
+ }
497
468
  }) : /*#__PURE__*/_jsx(NetworkHeaderBadges, {
498
469
  activeStatus: filter.status,
499
470
  onToggleStatus: toggleStatusFilter,
@@ -738,27 +709,6 @@ const styles = StyleSheet.create({
738
709
  },
739
710
  // Night chrome — the header is glass over the star field, so the search
740
711
  // field and action chips sit on the Everlights dark-glass fill.
741
- headerSearchContainer: {
742
- flexDirection: "row",
743
- alignItems: "center",
744
- backgroundColor: night.color.surfaceElevated,
745
- borderRadius: night.radius.row,
746
- borderWidth: 1,
747
- borderColor: night.color.border,
748
- paddingHorizontal: 12,
749
- paddingVertical: 5
750
- },
751
- headerSearchInput: {
752
- flex: 1,
753
- color: night.color.text,
754
- fontSize: 13,
755
- marginLeft: 6,
756
- paddingVertical: 2
757
- },
758
- headerSearchClear: {
759
- marginLeft: 6,
760
- padding: 4
761
- },
762
712
  menuCopyRow: {
763
713
  paddingHorizontal: 6
764
714
  },
@@ -19,7 +19,7 @@
19
19
 
20
20
  import { useState } from "react";
21
21
  import { FlatList, StyleSheet, Text, TextInput, View, TouchableOpacity } from "react-native";
22
- import { Bookmark, CopyButton, Search, macOSColors, useLimit, ToolEmptyState, resolveListEmptyState } from "@buoy-gg/shared-ui";
22
+ import { Bookmark, CopyButton, Search, macOSColors, useLimit, ToolEmptyState, resolveListEmptyState, EVENT_LIST_PRESET } from "@buoy-gg/shared-ui";
23
23
  import { NetworkEventItemCompact } from "./NetworkEventItemCompact";
24
24
  import { NetworkUpgradeBanner } from "./NetworkUpgradeBanner";
25
25
  import { generateNetworkCopyText } from "../utils/generateNetworkCopyText";
@@ -150,11 +150,8 @@ export function NetworkSavedScreen({
150
150
  keyExtractor: keyExtractor,
151
151
  contentContainerStyle: styles.listContent,
152
152
  showsVerticalScrollIndicator: true,
153
- removeClippedSubviews: true,
154
153
  scrollEnabled: true,
155
- initialNumToRender: 12,
156
- maxToRenderPerBatch: 8,
157
- windowSize: 5,
154
+ ...EVENT_LIST_PRESET,
158
155
  extraData: pinnedLiveIds,
159
156
  "sentry-label": "ignore saved requests list",
160
157
  ListFooterComponent: renderListFooter
@@ -17,7 +17,7 @@
17
17
  * ```
18
18
  */
19
19
 
20
- import { NetworkIcon } from "@buoy-gg/shared-ui";
20
+ import { NetworkIcon, createToolFactory, defineToolPreset } from "@buoy-gg/shared-ui";
21
21
  import { NetworkModal } from "./network/components/NetworkModal";
22
22
  import { overrideRulesStore } from "./network/overrides/overrideRulesStore";
23
23
  import { networkEventStore } from "./network/utils/networkEventStore";
@@ -63,7 +63,7 @@ if (isReactNativeRuntime && typeof __DEV__ !== "undefined" && __DEV__) {
63
63
  * - Filter by status, method, URL
64
64
  * - Timing information
65
65
  */
66
- export const networkToolPreset = {
66
+ export const networkToolPreset = defineToolPreset({
67
67
  id: "network",
68
68
  name: "NET",
69
69
  description: "Network request logger",
@@ -77,7 +77,7 @@ export const networkToolPreset = {
77
77
  props: {
78
78
  enableSharedModalDimensions: false
79
79
  }
80
- };
80
+ });
81
81
 
82
82
  /**
83
83
  * Create a custom network monitoring tool configuration.
@@ -94,20 +94,6 @@ export const networkToolPreset = {
94
94
  * });
95
95
  * ```
96
96
  */
97
- export function createNetworkTool(options) {
98
- return {
99
- id: options?.id || "network",
100
- name: options?.name || "NET",
101
- description: options?.description || "Network request logger",
102
- slot: "both",
103
- icon: ({
104
- size
105
- }) => /*#__PURE__*/_jsx(NetworkIcon, {
106
- size: size
107
- }),
108
- component: NetworkModal,
109
- props: {
110
- enableSharedModalDimensions: options?.enableSharedModalDimensions !== undefined ? options.enableSharedModalDimensions : false
111
- }
112
- };
113
- }
97
+ export const createNetworkTool = createToolFactory(networkToolPreset, options => ({
98
+ enableSharedModalDimensions: options.enableSharedModalDimensions ?? false
99
+ }));
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkCopySettingsView.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkCopySettingsView.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,MAAM,WAAW,YAAY;IAE3B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IAGvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,OAAO,CAAC;IAGhC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAGtC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;IAG1C,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC1C;AAED,eAAO,MAAM,qBAAqB,EAAE,YAenC,CAAC;AAsEF,UAAU,4BAA4B;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;CACzB;AAwBD,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,gBAAgB,EAChB,MAAW,GACZ,EAAE,4BAA4B,+BAssB9B"}
1
+ {"version":3,"file":"NetworkCopySettingsView.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkCopySettingsView.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,MAAM,WAAW,YAAY;IAE3B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IAGvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,OAAO,CAAC;IAGhC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAGtC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;IAG1C,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC1C;AAED,eAAO,MAAM,qBAAqB,EAAE,YAenC,CAAC;AAsEF,UAAU,4BAA4B;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;CACzB;AAwBD,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,gBAAgB,EAChB,MAAW,GACZ,EAAE,4BAA4B,+BAypB9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkListScreen.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkListScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAML,KAAK,cAAc,EAGpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA6I5D,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,YAAY,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,MAAM,EACN,MAAM,EACN,eAAe,EACf,KAAK,EACL,UAAU,EACV,YAAY,EACZ,cAAc,GACf,EAAE,sBAAsB,sCA6LxB"}
1
+ {"version":3,"file":"NetworkListScreen.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkListScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAML,KAAK,cAAc,EAIpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA6I5D,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,YAAY,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,MAAM,EACN,MAAM,EACN,eAAe,EACf,KAAK,EACL,UAAU,EACV,YAAY,EACZ,cAAc,GACf,EAAE,sBAAsB,sCAsLxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkModal.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkModal.tsx"],"names":[],"mappings":"AAwEA,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AA+4BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,+BAMpD;AAED,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE,oBAAyB,+BAa/D"}
1
+ {"version":3,"file":"NetworkModal.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkModal.tsx"],"names":[],"mappings":"AAwEA,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AA81BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,+BAMpD;AAED,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE,oBAAyB,+BAa/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkSavedScreen.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkSavedScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQ9D,UAAU,uBAAuB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,wEAAwE;IACxE,YAAY,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,KAAK,EACL,YAAY,EACZ,MAAM,EAAE,UAAU,EAClB,cAAc,EACd,YAAY,EACZ,cAAc,GACf,EAAE,uBAAuB,sCAgJzB"}
1
+ {"version":3,"file":"NetworkSavedScreen.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkSavedScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAeH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQ9D,UAAU,uBAAuB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,wEAAwE;IACxE,YAAY,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,KAAK,EACL,YAAY,EACZ,MAAM,EAAE,UAAU,EAClB,cAAc,EACd,YAAY,EACZ,cAAc,GACf,EAAE,uBAAuB,sCA6IzB"}
@@ -51,16 +51,10 @@ export declare const networkToolPreset: {
51
51
  * });
52
52
  * ```
53
53
  */
54
- export declare function createNetworkTool(options?: {
55
- /** Tool name (default: "NET") */
56
- name?: string;
57
- /** Tool description */
58
- description?: string;
59
- /** Custom tool ID (default: "network") */
60
- id?: string;
54
+ export declare const createNetworkTool: (options?: ({
61
55
  /** Enable shared modal dimensions */
62
56
  enableSharedModalDimensions?: boolean;
63
- }): {
57
+ } & import("@buoy-gg/shared-ui").ToolPresetOverrides) | undefined) => {
64
58
  id: string;
65
59
  name: string;
66
60
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/preset.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAqCjE;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;qBAKX;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;;;CAKlC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAC1C,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;;;;;qBAMoB;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;;;EASpC"}
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/preset.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAqCjE;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;qBAKX;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;;;CAKjC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB;IAG1B,qCAAqC;kCACP,OAAO;;;;;;qBA1BtB;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;;;CA8BlC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/network",
3
- "version": "7.0.33",
3
+ "version": "7.0.34",
4
4
  "description": "In-app network inspector for React Native — requests, responses, timing & errors live, with GraphQL operation parsing. Part of Buoy devtools.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
- "@buoy-gg/shared-ui": "^7.0.33"
29
+ "@buoy-gg/shared-ui": "^7.0.34"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "react": "*",