react-native-inapp-inspector 2.3.15 → 2.3.16

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.
Files changed (96) hide show
  1. package/README.md +1 -0
  2. package/dist/commonjs/components/Inspector/AnalyticsTab.js +0 -22
  3. package/dist/commonjs/components/Inspector/ConsoleTab.js +0 -22
  4. package/dist/commonjs/components/Inspector/CrashTab.js +0 -23
  5. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +7 -0
  6. package/dist/commonjs/components/Inspector/FeedbackModal.js +552 -0
  7. package/dist/commonjs/components/Inspector/InspectorHeader.js +56 -4
  8. package/dist/commonjs/components/Inspector/MainScreen.js +45 -3
  9. package/dist/commonjs/components/Inspector/NetworkTab.js +27 -38
  10. package/dist/commonjs/components/Inspector/NpmStarPrompt.d.ts +3 -0
  11. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +494 -0
  12. package/dist/commonjs/components/Inspector/PerformanceTab.js +8 -1
  13. package/dist/commonjs/components/Inspector/ReduxTab.js +0 -22
  14. package/dist/commonjs/components/Inspector/SettingsPanel.js +1035 -173
  15. package/dist/commonjs/components/Inspector/StorageTab.js +0 -23
  16. package/dist/commonjs/components/Inspector/TabBar.js +50 -15
  17. package/dist/commonjs/components/NetworkIcons.d.ts +5 -0
  18. package/dist/commonjs/components/NetworkIcons.js +33 -2
  19. package/dist/commonjs/constants/version.d.ts +1 -1
  20. package/dist/commonjs/constants/version.js +1 -1
  21. package/dist/commonjs/helpers/index.d.ts +1 -0
  22. package/dist/commonjs/helpers/index.js +1 -0
  23. package/dist/commonjs/helpers/remoteConfig.d.ts +4 -0
  24. package/dist/commonjs/helpers/remoteConfig.js +165 -0
  25. package/dist/commonjs/helpers/searchQueryParser.js +2 -0
  26. package/dist/commonjs/helpers/telemetry.d.ts +5 -0
  27. package/dist/commonjs/helpers/telemetry.js +339 -8
  28. package/dist/commonjs/index.d.ts +1 -0
  29. package/dist/commonjs/index.js +32 -2
  30. package/dist/commonjs/styles/AppFonts.d.ts +2 -0
  31. package/dist/commonjs/styles/AppFonts.js +1 -0
  32. package/dist/commonjs/styles/index.d.ts +22 -0
  33. package/dist/commonjs/styles/index.js +19 -0
  34. package/dist/commonjs/types/enums.d.ts +1 -0
  35. package/dist/commonjs/types/enums.js +1 -0
  36. package/dist/commonjs/types/interfaces.d.ts +12 -0
  37. package/dist/esm/components/Inspector/AnalyticsTab.js +1 -23
  38. package/dist/esm/components/Inspector/ConsoleTab.js +1 -23
  39. package/dist/esm/components/Inspector/CrashTab.js +1 -24
  40. package/dist/esm/components/Inspector/FeedbackModal.d.ts +7 -0
  41. package/dist/esm/components/Inspector/FeedbackModal.js +515 -0
  42. package/dist/esm/components/Inspector/InspectorHeader.js +57 -5
  43. package/dist/esm/components/Inspector/MainScreen.js +46 -4
  44. package/dist/esm/components/Inspector/NetworkTab.js +28 -39
  45. package/dist/esm/components/Inspector/NpmStarPrompt.d.ts +3 -0
  46. package/dist/esm/components/Inspector/NpmStarPrompt.js +454 -0
  47. package/dist/esm/components/Inspector/PerformanceTab.js +8 -1
  48. package/dist/esm/components/Inspector/ReduxTab.js +1 -23
  49. package/dist/esm/components/Inspector/SettingsPanel.js +1038 -176
  50. package/dist/esm/components/Inspector/StorageTab.js +0 -23
  51. package/dist/esm/components/Inspector/TabBar.js +50 -15
  52. package/dist/esm/components/NetworkIcons.d.ts +5 -0
  53. package/dist/esm/components/NetworkIcons.js +26 -0
  54. package/dist/esm/constants/version.d.ts +1 -1
  55. package/dist/esm/constants/version.js +1 -1
  56. package/dist/esm/helpers/index.d.ts +1 -0
  57. package/dist/esm/helpers/index.js +1 -0
  58. package/dist/esm/helpers/remoteConfig.d.ts +4 -0
  59. package/dist/esm/helpers/remoteConfig.js +160 -0
  60. package/dist/esm/helpers/searchQueryParser.js +2 -0
  61. package/dist/esm/helpers/telemetry.d.ts +5 -0
  62. package/dist/esm/helpers/telemetry.js +332 -9
  63. package/dist/esm/index.d.ts +1 -0
  64. package/dist/esm/index.js +30 -2
  65. package/dist/esm/styles/AppFonts.d.ts +2 -0
  66. package/dist/esm/styles/AppFonts.js +1 -0
  67. package/dist/esm/styles/index.d.ts +22 -0
  68. package/dist/esm/styles/index.js +19 -0
  69. package/dist/esm/types/enums.d.ts +1 -0
  70. package/dist/esm/types/enums.js +1 -0
  71. package/dist/esm/types/interfaces.d.ts +12 -0
  72. package/package.json +1 -1
  73. package/src/components/Inspector/AnalyticsTab.tsx +0 -23
  74. package/src/components/Inspector/ConsoleTab.tsx +0 -23
  75. package/src/components/Inspector/CrashTab.tsx +0 -23
  76. package/src/components/Inspector/FeedbackModal.tsx +626 -0
  77. package/src/components/Inspector/InspectorHeader.tsx +78 -2
  78. package/src/components/Inspector/MainScreen.tsx +59 -3
  79. package/src/components/Inspector/NetworkTab.tsx +69 -78
  80. package/src/components/Inspector/NpmStarPrompt.tsx +532 -0
  81. package/src/components/Inspector/PerformanceTab.tsx +8 -1
  82. package/src/components/Inspector/ReduxTab.tsx +0 -23
  83. package/src/components/Inspector/SettingsPanel.tsx +1162 -197
  84. package/src/components/Inspector/StorageTab.tsx +0 -23
  85. package/src/components/Inspector/TabBar.tsx +57 -20
  86. package/src/components/NetworkIcons.tsx +92 -0
  87. package/src/constants/version.ts +1 -1
  88. package/src/helpers/index.ts +1 -0
  89. package/src/helpers/remoteConfig.ts +212 -0
  90. package/src/helpers/searchQueryParser.ts +3 -0
  91. package/src/helpers/telemetry.ts +381 -10
  92. package/src/index.tsx +42 -0
  93. package/src/styles/AppFonts.ts +2 -0
  94. package/src/styles/index.ts +20 -1
  95. package/src/types/enums.ts +1 -0
  96. package/src/types/interfaces.ts +12 -0
@@ -52,7 +52,7 @@ const NativeInspector_1 = require("../../native/NativeInspector");
52
52
  const UpdateAvailableModal_1 = require("./UpdateAvailableModal");
53
53
  const NetworkIcons_1 = require("../NetworkIcons");
54
54
  const InspectorHeader = react_1.default.memo(() => {
55
- const { modalHeightPercent, appIcon, selected, setSelected, selectedEvent, setSelectedEvent, selectedLog, setSelectedLog, selectedReduxSlice, setSelectedReduxSlice, selectedReduxAction, setSelectedReduxAction, reduxState, reduxLastActionMap, showHeaderInfo, setShowHeaderInfo, updateAvailable, latestNpmVersion, clearAnim, activePulseAnim, unreadPulseAnim, runClearAllWithAnimation, settingsPage, setSettingsPage, resetToDefaults, closeModal, detailTitle, activeTab, environment, visible, selectedCrash, setSelectedCrash, } = (0, InspectorContext_1.useInspector)();
55
+ const { modalHeightPercent, appIcon, selected, setSelected, selectedEvent, setSelectedEvent, selectedLog, setSelectedLog, selectedReduxSlice, setSelectedReduxSlice, selectedReduxAction, setSelectedReduxAction, reduxState, reduxLastActionMap, showHeaderInfo, setShowHeaderInfo, updateAvailable, latestNpmVersion, clearAnim, activePulseAnim, unreadPulseAnim, runClearAllWithAnimation, settingsPage, setSettingsPage, setSettingsActiveSubTab, isFeedbackOpen, setIsFeedbackOpen, resetToDefaults, closeModal, detailTitle, activeTab, environment, visible, selectedCrash, setSelectedCrash, } = (0, InspectorContext_1.useInspector)();
56
56
  const { width: windowWidth } = (0, react_native_1.useWindowDimensions)();
57
57
  const isNarrow = windowWidth < 360;
58
58
  const isCompact = windowWidth < 400;
@@ -113,7 +113,7 @@ const InspectorHeader = react_1.default.memo(() => {
113
113
  (selectedReduxSlice != null || selectedReduxAction != null)) ||
114
114
  (activeTab === 'crash' && selectedCrash != null);
115
115
  const isSettingsView = settingsPage !== null;
116
- const isAnySelected = isDetailView || isSettingsView;
116
+ const isAnySelected = isDetailView || isSettingsView || isFeedbackOpen;
117
117
  const settingsModuleTitle = (0, react_1.useMemo)(() => {
118
118
  switch (settingsPage) {
119
119
  case 'apis':
@@ -159,6 +159,10 @@ const InspectorHeader = react_1.default.memo(() => {
159
159
  },
160
160
  ]}>
161
161
  <TouchableScale_1.default onPress={() => {
162
+ if (isFeedbackOpen) {
163
+ setIsFeedbackOpen(false);
164
+ return;
165
+ }
162
166
  if (isSettingsView) {
163
167
  if (settingsPage === 'main') {
164
168
  setSettingsPage(null);
@@ -199,7 +203,41 @@ const InspectorHeader = react_1.default.memo(() => {
199
203
  <NetworkIcons_1.WhiteBackNavigation />
200
204
  </TouchableScale_1.default>
201
205
 
202
- {isSettingsView ? (<react_native_1.View style={{ gap: 2, flex: 1, minWidth: 0 }}>
206
+ {isFeedbackOpen ? (<react_native_1.View style={{ gap: 2, flex: 1, minWidth: 0 }}>
207
+ <react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
208
+ <react_native_1.Text style={{
209
+ fontFamily: AppFonts_1.AppFonts.interBold,
210
+ fontSize: isNarrow ? 14 : 16,
211
+ color: AppColors_1.AppColors.white,
212
+ letterSpacing: -0.2,
213
+ }} numberOfLines={1}>
214
+ Support & Feedback
215
+ </react_native_1.Text>
216
+ <react_native_1.View style={{
217
+ backgroundColor: `${AppColors_1.AppColors.white}26`,
218
+ paddingHorizontal: isNarrow ? 4 : 6,
219
+ paddingVertical: 1.5,
220
+ borderRadius: 10,
221
+ borderWidth: 1,
222
+ borderColor: `${AppColors_1.AppColors.white}20`,
223
+ }}>
224
+ <react_native_1.Text style={{
225
+ fontFamily: AppFonts_1.AppFonts.interBold,
226
+ fontSize: isNarrow ? 8 : 9,
227
+ color: AppColors_1.AppColors.white,
228
+ }}>
229
+ v{constants_2.LIB_VERSION}
230
+ </react_native_1.Text>
231
+ </react_native_1.View>
232
+ </react_native_1.View>
233
+ <react_native_1.Text style={{
234
+ fontFamily: AppFonts_1.AppFonts.interRegular,
235
+ fontSize: isNarrow ? 9.5 : 10.5,
236
+ color: `${AppColors_1.AppColors.white}CC`,
237
+ }} numberOfLines={1}>
238
+ Direct line to maintainers & developers
239
+ </react_native_1.Text>
240
+ </react_native_1.View>) : isSettingsView ? (<react_native_1.View style={{ gap: 2, flex: 1, minWidth: 0 }}>
203
241
  <react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
204
242
  <react_native_1.Text style={{
205
243
  fontFamily: AppFonts_1.AppFonts.interBold,
@@ -791,7 +829,7 @@ const InspectorHeader = react_1.default.memo(() => {
791
829
  </react_native_1.Animated.View>
792
830
  </TouchableScale_1.default>)}
793
831
 
794
- {!isAnySelected && (<TouchableScale_1.default onPress={() => setSettingsPage('main')} hitSlop={15} style={[
832
+ {!isAnySelected && (<TouchableScale_1.default accessible={true} accessibilityRole="button" accessibilityLabel="Settings" onPress={() => setSettingsPage('main')} hitSlop={15} style={[
795
833
  styles_1.default.closeButtonSquare,
796
834
  {
797
835
  width: buttonSize,
@@ -802,6 +840,20 @@ const InspectorHeader = react_1.default.memo(() => {
802
840
  <NetworkIcons_1.SettingsIcon color={AppColors_1.AppColors.white} size={isNarrow ? 12 : 14}/>
803
841
  </TouchableScale_1.default>)}
804
842
 
843
+ {!isAnySelected && (<TouchableScale_1.default accessible={true} accessibilityRole="button" accessibilityLabel="About and System Specifications" onPress={() => {
844
+ setSettingsActiveSubTab('about');
845
+ setSettingsPage('main');
846
+ }} hitSlop={15} style={[
847
+ styles_1.default.closeButtonSquare,
848
+ {
849
+ width: buttonSize,
850
+ height: buttonSize,
851
+ borderRadius: isNarrow ? 6 : 7,
852
+ },
853
+ ]}>
854
+ <NetworkIcons_1.InfoCircleIcon color={AppColors_1.AppColors.white} size={isNarrow ? 12 : 14}/>
855
+ </TouchableScale_1.default>)}
856
+
805
857
  <react_native_1.TouchableOpacity onPress={closeModal} hitSlop={{ top: 12, bottom: 12, left: 12, right: 12 }} activeOpacity={0.6} style={[
806
858
  styles_1.default.closeButtonSquare,
807
859
  {
@@ -60,13 +60,16 @@ const StorageTab_1 = __importDefault(require("./StorageTab"));
60
60
  const DebuggingTab_1 = __importDefault(require("./DebuggingTab"));
61
61
  const SettingsPanel_1 = __importDefault(require("./SettingsPanel"));
62
62
  const NpmUpdateToast_1 = __importDefault(require("./NpmUpdateToast"));
63
+ const NpmStarPrompt_1 = __importDefault(require("./NpmStarPrompt"));
64
+ const FeedbackModal_1 = __importDefault(require("./FeedbackModal"));
63
65
  const Toast_1 = __importDefault(require("../Toast"));
66
+ const NetworkIcons_1 = require("../NetworkIcons");
64
67
  const styles_1 = __importDefault(require("../../styles"));
65
68
  const AppColors_1 = require("../../styles/AppColors");
66
69
  const NavigationTracker_1 = __importDefault(require("./NavigationTracker"));
67
70
  const helpers_1 = require("../../helpers");
68
71
  const MainScreen = () => {
69
- const { visible, modalAnimationType, closeModal, modalHeightPercent, selected, selectedEvent, selectedLog, selectedReduxSlice, selectedReduxAction, selectedCrash, settingsPage, activeTab, isReady, enabled, useNativeFab, hasNavigationContext, setNavState, } = (0, InspectorContext_1.useInspector)();
72
+ const { visible, modalAnimationType, closeModal, modalHeightPercent, selected, selectedEvent, selectedLog, selectedReduxSlice, selectedReduxAction, selectedCrash, settingsPage, isFeedbackOpen, setIsFeedbackOpen, activeTab, isReady, enabled, useNativeFab, hasNavigationContext, setNavState, } = (0, InspectorContext_1.useInspector)();
70
73
  const isDetailActive = (activeTab === 'apis' && selected != null) ||
71
74
  (activeTab === 'analytics' && selectedEvent != null) ||
72
75
  (activeTab === 'logs' && selectedLog != null) ||
@@ -96,6 +99,18 @@ const MainScreen = () => {
96
99
  }).start();
97
100
  }
98
101
  }, [settingsPage !== null]);
102
+ const feedbackAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(0)).current;
103
+ (0, react_1.useEffect)(() => {
104
+ if (isFeedbackOpen) {
105
+ feedbackAnim.setValue(0);
106
+ react_native_1.Animated.spring(feedbackAnim, {
107
+ toValue: 1,
108
+ friction: 8,
109
+ tension: 65,
110
+ useNativeDriver: true,
111
+ }).start();
112
+ }
113
+ }, [isFeedbackOpen]);
99
114
  const tabAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(1)).current;
100
115
  (0, react_1.useEffect)(() => {
101
116
  tabAnim.setValue(0);
@@ -128,7 +143,7 @@ const MainScreen = () => {
128
143
 
129
144
  <react_native_1.View style={{ flex: 1 }}>
130
145
 
131
- {!isDetailActive && <TabBar_1.default />}
146
+ {!isDetailActive && settingsPage === null && !isFeedbackOpen && <TabBar_1.default />}
132
147
 
133
148
  {isReady ? (<react_native_1.View style={{ flex: 1 }}>
134
149
 
@@ -145,7 +160,7 @@ const MainScreen = () => {
145
160
  },
146
161
  ],
147
162
  },
148
- (isDetailActive || settingsPage !== null) && {
163
+ (isDetailActive || settingsPage !== null || isFeedbackOpen) && {
149
164
  pointerEvents: 'none',
150
165
  },
151
166
  ]}>
@@ -205,6 +220,30 @@ const MainScreen = () => {
205
220
  ]}>
206
221
  <SettingsPanel_1.default />
207
222
  </react_native_1.Animated.View>)}
223
+
224
+
225
+ {isFeedbackOpen && (<react_native_1.Animated.View style={[
226
+ react_native_1.StyleSheet.absoluteFill,
227
+ {
228
+ backgroundColor: AppColors_1.AppColors.primaryLight,
229
+ opacity: feedbackAnim,
230
+ transform: [
231
+ {
232
+ translateY: feedbackAnim.interpolate({
233
+ inputRange: [0, 1],
234
+ outputRange: [24, 0],
235
+ }),
236
+ },
237
+ ],
238
+ },
239
+ ]}>
240
+ <FeedbackModal_1.default onClose={() => setIsFeedbackOpen(false)}/>
241
+ </react_native_1.Animated.View>)}
242
+
243
+
244
+ {!isDetailActive && settingsPage === null && !isFeedbackOpen && (<react_native_1.TouchableOpacity activeOpacity={0.8} onPress={() => setIsFeedbackOpen(true)} hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }} style={styles_1.default.supportFab}>
245
+ <NetworkIcons_1.HeadphonesIcon color={AppColors_1.AppColors.white} size={20}/>
246
+ </react_native_1.TouchableOpacity>)}
208
247
  </react_native_1.View>
209
248
 
210
249
 
@@ -212,6 +251,9 @@ const MainScreen = () => {
212
251
 
213
252
 
214
253
  <NpmUpdateToast_1.default />
254
+
255
+
256
+ <NpmStarPrompt_1.default />
215
257
  </react_native_1.View>
216
258
  </react_native_1.View>
217
259
  </ErrorBoundary_1.default>
@@ -394,12 +394,18 @@ const NetworkTab = react_1.default.memo(() => {
394
394
  </react_native_1.View>
395
395
 
396
396
 
397
- <react_native_1.View style={{ marginBottom: 8 }}>
398
- <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={{
397
+ <react_native_1.View style={{
398
+ flexDirection: 'row',
399
+ alignItems: 'center',
400
+ marginBottom: 8,
399
401
  paddingHorizontal: 12,
402
+ gap: 6,
403
+ }}>
404
+ <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} style={{ flex: 1 }} contentContainerStyle={{
400
405
  flexDirection: 'row',
401
406
  alignItems: 'center',
402
407
  gap: 6,
408
+ paddingRight: 6,
403
409
  }}>
404
410
  {QUICK_CHIPS.map(chip => {
405
411
  const isActive = quickFilter === chip.id;
@@ -458,9 +464,10 @@ const NetworkTab = react_1.default.memo(() => {
458
464
  </react_native_1.View>
459
465
  </TouchableScale_1.default>);
460
466
  })}
467
+ </react_native_1.ScrollView>
461
468
 
462
- <TouchableScale_1.default onPress={() => setIsFilterModalOpen(true)}>
463
- <react_native_1.View style={{
469
+ <TouchableScale_1.default onPress={() => setIsFilterModalOpen(true)} style={{ flexShrink: 0 }}>
470
+ <react_native_1.View style={{
464
471
  flexDirection: 'row',
465
472
  alignItems: 'center',
466
473
  paddingHorizontal: 10,
@@ -474,36 +481,40 @@ const NetworkTab = react_1.default.memo(() => {
474
481
  ? AppColors_1.AppColors.purple
475
482
  : AppColors_1.AppColors.grayBorderSecondary,
476
483
  gap: 5,
484
+ shadowColor: AppColors_1.AppColors.black,
485
+ shadowOpacity: 0.04,
486
+ shadowRadius: 2,
487
+ shadowOffset: { width: 0, height: 1 },
488
+ elevation: 1,
477
489
  }}>
478
- <NetworkIcons_1.FilterIcon size={11} color={statusFilters.size > 0 || methodFilters.size > 0
490
+ <NetworkIcons_1.FilterIcon size={11} color={statusFilters.size > 0 || methodFilters.size > 0
479
491
  ? AppColors_1.AppColors.purple
480
492
  : AppColors_1.AppColors.grayText}/>
481
- <react_native_1.Text style={{
493
+ <react_native_1.Text style={{
482
494
  fontFamily: AppFonts_1.AppFonts.interBold,
483
495
  fontSize: 10.5,
484
496
  color: statusFilters.size > 0 || methodFilters.size > 0
485
497
  ? AppColors_1.AppColors.purple
486
498
  : AppColors_1.AppColors.grayText,
487
499
  }}>
488
- More Filters
489
- </react_native_1.Text>
490
- {(statusFilters.size > 0 || methodFilters.size > 0) && (<react_native_1.View style={{
500
+ More Filters
501
+ </react_native_1.Text>
502
+ {(statusFilters.size > 0 || methodFilters.size > 0) && (<react_native_1.View style={{
491
503
  backgroundColor: AppColors_1.AppColors.purple,
492
504
  paddingHorizontal: 4.5,
493
505
  paddingVertical: 1,
494
506
  borderRadius: 6,
495
507
  }}>
496
- <react_native_1.Text style={{
508
+ <react_native_1.Text style={{
497
509
  fontFamily: AppFonts_1.AppFonts.interBold,
498
510
  fontSize: 8.5,
499
511
  color: AppColors_1.AppColors.white,
500
512
  }}>
501
- {statusFilters.size + methodFilters.size}
502
- </react_native_1.Text>
503
- </react_native_1.View>)}
504
- </react_native_1.View>
505
- </TouchableScale_1.default>
506
- </react_native_1.ScrollView>
513
+ {statusFilters.size + methodFilters.size}
514
+ </react_native_1.Text>
515
+ </react_native_1.View>)}
516
+ </react_native_1.View>
517
+ </TouchableScale_1.default>
507
518
  </react_native_1.View>
508
519
 
509
520
 
@@ -561,28 +572,6 @@ const NetworkTab = react_1.default.memo(() => {
561
572
  styles_1.default.listContent,
562
573
  filteredLogs.length === 0 && { flexGrow: 1 },
563
574
  ]} keyboardShouldPersistTaps="handled"/>
564
-
565
- <TouchableScale_1.default onPress={() => {
566
- try {
567
- apisListRef.current?.scrollToOffset({
568
- offset: 0,
569
- animated: true,
570
- });
571
- }
572
- catch {
573
- try {
574
- apisListRef.current?.scrollToIndex({
575
- index: 0,
576
- animated: true,
577
- });
578
- }
579
- catch { }
580
- }
581
- }} hitSlop={12} style={styles_1.default.scrollTopBtn}>
582
- <react_native_1.View style={{ transform: [{ rotate: '180deg' }] }}>
583
- <NetworkIcons_1.ChevronIcon color={AppColors_1.AppColors.white} size={18}/>
584
- </react_native_1.View>
585
- </TouchableScale_1.default>
586
575
 
587
576
 
588
577
  <NetworkFilterModal_1.default visible={isFilterModalOpen} onClose={() => setIsFilterModalOpen(false)} filters={modalFilterState} onApply={handleApplyNetworkFilters} searchQuery={search}/>
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const NpmStarPrompt: React.FC;
3
+ export default NpmStarPrompt;