@buoy-gg/highlight-updates 7.0.41 → 7.0.42

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 (108) hide show
  1. package/README.md +11 -71
  2. package/lib/commonjs/highlight-updates/HighlightUpdatesOverlay.js +1 -281
  3. package/lib/commonjs/highlight-updates/components/HighlightFilterView.js +1 -1474
  4. package/lib/commonjs/highlight-updates/components/HighlightUpdatesModal.js +1 -641
  5. package/lib/commonjs/highlight-updates/components/IdentifierBadge.js +1 -273
  6. package/lib/commonjs/highlight-updates/components/IsolatedRenderList.js +1 -188
  7. package/lib/commonjs/highlight-updates/components/ModalHeaderContent.js +1 -293
  8. package/lib/commonjs/highlight-updates/components/RenderCauseBadge.js +1 -508
  9. package/lib/commonjs/highlight-updates/components/RenderDetailView.js +1 -846
  10. package/lib/commonjs/highlight-updates/components/RenderHistoryViewer.js +1 -915
  11. package/lib/commonjs/highlight-updates/components/RenderListItem.js +1 -235
  12. package/lib/commonjs/highlight-updates/components/RendersCopySettingsView.js +1 -469
  13. package/lib/commonjs/highlight-updates/components/StatsDisplay.js +1 -73
  14. package/lib/commonjs/highlight-updates/types/copySettings.js +1 -107
  15. package/lib/commonjs/highlight-updates/utils/CommitProfiler.js +1 -455
  16. package/lib/commonjs/highlight-updates/utils/HighlightUpdatesController.js +1 -1929
  17. package/lib/commonjs/highlight-updates/utils/PerformanceLogger.js +26 -359
  18. package/lib/commonjs/highlight-updates/utils/ProfilerInterceptor.js +1 -371
  19. package/lib/commonjs/highlight-updates/utils/RenderCauseDetector.js +5 -1840
  20. package/lib/commonjs/highlight-updates/utils/RenderTracker.js +1 -952
  21. package/lib/commonjs/highlight-updates/utils/ViewTypeMapper.js +1 -264
  22. package/lib/commonjs/highlight-updates/utils/copySettingsStorage.js +1 -32
  23. package/lib/commonjs/highlight-updates/utils/devtoolsComponentNames.js +1 -188
  24. package/lib/commonjs/highlight-updates/utils/namedComposite.js +1 -41
  25. package/lib/commonjs/highlight-updates/utils/ownStateChanged.js +1 -103
  26. package/lib/commonjs/highlight-updates/utils/rawEventEmitter.js +1 -50
  27. package/lib/commonjs/highlight-updates/utils/rawEventEmitter.web.js +1 -12
  28. package/lib/commonjs/highlight-updates/utils/renderExportFormatter.js +1 -58
  29. package/lib/commonjs/highlight-updates/utils/rendersExportFormatter.js +1 -485
  30. package/lib/commonjs/highlight-updates/utils/screenElements.js +1 -1269
  31. package/lib/commonjs/highlight-updates/utils/tapMatch.js +1 -83
  32. package/lib/commonjs/highlight-updates/utils/testIDs.js +1 -68
  33. package/lib/commonjs/highlight-updates/utils/touchCapture.js +1 -277
  34. package/lib/commonjs/index.js +1 -429
  35. package/lib/commonjs/preset.js +1 -278
  36. package/lib/commonjs/sync/highlightUpdatesSyncAdapter.js +1 -235
  37. package/lib/module/highlight-updates/HighlightUpdatesOverlay.js +1 -274
  38. package/lib/module/highlight-updates/components/HighlightFilterView.js +1 -1468
  39. package/lib/module/highlight-updates/components/HighlightUpdatesModal.js +1 -634
  40. package/lib/module/highlight-updates/components/IdentifierBadge.js +1 -265
  41. package/lib/module/highlight-updates/components/IsolatedRenderList.js +1 -183
  42. package/lib/module/highlight-updates/components/ModalHeaderContent.js +1 -288
  43. package/lib/module/highlight-updates/components/RenderCauseBadge.js +1 -499
  44. package/lib/module/highlight-updates/components/RenderDetailView.js +1 -840
  45. package/lib/module/highlight-updates/components/RenderHistoryViewer.js +1 -908
  46. package/lib/module/highlight-updates/components/RenderListItem.js +1 -230
  47. package/lib/module/highlight-updates/components/RendersCopySettingsView.js +1 -465
  48. package/lib/module/highlight-updates/components/StatsDisplay.js +1 -70
  49. package/lib/module/highlight-updates/types/copySettings.js +1 -102
  50. package/lib/module/highlight-updates/utils/CommitProfiler.js +1 -451
  51. package/lib/module/highlight-updates/utils/HighlightUpdatesController.js +1 -1925
  52. package/lib/module/highlight-updates/utils/PerformanceLogger.js +26 -353
  53. package/lib/module/highlight-updates/utils/ProfilerInterceptor.js +1 -358
  54. package/lib/module/highlight-updates/utils/RenderCauseDetector.js +5 -1830
  55. package/lib/module/highlight-updates/utils/RenderTracker.js +1 -949
  56. package/lib/module/highlight-updates/utils/ViewTypeMapper.js +1 -255
  57. package/lib/module/highlight-updates/utils/copySettingsStorage.js +1 -26
  58. package/lib/module/highlight-updates/utils/devtoolsComponentNames.js +1 -178
  59. package/lib/module/highlight-updates/utils/namedComposite.js +1 -36
  60. package/lib/module/highlight-updates/utils/ownStateChanged.js +1 -98
  61. package/lib/module/highlight-updates/utils/rawEventEmitter.js +1 -46
  62. package/lib/module/highlight-updates/utils/rawEventEmitter.web.js +1 -3
  63. package/lib/module/highlight-updates/utils/renderExportFormatter.js +1 -54
  64. package/lib/module/highlight-updates/utils/rendersExportFormatter.js +1 -478
  65. package/lib/module/highlight-updates/utils/screenElements.js +1 -1263
  66. package/lib/module/highlight-updates/utils/tapMatch.js +1 -76
  67. package/lib/module/highlight-updates/utils/testIDs.js +1 -60
  68. package/lib/module/highlight-updates/utils/touchCapture.js +1 -270
  69. package/lib/module/index.js +1 -130
  70. package/lib/module/preset.js +1 -272
  71. package/lib/module/sync/highlightUpdatesSyncAdapter.js +1 -230
  72. package/lib/web/index.mjs +28 -29
  73. package/package.json +7 -7
  74. package/lib/typescript/highlight-updates/HighlightUpdatesOverlay.d.ts.map +0 -1
  75. package/lib/typescript/highlight-updates/components/HighlightFilterView.d.ts.map +0 -1
  76. package/lib/typescript/highlight-updates/components/HighlightUpdatesModal.d.ts.map +0 -1
  77. package/lib/typescript/highlight-updates/components/IdentifierBadge.d.ts.map +0 -1
  78. package/lib/typescript/highlight-updates/components/IsolatedRenderList.d.ts.map +0 -1
  79. package/lib/typescript/highlight-updates/components/ModalHeaderContent.d.ts.map +0 -1
  80. package/lib/typescript/highlight-updates/components/RenderCauseBadge.d.ts.map +0 -1
  81. package/lib/typescript/highlight-updates/components/RenderDetailView.d.ts.map +0 -1
  82. package/lib/typescript/highlight-updates/components/RenderHistoryViewer.d.ts.map +0 -1
  83. package/lib/typescript/highlight-updates/components/RenderListItem.d.ts.map +0 -1
  84. package/lib/typescript/highlight-updates/components/RendersCopySettingsView.d.ts.map +0 -1
  85. package/lib/typescript/highlight-updates/components/StatsDisplay.d.ts.map +0 -1
  86. package/lib/typescript/highlight-updates/types/copySettings.d.ts.map +0 -1
  87. package/lib/typescript/highlight-updates/utils/CommitProfiler.d.ts.map +0 -1
  88. package/lib/typescript/highlight-updates/utils/HighlightUpdatesController.d.ts.map +0 -1
  89. package/lib/typescript/highlight-updates/utils/PerformanceLogger.d.ts.map +0 -1
  90. package/lib/typescript/highlight-updates/utils/ProfilerInterceptor.d.ts.map +0 -1
  91. package/lib/typescript/highlight-updates/utils/RenderCauseDetector.d.ts.map +0 -1
  92. package/lib/typescript/highlight-updates/utils/RenderTracker.d.ts.map +0 -1
  93. package/lib/typescript/highlight-updates/utils/ViewTypeMapper.d.ts.map +0 -1
  94. package/lib/typescript/highlight-updates/utils/copySettingsStorage.d.ts.map +0 -1
  95. package/lib/typescript/highlight-updates/utils/devtoolsComponentNames.d.ts.map +0 -1
  96. package/lib/typescript/highlight-updates/utils/namedComposite.d.ts.map +0 -1
  97. package/lib/typescript/highlight-updates/utils/ownStateChanged.d.ts.map +0 -1
  98. package/lib/typescript/highlight-updates/utils/rawEventEmitter.d.ts.map +0 -1
  99. package/lib/typescript/highlight-updates/utils/rawEventEmitter.web.d.ts.map +0 -1
  100. package/lib/typescript/highlight-updates/utils/renderExportFormatter.d.ts.map +0 -1
  101. package/lib/typescript/highlight-updates/utils/rendersExportFormatter.d.ts.map +0 -1
  102. package/lib/typescript/highlight-updates/utils/screenElements.d.ts.map +0 -1
  103. package/lib/typescript/highlight-updates/utils/tapMatch.d.ts.map +0 -1
  104. package/lib/typescript/highlight-updates/utils/testIDs.d.ts.map +0 -1
  105. package/lib/typescript/highlight-updates/utils/touchCapture.d.ts.map +0 -1
  106. package/lib/typescript/index.d.ts.map +0 -1
  107. package/lib/typescript/preset.d.ts.map +0 -1
  108. package/lib/typescript/sync/highlightUpdatesSyncAdapter.d.ts.map +0 -1
@@ -1,264 +1 @@
1
- /**
2
- * ViewTypeMapper
3
- *
4
- * Maps native view class names (e.g., "RCTView", "RCTText") to their
5
- * developer-friendly React Native component names (e.g., "View", "Text").
6
- *
7
- * This makes the render tracking UI more understandable since developers
8
- * work with component names, not native class names.
9
- *
10
- * Sources:
11
- * - React Native core: packages/react-native/Libraries/Components/*
12
- * - React Native Android: ReactAndroid/src/main/java/com/facebook/react/views/*
13
- * - FabricNameComponentMapping.kt
14
- * - Common third-party libraries (react-native-svg, gesture-handler, etc.)
15
- */
16
-
17
- "use strict";
18
-
19
- /**
20
- * Mapping from native view class names to React component names.
21
- *
22
- * Format: { "NativeClassName": "ComponentName" }
23
- */
24
- Object.defineProperty(exports, "__esModule", {
25
- value: true
26
- });
27
- exports.default = exports.VIEW_TYPE_MAP = void 0;
28
- exports.getAllComponentNames = getAllComponentNames;
29
- exports.getAllNativeViewTypes = getAllNativeViewTypes;
30
- exports.getComponentDisplayName = getComponentDisplayName;
31
- exports.getNativeViewType = getNativeViewType;
32
- exports.isKnownViewType = isKnownViewType;
33
- const VIEW_TYPE_MAP = exports.VIEW_TYPE_MAP = {
34
- // ==========================================================================
35
- // REACT NATIVE CORE - Views
36
- // ==========================================================================
37
- RCTView: "View",
38
- RCTSafeAreaView: "SafeAreaView",
39
- RCTModalHostView: "Modal",
40
- // ==========================================================================
41
- // REACT NATIVE CORE - Text
42
- // ==========================================================================
43
- RCTText: "Text",
44
- RCTRawText: "RawText",
45
- RCTVirtualText: "VirtualText",
46
- RCTTextInlineImage: "TextInlineImage",
47
- // ==========================================================================
48
- // REACT NATIVE CORE - Images
49
- // ==========================================================================
50
- RCTImageView: "Image",
51
- RCTImage: "Image",
52
- // ==========================================================================
53
- // REACT NATIVE CORE - ScrollView
54
- // ==========================================================================
55
- RCTScrollView: "ScrollView",
56
- RCTScrollContentView: "ScrollContentView",
57
- AndroidHorizontalScrollView: "HorizontalScrollView",
58
- AndroidHorizontalScrollContentView: "HorizontalScrollContentView",
59
- // ==========================================================================
60
- // REACT NATIVE CORE - TextInput
61
- // ==========================================================================
62
- RCTSinglelineTextInputView: "TextInput",
63
- RCTMultilineTextInputView: "TextInput (Multiline)",
64
- AndroidTextInput: "TextInput",
65
- RCTInputAccessoryView: "InputAccessoryView",
66
- // ==========================================================================
67
- // REACT NATIVE CORE - Lists (FlatList/SectionList internals)
68
- // ==========================================================================
69
- RCTRefreshControl: "RefreshControl",
70
- AndroidSwipeRefreshLayout: "RefreshControl",
71
- PullToRefreshView: "RefreshControl",
72
- // ==========================================================================
73
- // REACT NATIVE CORE - Buttons & Touchables
74
- // ==========================================================================
75
- RCTSwitch: "Switch",
76
- AndroidSwitch: "Switch",
77
- RCTSlider: "Slider",
78
- // ==========================================================================
79
- // REACT NATIVE CORE - Activity Indicators
80
- // ==========================================================================
81
- RCTActivityIndicatorView: "ActivityIndicator",
82
- AndroidProgressBar: "ActivityIndicator",
83
- // ==========================================================================
84
- // REACT NATIVE CORE - Android-specific
85
- // ==========================================================================
86
- AndroidDrawerLayout: "DrawerLayout",
87
- VirtualView: "VirtualView",
88
- VirtualViewExperimental: "VirtualView",
89
- // ==========================================================================
90
- // REACT NATIVE CORE - Debugging & Internal
91
- // ==========================================================================
92
- DebuggingOverlay: "DebuggingOverlay",
93
- LayoutConformance: "LayoutConformance",
94
- UnimplementedNativeView: "UnimplementedView",
95
- // ==========================================================================
96
- // REACT NATIVE CORE - Legacy/Deprecated
97
- // ==========================================================================
98
- RKShimmeringView: "ShimmeringView",
99
- RCTTemplateView: "TemplateView",
100
- RCTAxialGradientView: "AxialGradientView",
101
- // "RCTVideo": "Video",
102
- RCTMap: "Map",
103
- RCTWebView: "WebView",
104
- RCTKeyframes: "Keyframes",
105
- RCTImpressionTrackingView: "ImpressionTrackingView",
106
- // ==========================================================================
107
- // REACT-NATIVE-SVG
108
- // ==========================================================================
109
- RNSVGSvgView: "Svg",
110
- RNSVGGroup: "G",
111
- RNSVGPath: "Path",
112
- RNSVGText: "SvgText",
113
- RNSVGTSpan: "TSpan",
114
- RNSVGTextPath: "TextPath",
115
- RNSVGImage: "SvgImage",
116
- RNSVGCircle: "Circle",
117
- RNSVGEllipse: "Ellipse",
118
- RNSVGLine: "Line",
119
- RNSVGRect: "Rect",
120
- RNSVGClipPath: "ClipPath",
121
- RNSVGDefs: "Defs",
122
- RNSVGUse: "Use",
123
- RNSVGSymbol: "Symbol",
124
- RNSVGPattern: "Pattern",
125
- RNSVGMask: "Mask",
126
- RNSVGForeignObject: "ForeignObject",
127
- RNSVGMarker: "Marker",
128
- RNSVGLinearGradient: "LinearGradient",
129
- RNSVGRadialGradient: "RadialGradient",
130
- RNSVGFilter: "Filter",
131
- RNSVGFeBlend: "FeBlend",
132
- RNSVGFeColorMatrix: "FeColorMatrix",
133
- RNSVGFeComposite: "FeComposite",
134
- RNSVGFeFlood: "FeFlood",
135
- RNSVGFeGaussianBlur: "FeGaussianBlur",
136
- RNSVGFeMerge: "FeMerge",
137
- RNSVGFeOffset: "FeOffset",
138
- RNSVGPolygon: "Polygon",
139
- RNSVGPolyline: "Polyline",
140
- RNSVGStop: "Stop",
141
- // ==========================================================================
142
- // REACT-NATIVE-GESTURE-HANDLER
143
- // ==========================================================================
144
- RNGestureHandlerRootView: "GestureHandlerRootView",
145
- RNGestureHandlerButton: "GestureHandlerButton",
146
- // ==========================================================================
147
- // REACT-NATIVE-SAFE-AREA-CONTEXT
148
- // ==========================================================================
149
- RNCSafeAreaProvider: "SafeAreaProvider",
150
- RNCSafeAreaView: "SafeAreaView",
151
- // ==========================================================================
152
- // REACT-NATIVE-SCREENS (React Navigation)
153
- // ==========================================================================
154
- RNSScreen: "Screen",
155
- RNSScreenContainer: "ScreenContainer",
156
- RNSScreenStack: "ScreenStack",
157
- RNSScreenStackHeaderConfig: "ScreenStackHeaderConfig",
158
- RNSScreenStackHeaderSubview: "ScreenStackHeaderSubview",
159
- RNSSearchBar: "SearchBar",
160
- RNSFullWindowOverlay: "FullWindowOverlay",
161
- RNSModalScreen: "ModalScreen",
162
- // ==========================================================================
163
- // REACT-NATIVE-REANIMATED
164
- // ==========================================================================
165
- ReanimatedView: "Animated.View",
166
- // ==========================================================================
167
- // EXPO MODULES
168
- // ==========================================================================
169
- ExpoView: "ExpoView",
170
- ExpoBlurView: "BlurView",
171
- ExpoLinearGradient: "LinearGradient",
172
- ExpoImage: "ExpoImage",
173
- ExpoVideoView: "VideoView",
174
- ExpoCamera: "Camera",
175
- ExpoBarCodeScannerView: "BarCodeScanner",
176
- // ==========================================================================
177
- // REACT-NATIVE-WEBVIEW
178
- // ==========================================================================
179
- RNCWebView: "WebView",
180
- // ==========================================================================
181
- // REACT-NATIVE-MAPS
182
- // ==========================================================================
183
- AIRMap: "MapView",
184
- AIRMapMarker: "Marker",
185
- AIRMapPolyline: "Polyline",
186
- AIRMapPolygon: "Polygon",
187
- AIRMapCircle: "Circle",
188
- AIRMapCallout: "Callout",
189
- // ==========================================================================
190
- // REACT-NATIVE-VIDEO
191
- // ==========================================================================
192
- RCTVideo: "Video",
193
- // ==========================================================================
194
- // LOTTIE-REACT-NATIVE
195
- // ==========================================================================
196
- LottieAnimationView: "LottieView",
197
- // ==========================================================================
198
- // REACT-NATIVE-FAST-IMAGE
199
- // ==========================================================================
200
- FastImageView: "FastImage"
201
- };
202
-
203
- /**
204
- * Get the developer-friendly component name for a native view type.
205
- * Returns the original viewType if no mapping exists.
206
- *
207
- * @param viewType - The native view class name (e.g., "RCTView")
208
- * @returns The component name (e.g., "View")
209
- */
210
- function getComponentDisplayName(viewType) {
211
- return VIEW_TYPE_MAP[viewType] || viewType;
212
- }
213
-
214
- /**
215
- * Get the native view class name for a component name (reverse lookup).
216
- * Returns null if no mapping exists.
217
- *
218
- * @param componentName - The component name (e.g., "View")
219
- * @returns The native view class name (e.g., "RCTView") or null
220
- */
221
- function getNativeViewType(componentName) {
222
- for (const [native, display] of Object.entries(VIEW_TYPE_MAP)) {
223
- if (display === componentName) {
224
- return native;
225
- }
226
- }
227
- return null;
228
- }
229
-
230
- /**
231
- * Check if a view type is a known native component.
232
- *
233
- * @param viewType - The native view class name
234
- * @returns true if it's a known component
235
- */
236
- function isKnownViewType(viewType) {
237
- return viewType in VIEW_TYPE_MAP;
238
- }
239
-
240
- /**
241
- * Get all known view types (useful for autocomplete/suggestions).
242
- *
243
- * @returns Array of all native view class names
244
- */
245
- function getAllNativeViewTypes() {
246
- return Object.keys(VIEW_TYPE_MAP);
247
- }
248
-
249
- /**
250
- * Get all known component names (useful for autocomplete/suggestions).
251
- *
252
- * @returns Array of all component display names
253
- */
254
- function getAllComponentNames() {
255
- return [...new Set(Object.values(VIEW_TYPE_MAP))];
256
- }
257
- var _default = exports.default = {
258
- VIEW_TYPE_MAP,
259
- getComponentDisplayName,
260
- getNativeViewType,
261
- isKnownViewType,
262
- getAllNativeViewTypes,
263
- getAllComponentNames
264
- };
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.VIEW_TYPE_MAP=void 0;exports.getAllComponentNames=getAllComponentNames;exports.getAllNativeViewTypes=getAllNativeViewTypes;exports.getComponentDisplayName=getComponentDisplayName;exports.getNativeViewType=getNativeViewType;exports.isKnownViewType=isKnownViewType;const VIEW_TYPE_MAP=exports.VIEW_TYPE_MAP={RCTView:"View",RCTSafeAreaView:"SafeAreaView",RCTModalHostView:"Modal",RCTText:"Text",RCTRawText:"RawText",RCTVirtualText:"VirtualText",RCTTextInlineImage:"TextInlineImage",RCTImageView:"Image",RCTImage:"Image",RCTScrollView:"ScrollView",RCTScrollContentView:"ScrollContentView",AndroidHorizontalScrollView:"HorizontalScrollView",AndroidHorizontalScrollContentView:"HorizontalScrollContentView",RCTSinglelineTextInputView:"TextInput",RCTMultilineTextInputView:"TextInput (Multiline)",AndroidTextInput:"TextInput",RCTInputAccessoryView:"InputAccessoryView",RCTRefreshControl:"RefreshControl",AndroidSwipeRefreshLayout:"RefreshControl",PullToRefreshView:"RefreshControl",RCTSwitch:"Switch",AndroidSwitch:"Switch",RCTSlider:"Slider",RCTActivityIndicatorView:"ActivityIndicator",AndroidProgressBar:"ActivityIndicator",AndroidDrawerLayout:"DrawerLayout",VirtualView:"VirtualView",VirtualViewExperimental:"VirtualView",DebuggingOverlay:"DebuggingOverlay",LayoutConformance:"LayoutConformance",UnimplementedNativeView:"UnimplementedView",RKShimmeringView:"ShimmeringView",RCTTemplateView:"TemplateView",RCTAxialGradientView:"AxialGradientView",RCTMap:"Map",RCTWebView:"WebView",RCTKeyframes:"Keyframes",RCTImpressionTrackingView:"ImpressionTrackingView",RNSVGSvgView:"Svg",RNSVGGroup:"G",RNSVGPath:"Path",RNSVGText:"SvgText",RNSVGTSpan:"TSpan",RNSVGTextPath:"TextPath",RNSVGImage:"SvgImage",RNSVGCircle:"Circle",RNSVGEllipse:"Ellipse",RNSVGLine:"Line",RNSVGRect:"Rect",RNSVGClipPath:"ClipPath",RNSVGDefs:"Defs",RNSVGUse:"Use",RNSVGSymbol:"Symbol",RNSVGPattern:"Pattern",RNSVGMask:"Mask",RNSVGForeignObject:"ForeignObject",RNSVGMarker:"Marker",RNSVGLinearGradient:"LinearGradient",RNSVGRadialGradient:"RadialGradient",RNSVGFilter:"Filter",RNSVGFeBlend:"FeBlend",RNSVGFeColorMatrix:"FeColorMatrix",RNSVGFeComposite:"FeComposite",RNSVGFeFlood:"FeFlood",RNSVGFeGaussianBlur:"FeGaussianBlur",RNSVGFeMerge:"FeMerge",RNSVGFeOffset:"FeOffset",RNSVGPolygon:"Polygon",RNSVGPolyline:"Polyline",RNSVGStop:"Stop",RNGestureHandlerRootView:"GestureHandlerRootView",RNGestureHandlerButton:"GestureHandlerButton",RNCSafeAreaProvider:"SafeAreaProvider",RNCSafeAreaView:"SafeAreaView",RNSScreen:"Screen",RNSScreenContainer:"ScreenContainer",RNSScreenStack:"ScreenStack",RNSScreenStackHeaderConfig:"ScreenStackHeaderConfig",RNSScreenStackHeaderSubview:"ScreenStackHeaderSubview",RNSSearchBar:"SearchBar",RNSFullWindowOverlay:"FullWindowOverlay",RNSModalScreen:"ModalScreen",ReanimatedView:"Animated.View",ExpoView:"ExpoView",ExpoBlurView:"BlurView",ExpoLinearGradient:"LinearGradient",ExpoImage:"ExpoImage",ExpoVideoView:"VideoView",ExpoCamera:"Camera",ExpoBarCodeScannerView:"BarCodeScanner",RNCWebView:"WebView",AIRMap:"MapView",AIRMapMarker:"Marker",AIRMapPolyline:"Polyline",AIRMapPolygon:"Polygon",AIRMapCircle:"Circle",AIRMapCallout:"Callout",RCTVideo:"Video",LottieAnimationView:"LottieView",FastImageView:"FastImage"};function getComponentDisplayName(e){return VIEW_TYPE_MAP[e]||e}function getNativeViewType(e){for(const[i,t]of Object.entries(VIEW_TYPE_MAP)){if(t===e){return i}}return null}function isKnownViewType(e){return e in VIEW_TYPE_MAP}function getAllNativeViewTypes(){return Object.keys(VIEW_TYPE_MAP)}function getAllComponentNames(){return[...new Set(Object.values(VIEW_TYPE_MAP))]}var _default=exports.default={VIEW_TYPE_MAP,getComponentDisplayName,getNativeViewType,isKnownViewType,getAllNativeViewTypes,getAllComponentNames};
@@ -1,32 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.clearCopySettings = clearCopySettings;
7
- exports.loadCopySettings = loadCopySettings;
8
- exports.saveCopySettings = saveCopySettings;
9
- var _sharedUi = require("@buoy-gg/shared-ui");
10
- var _copySettings = require("../types/copySettings");
11
- /**
12
- * Copy Settings Storage
13
- *
14
- * Persists the highlight-updates copy/export settings through the shared
15
- * `definePersistedSetting` (merge-over-defaults, best-effort save/clear).
16
- */
17
-
18
- const copySettings = (0, _sharedUi.definePersistedSetting)(_sharedUi.devToolsStorageKeys.highlightUpdates.copySettings(), _copySettings.DEFAULT_COPY_SETTINGS, {
19
- sanitize: (merged, stored) => ({
20
- ...merged,
21
- filterCauses: stored?.filterCauses ?? _copySettings.DEFAULT_COPY_SETTINGS.filterCauses
22
- })
23
- });
24
- async function saveCopySettings(settings) {
25
- await copySettings.save(settings);
26
- }
27
- async function loadCopySettings() {
28
- return copySettings.loadOrNull();
29
- }
30
- async function clearCopySettings() {
31
- await copySettings.clear();
32
- }
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.clearCopySettings=clearCopySettings;exports.loadCopySettings=loadCopySettings;exports.saveCopySettings=saveCopySettings;var _sharedUi=require("@buoy-gg/shared-ui");var _copySettings=require("../types/copySettings");const copySettings=(0,_sharedUi.definePersistedSetting)(_sharedUi.devToolsStorageKeys.highlightUpdates.copySettings(),_copySettings.DEFAULT_COPY_SETTINGS,{sanitize:(e,t)=>({...e,filterCauses:t?.filterCauses??_copySettings.DEFAULT_COPY_SETTINGS.filterCauses})});async function saveCopySettings(e){await copySettings.save(e)}async function loadCopySettings(){return copySettings.loadOrNull()}async function clearCopySettings(){await copySettings.clear()}
@@ -1,188 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.OTHER_DEV_TOOLS_PREFIXES = exports.OTHER_DEV_TOOLS_EXACT = exports.OTHER_DEV_TOOLS_COMPONENTS = exports.HIGHLIGHT_OVERLAY_PREFIXES = exports.HIGHLIGHT_OVERLAY_COMPONENTS = void 0;
7
- exports.isCapturingBuoyToolRenders = isCapturingBuoyToolRenders;
8
- exports.isDevToolsComponentName = isDevToolsComponentName;
9
- exports.isJsTopComponentName = isJsTopComponentName;
10
- exports.isPerfMonitorComponentName = isPerfMonitorComponentName;
11
- exports.isRenderLoopUnsafeName = isRenderLoopUnsafeName;
12
- exports.setCaptureBuoyToolRenders = setCaptureBuoyToolRenders;
13
- // ============================================================================
14
- // Buoy devtools component-name sets, shared by HighlightUpdatesController's
15
- // per-node exclusion walk and CommitProfiler's subtree pruning.
16
- //
17
- // Extracted from HighlightUpdatesController.ts verbatim — keep the split:
18
- // HIGHLIGHT_* sets are ALWAYS excluded (tracking them causes infinite render
19
- // loops); OTHER_DEV_TOOLS_* sets are toggleable via the excludeDevTools
20
- // setting in the highlight flow (CommitProfiler always excludes both).
21
- // ============================================================================
22
-
23
- // Components that MUST always be excluded to prevent infinite loops.
24
- // Includes the Highlight Updates overlay AND the Events tool (which subscribes
25
- // to render callbacks via RenderTracker.onRenderEvent - tracking its renders
26
- // would create an infinite callback loop).
27
- const HIGHLIGHT_OVERLAY_COMPONENTS = exports.HIGHLIGHT_OVERLAY_COMPONENTS = new Set([
28
- // Highlight Updates overlay components
29
- "HighlightUpdatesOverlay", "HighlightUpdatesModal", "HighlightFilterView", "RenderDetailView", "RenderListItem", "RenderListItemInner", "RenderHistoryViewer", "RenderHistoryFooter", "RenderCauseBadge", "TwoLevelCauseBadge", "EnhancedCauseDisplay", "IsolatedRenderList", "IsolatedRenderListInner", "StatsDisplay", "StatsDisplayInner", "CurrentStateView", "EventStepperFooter",
30
- // Events tool components - subscribes to onRenderEvent, tracking these causes infinite loops
31
- "EventsModal", "UnifiedEventList", "UnifiedEventItem", "UnifiedEventDetail", "UnifiedEventFilters", "UnifiedEventViewer", "ReactQueryEventDetail", "EventsCopySettingsView"]);
32
-
33
- // Prefixes for always-excluded components (highlight overlay + events tool)
34
- const HIGHLIGHT_OVERLAY_PREFIXES = exports.HIGHLIGHT_OVERLAY_PREFIXES = ["HighlightUpdates", "RenderList", "RenderDetail", "RenderHistory", "RenderCause", "EventStepper",
35
- // Events tool - subscribes to onRenderEvent, must always be excluded
36
- "UnifiedEvent", "EventsModal", "EventsCopy"];
37
-
38
- // Other dev tools components - can be toggled via excludeDevTools setting
39
- const OTHER_DEV_TOOLS_COMPONENTS = exports.OTHER_DEV_TOOLS_COMPONENTS = new Set([
40
- // React Buoy devtools components
41
- "JsModalComponent", "JsModal", "TypePicker", "PatternInput", "PatternChip", "DetectedItemsSection", "DetectedCategoryBadge", "IdentifierBadge", "CategoryBadge", "AppRenderer", "AppOverlay", "FloatingTools", "DialDevTools", "DevToolsVisibilityProvider", "AppHostProvider", "MinimizedToolsProvider",
42
- // Shared UI components used in modals
43
- "ModalHeader", "TabSelector", "SectionHeader", "DraggableHeader", "WindowControls",
44
- // Shared UI data viewer components (JSON diff viewers, etc.)
45
- "TreeDiffViewer", "DataViewer", "SplitDiffViewer", "VirtualizedDataExplorer", "DiffSummary", "TypeLegend", "IndentGuides", "IndentGuidesOverlay", "CyberpunkInput", "DiffView", "AnswerCard", "DetailsSection", "DetailRow", "QuickActionsSection", "FilterOptionCard",
46
- // Modal header sub-components
47
- "SearchSection", "SearchSectionInner", "HeaderActions", "HeaderActionsInner", "MainListHeader", "FilterViewHeader", "DetailViewHeader",
48
- // Floating menu components (minimized tools, dial, etc.)
49
- "FloatingMenu", "FloatingDevTools", "MinimizedToolsStack", "MinimizedToolsContext", "GlitchToolButton", "ExpandablePopover", "CollapsedPeek", "ExpandedWrapper", "DialIcon", "DialMenu", "DialIconItem", "OnboardingTooltip", "MenuLauncherIcon", "DevToolsSettingsModal", "SettingsModal",
50
- // Image Overlay components
51
- "ImageOverlayModal", "ImageOverlayStandalone", "ToolCard", "ToolIcon", "GripVerticalIcon", "UserStatus", "Divider",
52
- // Shared UI icon components (Chevrons, etc.)
53
- "ChevronDown", "ChevronUp", "ChevronLeft", "ChevronRight", "ChevronDownIcon", "ChevronUpIcon", "ChevronLeftIcon", "ChevronRightIcon",
54
- // React Native LogBox components (shown on reload/errors)
55
- "LogBox", "LogBoxLog", "LogBoxLogNotification", "LogBoxNotificationContainer", "_LogBoxNotificationContainer", "LogBoxInspector", "LogBoxInspectorContainer", "LogBoxInspectorHeader", "LogBoxInspectorBody", "LogBoxInspectorFooter", "LogBoxInspectorMessageHeader", "LogBoxInspectorStackFrame", "LogBoxInspectorSection", "LogBoxButton", "LogBoxMessage",
56
- // Perf-monitor components. The HUD re-renders on every 250ms sample tick
57
- // during a benchmark recording, so leaving these in would dominate any
58
- // render-capture result. NOTE: no blanket "Perf" prefix — user benchmark
59
- // screens are commonly named Perf* (e.g. PerfBenchHeavy in the example app).
60
- "PerfMonitorOverlay", "PerfMonitorModal", "PerfMonitorRoot", "PerfHudInline", "PerfDiagnostics", "MetricSparkline", "JsFallbackNotice", "AutomationConfigView", "AutomationProgressOverlay", "AutomationResumer", "SaveBenchmarkPrompt", "SavedCasesModal", "BatchBarReport", "BatchReportView",
61
- // Perf HUD INNER components. The live-highlight exclusion walk climbs at
62
- // most 30 fiber levels from a flagged host view — the HUD's metric
63
- // TextInputs sit under deep TextInput/Animated wrappers, so the walk can
64
- // miss the PerfMonitorOverlay root; near names are what it actually hits.
65
- "PerfHudInlineInner", "PerfMonitorOverlayInner", "MiniMetric", "MetricRow", "MetricNumber", "MetricSparklineInner", "RecColumn", "PillBody", "FullBody", "TargetLine", "PagesSection", "ProbesSection",
66
- // JS TOP components without the "JsTop" prefix (which is matched
67
- // separately). The modal/table re-render on every 250ms snapshot tick.
68
- "TaskTable", "TaskRow", "BusySparkline"]);
69
-
70
- /**
71
- * Other dev-tools prefixes — noise reduction, toggleable via excludeDevTools.
72
- *
73
- * EVERY ENTRY HERE MUST BE BUOY-NAMESPACED. These are prefix matches, and a
74
- * match hides the component from render reports. Generic English words do not
75
- * belong in this list, because app components share them.
76
- *
77
- * This list used to contain `Virtualized`, meant for Buoy's own
78
- * VirtualizedDataExplorer. React Native's FlatList renders a `VirtualizedList`,
79
- * so the prefix matched — and because CommitProfiler pruned the whole subtree
80
- * on a match, Buoy could not see inside ANY FlatList or SectionList in ANY
81
- * app. Lists are the number-one source of render problems in React Native, and
82
- * the render tools were blind to all of them. `Dial` was the same trap:
83
- * "Dialog".startsWith("Dial") is true, so every Dialog vanished too.
84
- *
85
- * Names that are generic on their own now live in OTHER_DEV_TOOLS_COMPONENTS
86
- * as exact matches instead.
87
- */
88
- const OTHER_DEV_TOOLS_PREFIXES = exports.OTHER_DEV_TOOLS_PREFIXES = ["JsModal", "ImageOverlay",
89
- // Perf-monitor prefixes (safe: user code is Perf*, buoy code is
90
- // PerfMonitor* / PerfHud*)
91
- "PerfMonitor", "PerfHud",
92
- // JS TOP (js-top package)
93
- "JsTop"];
94
-
95
- /**
96
- * Buoy component names that were previously matched by over-broad prefixes.
97
- * Exact matches only — see the warning above.
98
- */
99
- const OTHER_DEV_TOOLS_EXACT = exports.OTHER_DEV_TOOLS_EXACT = new Set(["VirtualizedDataExplorer", "TreeDiffView", "TreeDiffRow", "DataViewer", "DiffView", "DiffSummary", "FloatingDevTools", "FloatingMenu", "FloatingBubble", "MinimizedDock", "DialMenu", "DialItem", "ExpandableSection", "ChevronIcon", "GlitchText", "SettingsModal", "SettingsRow", "OnboardingFlow", "DevToolsMenu"]);
100
-
101
- // ── Bench "profile our own tools" mode ──────────────────────────────────
102
- // When enabled (by a dedicated benchmark screen, e.g. the example app's
103
- // /tool-bench page), render capture INCLUDES Buoy's tool UI so we can
104
- // benchmark our own devtools. Two groups stay excluded regardless:
105
- // - highlight overlay + events tool (tracking them = infinite render loop)
106
- // - perf-monitor UI (the HUD re-renders on every 250ms sample tick while
107
- // recording, so its renders would dominate any capture result)
108
- // Only consulted by `isDevToolsComponentName` (the CommitProfiler path) —
109
- // the highlight flow's own excludeDevTools walk reads the raw sets above
110
- // and is deliberately unaffected.
111
- let captureBuoyToolRenders = false;
112
- function setCaptureBuoyToolRenders(enabled) {
113
- captureBuoyToolRenders = enabled;
114
- }
115
- function isCapturingBuoyToolRenders() {
116
- return captureBuoyToolRenders;
117
- }
118
-
119
- // Perf-monitor components without the "PerfMonitor" prefix (which is
120
- // matched separately). Mirrors the perf entries in OTHER_DEV_TOOLS_*.
121
- const PERF_MONITOR_ALWAYS_EXCLUDED = new Set(["PerfHudInline", "PerfHudInlineInner", "PerfDiagnostics", "MetricSparkline", "MetricSparklineInner", "JsFallbackNotice", "AutomationConfigView", "AutomationProgressOverlay", "AutomationResumer", "SaveBenchmarkPrompt", "SavedCasesModal", "BatchBarReport", "BatchReportView",
122
- // HUD inner components — churn every 250ms sample tick while recording.
123
- "MiniMetric", "MetricRow", "MetricNumber", "RecColumn", "PillBody", "FullBody", "TargetLine", "PagesSection", "ProbesSection"]);
124
-
125
- /**
126
- * True when a name belongs to the perf-monitor UI. These stay excluded
127
- * even in bench "profile our own tools" mode — the HUD re-renders on
128
- * every 250ms sample tick while recording, so both capture results and
129
- * live highlight boxes would be dominated by it.
130
- */
131
- function isPerfMonitorComponentName(name) {
132
- return name.startsWith("PerfMonitor") || name.startsWith("PerfHud") || PERF_MONITOR_ALWAYS_EXCLUDED.has(name);
133
- }
134
-
135
- // JS TOP components without the "JsTop" prefix. Mirrors the js-top entries
136
- // in OTHER_DEV_TOOLS_COMPONENTS.
137
- const JS_TOP_ALWAYS_EXCLUDED = new Set(["TaskTable", "TaskRow", "BusySparkline"]);
138
-
139
- /**
140
- * True when a name belongs to the JS TOP UI. Stays excluded even in bench
141
- * "profile our own tools" mode for the same reason as the perf HUD: the
142
- * task table re-renders on every 250ms snapshot tick while open.
143
- */
144
- function isJsTopComponentName(name) {
145
- return name.startsWith("JsTop") || JS_TOP_ALWAYS_EXCLUDED.has(name);
146
- }
147
-
148
- /**
149
- * True when a component display name belongs to Buoy's own devtools UI (or
150
- * RN's LogBox). Sets are checked first (O(1)), then prefixes.
151
- */
152
- function isDevToolsComponentName(name) {
153
- // Always excluded — tracking these causes infinite render loops.
154
- if (HIGHLIGHT_OVERLAY_COMPONENTS.has(name)) return true;
155
- for (let i = 0; i < HIGHLIGHT_OVERLAY_PREFIXES.length; i++) {
156
- if (name.startsWith(HIGHLIGHT_OVERLAY_PREFIXES[i])) return true;
157
- }
158
- if (captureBuoyToolRenders) {
159
- // Benchmarking our own tools: capture everything except the
160
- // perf-monitor and JS TOP UIs (their 250ms tick churn would drown
161
- // the result).
162
- return isPerfMonitorComponentName(name) || isJsTopComponentName(name);
163
- }
164
- if (OTHER_DEV_TOOLS_COMPONENTS.has(name)) return true;
165
- if (OTHER_DEV_TOOLS_EXACT.has(name)) return true;
166
- for (let i = 0; i < OTHER_DEV_TOOLS_PREFIXES.length; i++) {
167
- if (name.startsWith(OTHER_DEV_TOOLS_PREFIXES[i])) return true;
168
- }
169
- return false;
170
- }
171
-
172
- /**
173
- * Is this name one whose SUBTREE must be skipped, not merely the node?
174
- *
175
- * Only the always-excluded group qualifies: walking Buoy's own render-tracking
176
- * UI feeds its own renders back in and loops. Everything else in
177
- * `isDevToolsComponentName` is noise reduction — hide the row, but keep
178
- * walking, because app components live underneath Buoy chrome (a tool modal
179
- * renders the host app behind it) and pruning on a NAME is how one bad prefix
180
- * cost us every FlatList in every app.
181
- */
182
- function isRenderLoopUnsafeName(name) {
183
- if (HIGHLIGHT_OVERLAY_COMPONENTS.has(name)) return true;
184
- for (let i = 0; i < HIGHLIGHT_OVERLAY_PREFIXES.length; i++) {
185
- if (name.startsWith(HIGHLIGHT_OVERLAY_PREFIXES[i])) return true;
186
- }
187
- return false;
188
- }
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.OTHER_DEV_TOOLS_PREFIXES=exports.OTHER_DEV_TOOLS_EXACT=exports.OTHER_DEV_TOOLS_COMPONENTS=exports.HIGHLIGHT_OVERLAY_PREFIXES=exports.HIGHLIGHT_OVERLAY_COMPONENTS=void 0;exports.isCapturingBuoyToolRenders=isCapturingBuoyToolRenders;exports.isDevToolsComponentName=isDevToolsComponentName;exports.isJsTopComponentName=isJsTopComponentName;exports.isPerfMonitorComponentName=isPerfMonitorComponentName;exports.isRenderLoopUnsafeName=isRenderLoopUnsafeName;exports.setCaptureBuoyToolRenders=setCaptureBuoyToolRenders;const HIGHLIGHT_OVERLAY_COMPONENTS=exports.HIGHLIGHT_OVERLAY_COMPONENTS=new Set(["HighlightUpdatesOverlay","HighlightUpdatesModal","HighlightFilterView","RenderDetailView","RenderListItem","RenderListItemInner","RenderHistoryViewer","RenderHistoryFooter","RenderCauseBadge","TwoLevelCauseBadge","EnhancedCauseDisplay","IsolatedRenderList","IsolatedRenderListInner","StatsDisplay","StatsDisplayInner","CurrentStateView","EventStepperFooter","EventsModal","UnifiedEventList","UnifiedEventItem","UnifiedEventDetail","UnifiedEventFilters","UnifiedEventViewer","ReactQueryEventDetail","EventsCopySettingsView"]);const HIGHLIGHT_OVERLAY_PREFIXES=exports.HIGHLIGHT_OVERLAY_PREFIXES=["HighlightUpdates","RenderList","RenderDetail","RenderHistory","RenderCause","EventStepper","UnifiedEvent","EventsModal","EventsCopy"];const OTHER_DEV_TOOLS_COMPONENTS=exports.OTHER_DEV_TOOLS_COMPONENTS=new Set(["JsModalComponent","JsModal","TypePicker","PatternInput","PatternChip","DetectedItemsSection","DetectedCategoryBadge","IdentifierBadge","CategoryBadge","AppRenderer","AppOverlay","FloatingTools","DialDevTools","DevToolsVisibilityProvider","AppHostProvider","MinimizedToolsProvider","ModalHeader","TabSelector","SectionHeader","DraggableHeader","WindowControls","TreeDiffViewer","DataViewer","SplitDiffViewer","VirtualizedDataExplorer","DiffSummary","TypeLegend","IndentGuides","IndentGuidesOverlay","CyberpunkInput","DiffView","AnswerCard","DetailsSection","DetailRow","QuickActionsSection","FilterOptionCard","SearchSection","SearchSectionInner","HeaderActions","HeaderActionsInner","MainListHeader","FilterViewHeader","DetailViewHeader","FloatingMenu","FloatingDevTools","MinimizedToolsStack","MinimizedToolsContext","GlitchToolButton","ExpandablePopover","CollapsedPeek","ExpandedWrapper","DialIcon","DialMenu","DialIconItem","OnboardingTooltip","MenuLauncherIcon","DevToolsSettingsModal","SettingsModal","ImageOverlayModal","ImageOverlayStandalone","ToolCard","ToolIcon","GripVerticalIcon","UserStatus","Divider","ChevronDown","ChevronUp","ChevronLeft","ChevronRight","ChevronDownIcon","ChevronUpIcon","ChevronLeftIcon","ChevronRightIcon","LogBox","LogBoxLog","LogBoxLogNotification","LogBoxNotificationContainer","_LogBoxNotificationContainer","LogBoxInspector","LogBoxInspectorContainer","LogBoxInspectorHeader","LogBoxInspectorBody","LogBoxInspectorFooter","LogBoxInspectorMessageHeader","LogBoxInspectorStackFrame","LogBoxInspectorSection","LogBoxButton","LogBoxMessage","PerfMonitorOverlay","PerfMonitorModal","PerfMonitorRoot","PerfHudInline","PerfDiagnostics","MetricSparkline","JsFallbackNotice","AutomationConfigView","AutomationProgressOverlay","AutomationResumer","SaveBenchmarkPrompt","SavedCasesModal","BatchBarReport","BatchReportView","PerfHudInlineInner","PerfMonitorOverlayInner","MiniMetric","MetricRow","MetricNumber","MetricSparklineInner","RecColumn","PillBody","FullBody","TargetLine","PagesSection","ProbesSection","TaskTable","TaskRow","BusySparkline"]);const OTHER_DEV_TOOLS_PREFIXES=exports.OTHER_DEV_TOOLS_PREFIXES=["JsModal","ImageOverlay","PerfMonitor","PerfHud","JsTop"];const OTHER_DEV_TOOLS_EXACT=exports.OTHER_DEV_TOOLS_EXACT=new Set(["VirtualizedDataExplorer","TreeDiffView","TreeDiffRow","DataViewer","DiffView","DiffSummary","FloatingDevTools","FloatingMenu","FloatingBubble","MinimizedDock","DialMenu","DialItem","ExpandableSection","ChevronIcon","GlitchText","SettingsModal","SettingsRow","OnboardingFlow","DevToolsMenu"]);let captureBuoyToolRenders=false;function setCaptureBuoyToolRenders(e){captureBuoyToolRenders=e}function isCapturingBuoyToolRenders(){return captureBuoyToolRenders}const PERF_MONITOR_ALWAYS_EXCLUDED=new Set(["PerfHudInline","PerfHudInlineInner","PerfDiagnostics","MetricSparkline","MetricSparklineInner","JsFallbackNotice","AutomationConfigView","AutomationProgressOverlay","AutomationResumer","SaveBenchmarkPrompt","SavedCasesModal","BatchBarReport","BatchReportView","MiniMetric","MetricRow","MetricNumber","RecColumn","PillBody","FullBody","TargetLine","PagesSection","ProbesSection"]);function isPerfMonitorComponentName(e){return e.startsWith("PerfMonitor")||e.startsWith("PerfHud")||PERF_MONITOR_ALWAYS_EXCLUDED.has(e)}const JS_TOP_ALWAYS_EXCLUDED=new Set(["TaskTable","TaskRow","BusySparkline"]);function isJsTopComponentName(e){return e.startsWith("JsTop")||JS_TOP_ALWAYS_EXCLUDED.has(e)}function isDevToolsComponentName(e){if(HIGHLIGHT_OVERLAY_COMPONENTS.has(e))return true;for(let o=0;o<HIGHLIGHT_OVERLAY_PREFIXES.length;o++){if(e.startsWith(HIGHLIGHT_OVERLAY_PREFIXES[o]))return true}if(captureBuoyToolRenders){return isPerfMonitorComponentName(e)||isJsTopComponentName(e)}if(OTHER_DEV_TOOLS_COMPONENTS.has(e))return true;if(OTHER_DEV_TOOLS_EXACT.has(e))return true;for(let o=0;o<OTHER_DEV_TOOLS_PREFIXES.length;o++){if(e.startsWith(OTHER_DEV_TOOLS_PREFIXES[o]))return true}return false}function isRenderLoopUnsafeName(e){if(HIGHLIGHT_OVERLAY_COMPONENTS.has(e))return true;for(let o=0;o<HIGHLIGHT_OVERLAY_PREFIXES.length;o++){if(e.startsWith(HIGHLIGHT_OVERLAY_PREFIXES[o]))return true}return false}
@@ -1,41 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.isHostViewName = isHostViewName;
7
- exports.isNamedComposite = isNamedComposite;
8
- /**
9
- * Host views (RCTView / View / Text) drown the Highlight Updates list.
10
- * Named composites are what you actually want when asking "what re-rendered?"
11
- */
12
-
13
- const HOST_NAMES = new Set(["View", "RCTView", "Text", "RCTText", "RawText", "RCTRawText", "VirtualText", "RCTVirtualText", "ScrollView", "RCTScrollView", "RCTScrollContentView", "SafeAreaView", "RCTSafeAreaView", "Pressable", "TouchableOpacity", "Image", "RCTImageView"]);
14
-
15
- /**
16
- * Fiber names that look like identity but are list chrome / RN internals.
17
- * Only provably-anonymous names belong here — real components (CopyButton,
18
- * a user's `Copy`…) must stay visible. "Comp Copy"-style truncated
19
- * placeholders are handled by the regex in isNamedComposite instead.
20
- */
21
- const PLACEHOLDER_NAMES = new Set(["Unknown", "Anonymous", "CellRenderer", "NativeComponent"]);
22
- /**
23
- * True when this row is a named user composite (or has a testID). Host views
24
- * and anonymous "Comp Copy" wrappers return false.
25
- */
26
- function isNamedComposite(r) {
27
- if (r.testID && r.testID.trim()) return true;
28
- const name = (r.componentName ?? "").trim();
29
- if (!name) return false;
30
- if (HOST_NAMES.has(name)) return false;
31
- if (PLACEHOLDER_NAMES.has(name)) return false;
32
- const view = (r.viewType ?? "").trim();
33
- if (view && HOST_NAMES.has(view) && name === view) return false;
34
- // "Comp Copy" / "1x" style placeholders — no real component identity.
35
- if (/^comp(\s|$)/i.test(name)) return false;
36
- if (name.startsWith("_")) return false;
37
- return true;
38
- }
39
- function isHostViewName(name) {
40
- return !!name && HOST_NAMES.has(name);
41
- }
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isHostViewName=isHostViewName;exports.isNamedComposite=isNamedComposite;const HOST_NAMES=new Set(["View","RCTView","Text","RCTText","RawText","RCTRawText","VirtualText","RCTVirtualText","ScrollView","RCTScrollView","RCTScrollContentView","SafeAreaView","RCTSafeAreaView","Pressable","TouchableOpacity","Image","RCTImageView"]);const PLACEHOLDER_NAMES=new Set(["Unknown","Anonymous","CellRenderer","NativeComponent"]);function isNamedComposite(e){if(e.testID&&e.testID.trim())return true;const t=(e.componentName??"").trim();if(!t)return false;if(HOST_NAMES.has(t))return false;if(PLACEHOLDER_NAMES.has(t))return false;const i=(e.viewType??"").trim();if(i&&HOST_NAMES.has(i)&&t===i)return false;if(/^comp(\s|$)/i.test(t))return false;if(t.startsWith("_"))return false;return true}function isHostViewName(e){return!!e&&HOST_NAMES.has(e)}