@memlab/lens 1.0.2 → 2.0.0

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.
@@ -1,9 +1,34 @@
1
+ /**
2
+ * @license MemLab
3
+ * MIT License
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in all
15
+ * copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ * SOFTWARE.
24
+ *
25
+ */
1
26
  /******/ (() => { // webpackBootstrap
2
27
  /******/ "use strict";
3
28
  /******/ var __webpack_modules__ = ({
4
29
 
5
- /***/ 23:
6
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
30
+ /***/ 23
31
+ (__unused_webpack_module, exports, __webpack_require__) {
7
32
 
8
33
 
9
34
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
@@ -40,24 +65,34 @@ class DOMVisualizationExtension extends basic_extension_1.BasicExtension {
40
65
  }
41
66
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
42
67
  afterScan(_analysisResult) {
68
+ var _a;
43
69
  // const start = Date.now();
44
70
  const scanner = this.scanner;
45
71
  if (scanner.isDevMode()) {
46
72
  const detachedDOMInfo = scanner.getDetachedDOMInfo();
47
- __classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f").repaint(detachedDOMInfo);
73
+ (_a = __classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f")) === null || _a === void 0 ? void 0 : _a.repaint(detachedDOMInfo);
48
74
  }
49
75
  // const end = Date.now();
50
76
  // console.log(`repaint took ${end - start}ms`);
51
77
  }
78
+ cleanup() {
79
+ // Clean up the visualizer to prevent memory leaks
80
+ if (__classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f") &&
81
+ typeof __classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f").cleanup === 'function') {
82
+ __classPrivateFieldGet(this, _DOMVisualizationExtension_domVirtualizer, "f").cleanup();
83
+ }
84
+ // Clear the reference
85
+ __classPrivateFieldSet(this, _DOMVisualizationExtension_domVirtualizer, null, "f");
86
+ }
52
87
  }
53
88
  exports.DOMVisualizationExtension = DOMVisualizationExtension;
54
89
  _DOMVisualizationExtension_domVirtualizer = new WeakMap();
55
90
 
56
91
 
57
- /***/ }),
92
+ /***/ },
58
93
 
59
- /***/ 54:
60
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
94
+ /***/ 54
95
+ (__unused_webpack_module, exports, __webpack_require__) {
61
96
 
62
97
 
63
98
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
@@ -249,10 +284,10 @@ _DOMObserver_elementCount = new WeakMap(), _DOMObserver_detachedElementCount = n
249
284
  };
250
285
 
251
286
 
252
- /***/ }),
287
+ /***/ },
253
288
 
254
- /***/ 150:
255
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
289
+ /***/ 150
290
+ (__unused_webpack_module, exports, __webpack_require__) {
256
291
 
257
292
 
258
293
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
@@ -275,6 +310,9 @@ class DOMElementVisualizer {
275
310
  _DOMElementVisualizer_canvas.set(this, void 0);
276
311
  __classPrivateFieldSet(this, _DOMElementVisualizer_canvas, null, "f");
277
312
  }
313
+ cleanup() {
314
+ __classPrivateFieldGet(this, _DOMElementVisualizer_instances, "m", _DOMElementVisualizer_cleanup).call(this);
315
+ }
278
316
  repaint(domElementInfoList) {
279
317
  __classPrivateFieldGet(this, _DOMElementVisualizer_instances, "m", _DOMElementVisualizer_cleanup).call(this);
280
318
  __classPrivateFieldGet(this, _DOMElementVisualizer_instances, "m", _DOMElementVisualizer_paint).call(this, domElementInfoList);
@@ -373,10 +411,10 @@ _DOMElementVisualizer_canvas = new WeakMap(), _DOMElementVisualizer_instances =
373
411
  exports["default"] = DOMElementVisualizer;
374
412
 
375
413
 
376
- /***/ }),
414
+ /***/ },
377
415
 
378
- /***/ 271:
379
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
416
+ /***/ 271
417
+ (__unused_webpack_module, exports, __webpack_require__) {
380
418
 
381
419
 
382
420
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
@@ -433,6 +471,22 @@ class DOMElementVisualizerInteractive extends dom_element_visualizer_1.default {
433
471
  (0, visual_utils_1.tryToAttachOverlay)(__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_visualizationOverlayDiv, "f"));
434
472
  // tryToAttachOverlay(this.#controlWidget);
435
473
  }
474
+ cleanup() {
475
+ // Clean up the visualization overlay
476
+ if (__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_visualizationOverlayDiv, "f")) {
477
+ __classPrivateFieldGet(this, _DOMElementVisualizerInteractive_visualizationOverlayDiv, "f").remove();
478
+ }
479
+ // Clean up the control widget
480
+ if (__classPrivateFieldGet(this, _DOMElementVisualizerInteractive_controlWidget, "f")) {
481
+ __classPrivateFieldGet(this, _DOMElementVisualizerInteractive_controlWidget, "f").remove();
482
+ }
483
+ // Clear all element references
484
+ __classPrivateFieldGet(this, _DOMElementVisualizerInteractive_elementIdToRectangle, "f").clear();
485
+ __classPrivateFieldGet(this, _DOMElementVisualizerInteractive_blockedElementIds, "f").clear();
486
+ __classPrivateFieldSet(this, _DOMElementVisualizerInteractive_updateDataCallbacks, [], "f");
487
+ // Call parent cleanup
488
+ super.cleanup();
489
+ }
436
490
  }
437
491
  _DOMElementVisualizerInteractive_elementIdToRectangle = new WeakMap(), _DOMElementVisualizerInteractive_visualizationOverlayDiv = new WeakMap(), _DOMElementVisualizerInteractive_controlWidget = new WeakMap(), _DOMElementVisualizerInteractive_blockedElementIds = new WeakMap(), _DOMElementVisualizerInteractive_currentVisualData = new WeakMap(), _DOMElementVisualizerInteractive_hideAllRef = new WeakMap(), _DOMElementVisualizerInteractive_updateDataCallbacks = new WeakMap(), _DOMElementVisualizerInteractive_instances = new WeakSet(), _DOMElementVisualizerInteractive_listenToKeyboardEvent = function _DOMElementVisualizerInteractive_listenToKeyboardEvent() {
438
492
  document.addEventListener('keydown', event => {
@@ -681,10 +735,10 @@ _DOMElementVisualizerInteractive_elementIdToRectangle = new WeakMap(), _DOMEleme
681
735
  exports["default"] = DOMElementVisualizerInteractive;
682
736
 
683
737
 
684
- /***/ }),
738
+ /***/ },
685
739
 
686
- /***/ 282:
687
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
740
+ /***/ 282
741
+ (__unused_webpack_module, exports, __webpack_require__) {
688
742
 
689
743
 
690
744
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -745,7 +799,7 @@ var __rest = (this && this.__rest) || function (s, e) {
745
799
  var __importDefault = (this && this.__importDefault) || function (mod) {
746
800
  return (mod && mod.__esModule) ? mod : { "default": mod };
747
801
  };
748
- var _ReactMemoryScan_instances, _ReactMemoryScan_elementWeakRefs, _ReactMemoryScan_isActivated, _ReactMemoryScan_intervalId, _ReactMemoryScan_elementToBoundingRects, _ReactMemoryScan_elementToComponentStack, _ReactMemoryScan_knownFiberNodes, _ReactMemoryScan_fiberAnalyzer, _ReactMemoryScan_isDevMode, _ReactMemoryScan_subscribers, _ReactMemoryScan_extensions, _ReactMemoryScan_scanIntervalMs, _ReactMemoryScan_domObserver, _ReactMemoryScan_eventListenerTracker, _ReactMemoryScan_log, _ReactMemoryScan_notifySubscribers, _ReactMemoryScan_notifyExtensionsBeforeScan, _ReactMemoryScan_notifyExtensionsAfterScan, _ReactMemoryScan_scanCycle, _ReactMemoryScan_updateElementToComponentInfo, _ReactMemoryScan_getTrackedDOMRefs, _ReactMemoryScan_runGC, _ReactMemoryScan_scanEventListenerLeaks;
802
+ var _ReactMemoryScan_instances, _ReactMemoryScan_elementWeakRefs, _ReactMemoryScan_isActivated, _ReactMemoryScan_intervalId, _ReactMemoryScan_elementToBoundingRects, _ReactMemoryScan_elementToComponentStack, _ReactMemoryScan_knownFiberNodes, _ReactMemoryScan_fiberAnalyzer, _ReactMemoryScan_isDevMode, _ReactMemoryScan_subscribers, _ReactMemoryScan_extensions, _ReactMemoryScan_scanIntervalMs, _ReactMemoryScan_domObserver, _ReactMemoryScan_eventListenerTracker, _ReactMemoryScan_isDisposed, _ReactMemoryScan_log, _ReactMemoryScan_notifySubscribers, _ReactMemoryScan_notifyExtensionsBeforeScan, _ReactMemoryScan_notifyExtensionsAfterScan, _ReactMemoryScan_scanCycle, _ReactMemoryScan_updateElementToComponentInfo, _ReactMemoryScan_getTrackedDOMRefs, _ReactMemoryScan_runGC, _ReactMemoryScan_scanEventListenerLeaks;
749
803
  Object.defineProperty(exports, "__esModule", ({ value: true }));
750
804
  const utils = __importStar(__webpack_require__(476));
751
805
  const react_fiber_analysis_1 = __importDefault(__webpack_require__(302));
@@ -770,6 +824,7 @@ class ReactMemoryScan {
770
824
  _ReactMemoryScan_scanIntervalMs.set(this, void 0);
771
825
  _ReactMemoryScan_domObserver.set(this, void 0);
772
826
  _ReactMemoryScan_eventListenerTracker.set(this, void 0);
827
+ _ReactMemoryScan_isDisposed.set(this, void 0);
773
828
  __classPrivateFieldSet(this, _ReactMemoryScan_elementWeakRefs, [], "f");
774
829
  __classPrivateFieldSet(this, _ReactMemoryScan_isActivated, false, "f");
775
830
  __classPrivateFieldSet(this, _ReactMemoryScan_elementToBoundingRects, new WeakMap(), "f");
@@ -778,8 +833,9 @@ class ReactMemoryScan {
778
833
  __classPrivateFieldSet(this, _ReactMemoryScan_eventListenerTracker, options.trackEventListenerLeaks
779
834
  ? event_listener_tracker_1.EventListenerTracker.getInstance()
780
835
  : null, "f");
836
+ __classPrivateFieldSet(this, _ReactMemoryScan_intervalId, null, "f");
837
+ __classPrivateFieldSet(this, _ReactMemoryScan_isDisposed, false, "f");
781
838
  __classPrivateFieldSet(this, _ReactMemoryScan_fiberAnalyzer, new react_fiber_analysis_1.default(), "f");
782
- __classPrivateFieldSet(this, _ReactMemoryScan_intervalId, 0, "f");
783
839
  __classPrivateFieldSet(this, _ReactMemoryScan_isDevMode, (_a = options.isDevMode) !== null && _a !== void 0 ? _a : false, "f");
784
840
  __classPrivateFieldSet(this, _ReactMemoryScan_subscribers, (_b = options.subscribers) !== null && _b !== void 0 ? _b : [], "f");
785
841
  __classPrivateFieldSet(this, _ReactMemoryScan_extensions, (_c = options.extensions) !== null && _c !== void 0 ? _c : [], "f");
@@ -800,6 +856,10 @@ class ReactMemoryScan {
800
856
  __classPrivateFieldSet(this, _ReactMemoryScan_extensions, __classPrivateFieldGet(this, _ReactMemoryScan_extensions, "f").filter(e => e !== extension), "f");
801
857
  }
802
858
  start() {
859
+ if (__classPrivateFieldGet(this, _ReactMemoryScan_isDisposed, "f")) {
860
+ console.warn('[Memory] ReactMemoryScan has been disposed and cannot be started again');
861
+ return;
862
+ }
803
863
  __classPrivateFieldSet(this, _ReactMemoryScan_isActivated, true, "f");
804
864
  __classPrivateFieldSet(this, _ReactMemoryScan_intervalId, setInterval(__classPrivateFieldGet(this, _ReactMemoryScan_instances, "m", _ReactMemoryScan_scanCycle).bind(this), __classPrivateFieldGet(this, _ReactMemoryScan_scanIntervalMs, "f")), "f");
805
865
  if (config_1.config.features.enableMutationObserver) {
@@ -818,11 +878,45 @@ class ReactMemoryScan {
818
878
  __classPrivateFieldSet(this, _ReactMemoryScan_isActivated, false, "f");
819
879
  }
820
880
  stop() {
821
- var _a;
822
881
  __classPrivateFieldSet(this, _ReactMemoryScan_isActivated, false, "f");
823
- clearInterval(__classPrivateFieldGet(this, _ReactMemoryScan_intervalId, "f"));
882
+ // Clear the interval
883
+ if (__classPrivateFieldGet(this, _ReactMemoryScan_intervalId, "f") !== null) {
884
+ clearInterval(__classPrivateFieldGet(this, _ReactMemoryScan_intervalId, "f"));
885
+ __classPrivateFieldSet(this, _ReactMemoryScan_intervalId, null, "f");
886
+ }
887
+ // Clear element references to allow garbage collection
824
888
  __classPrivateFieldSet(this, _ReactMemoryScan_elementWeakRefs, [], "f");
825
- (_a = __classPrivateFieldGet(this, _ReactMemoryScan_domObserver, "f")) === null || _a === void 0 ? void 0 : _a.stopMonitoring();
889
+ __classPrivateFieldSet(this, _ReactMemoryScan_knownFiberNodes, [], "f");
890
+ // Stop DOM observer
891
+ if (__classPrivateFieldGet(this, _ReactMemoryScan_domObserver, "f")) {
892
+ __classPrivateFieldGet(this, _ReactMemoryScan_domObserver, "f").stopMonitoring();
893
+ __classPrivateFieldSet(this, _ReactMemoryScan_domObserver, null, "f");
894
+ }
895
+ // Clear WeakMaps to allow garbage collection
896
+ __classPrivateFieldSet(this, _ReactMemoryScan_elementToBoundingRects, new WeakMap(), "f");
897
+ __classPrivateFieldSet(this, _ReactMemoryScan_elementToComponentStack, new WeakMap(), "f");
898
+ console.log('[Memory] ReactMemoryScan stopped');
899
+ }
900
+ dispose() {
901
+ // Stop all monitoring
902
+ this.stop();
903
+ // Clear all subscribers
904
+ __classPrivateFieldSet(this, _ReactMemoryScan_subscribers, [], "f");
905
+ // Clean up all extensions
906
+ for (const extension of __classPrivateFieldGet(this, _ReactMemoryScan_extensions, "f")) {
907
+ if (extension && typeof extension.cleanup === 'function') {
908
+ extension.cleanup();
909
+ }
910
+ }
911
+ __classPrivateFieldSet(this, _ReactMemoryScan_extensions, [], "f");
912
+ // Dispose event listener tracker if it exists
913
+ if (__classPrivateFieldGet(this, _ReactMemoryScan_eventListenerTracker, "f")) {
914
+ __classPrivateFieldGet(this, _ReactMemoryScan_eventListenerTracker, "f").destroy();
915
+ __classPrivateFieldSet(this, _ReactMemoryScan_eventListenerTracker, null, "f");
916
+ }
917
+ // Mark as disposed to prevent reuse
918
+ __classPrivateFieldSet(this, _ReactMemoryScan_isDisposed, true, "f");
919
+ console.log('[Memory] ReactMemoryScan disposed');
826
920
  }
827
921
  recordBoundingRectangles(elementRefs) {
828
922
  for (const elemRef of elementRefs) {
@@ -952,7 +1046,7 @@ class ReactMemoryScan {
952
1046
  return scanResult;
953
1047
  }
954
1048
  }
955
- _ReactMemoryScan_elementWeakRefs = new WeakMap(), _ReactMemoryScan_isActivated = new WeakMap(), _ReactMemoryScan_intervalId = new WeakMap(), _ReactMemoryScan_elementToBoundingRects = new WeakMap(), _ReactMemoryScan_elementToComponentStack = new WeakMap(), _ReactMemoryScan_knownFiberNodes = new WeakMap(), _ReactMemoryScan_fiberAnalyzer = new WeakMap(), _ReactMemoryScan_isDevMode = new WeakMap(), _ReactMemoryScan_subscribers = new WeakMap(), _ReactMemoryScan_extensions = new WeakMap(), _ReactMemoryScan_scanIntervalMs = new WeakMap(), _ReactMemoryScan_domObserver = new WeakMap(), _ReactMemoryScan_eventListenerTracker = new WeakMap(), _ReactMemoryScan_instances = new WeakSet(), _ReactMemoryScan_log = function _ReactMemoryScan_log(...args) {
1049
+ _ReactMemoryScan_elementWeakRefs = new WeakMap(), _ReactMemoryScan_isActivated = new WeakMap(), _ReactMemoryScan_intervalId = new WeakMap(), _ReactMemoryScan_elementToBoundingRects = new WeakMap(), _ReactMemoryScan_elementToComponentStack = new WeakMap(), _ReactMemoryScan_knownFiberNodes = new WeakMap(), _ReactMemoryScan_fiberAnalyzer = new WeakMap(), _ReactMemoryScan_isDevMode = new WeakMap(), _ReactMemoryScan_subscribers = new WeakMap(), _ReactMemoryScan_extensions = new WeakMap(), _ReactMemoryScan_scanIntervalMs = new WeakMap(), _ReactMemoryScan_domObserver = new WeakMap(), _ReactMemoryScan_eventListenerTracker = new WeakMap(), _ReactMemoryScan_isDisposed = new WeakMap(), _ReactMemoryScan_instances = new WeakSet(), _ReactMemoryScan_log = function _ReactMemoryScan_log(...args) {
956
1050
  if (__classPrivateFieldGet(this, _ReactMemoryScan_isDevMode, "f") && config_1.config.features.enableConsoleLogs) {
957
1051
  utils.consoleLog(...args);
958
1052
  }
@@ -1040,10 +1134,10 @@ class LeakedFiber {
1040
1134
  }
1041
1135
 
1042
1136
 
1043
- /***/ }),
1137
+ /***/ },
1044
1138
 
1045
- /***/ 302:
1046
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1139
+ /***/ 302
1140
+ (__unused_webpack_module, exports, __webpack_require__) {
1047
1141
 
1048
1142
 
1049
1143
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -1180,10 +1274,10 @@ class ReactFiberAnalyzer {
1180
1274
  exports["default"] = ReactFiberAnalyzer;
1181
1275
 
1182
1276
 
1183
- /***/ }),
1277
+ /***/ },
1184
1278
 
1185
- /***/ 313:
1186
- /***/ ((__unused_webpack_module, exports) => {
1279
+ /***/ 313
1280
+ (__unused_webpack_module, exports) {
1187
1281
 
1188
1282
 
1189
1283
  /**
@@ -1458,10 +1552,10 @@ class WeakMapPlus {
1458
1552
  exports.WeakMapPlus = WeakMapPlus;
1459
1553
 
1460
1554
 
1461
- /***/ }),
1555
+ /***/ },
1462
1556
 
1463
- /***/ 341:
1464
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1557
+ /***/ 341
1558
+ (__unused_webpack_module, exports, __webpack_require__) {
1465
1559
 
1466
1560
 
1467
1561
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -1533,10 +1627,10 @@ function supportDragging(controlWidget) {
1533
1627
  }
1534
1628
 
1535
1629
 
1536
- /***/ }),
1630
+ /***/ },
1537
1631
 
1538
- /***/ 346:
1539
- /***/ ((__unused_webpack_module, exports) => {
1632
+ /***/ 346
1633
+ (__unused_webpack_module, exports) {
1540
1634
 
1541
1635
 
1542
1636
  /**
@@ -1570,10 +1664,10 @@ exports.config = {
1570
1664
  };
1571
1665
 
1572
1666
 
1573
- /***/ }),
1667
+ /***/ },
1574
1668
 
1575
- /***/ 368:
1576
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1669
+ /***/ 368
1670
+ (__unused_webpack_module, exports, __webpack_require__) {
1577
1671
 
1578
1672
 
1579
1673
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -1598,10 +1692,10 @@ function createOverlayDiv() {
1598
1692
  }
1599
1693
 
1600
1694
 
1601
- /***/ }),
1695
+ /***/ },
1602
1696
 
1603
- /***/ 476:
1604
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1697
+ /***/ 476
1698
+ (__unused_webpack_module, exports, __webpack_require__) {
1605
1699
 
1606
1700
 
1607
1701
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -1781,10 +1875,10 @@ function setRunInSession() {
1781
1875
  }
1782
1876
 
1783
1877
 
1784
- /***/ }),
1878
+ /***/ },
1785
1879
 
1786
- /***/ 498:
1787
- /***/ ((__unused_webpack_module, exports) => {
1880
+ /***/ 498
1881
+ (__unused_webpack_module, exports) {
1788
1882
 
1789
1883
 
1790
1884
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -1849,10 +1943,10 @@ function debounce(callback, delay) {
1849
1943
  }
1850
1944
 
1851
1945
 
1852
- /***/ }),
1946
+ /***/ },
1853
1947
 
1854
- /***/ 701:
1855
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1948
+ /***/ 701
1949
+ (__unused_webpack_module, exports, __webpack_require__) {
1856
1950
 
1857
1951
 
1858
1952
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -1983,10 +2077,10 @@ function styleOnInteraction(divRef, state) {
1983
2077
  }
1984
2078
 
1985
2079
 
1986
- /***/ }),
2080
+ /***/ },
1987
2081
 
1988
- /***/ 737:
1989
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2082
+ /***/ 737
2083
+ (__unused_webpack_module, exports, __webpack_require__) {
1990
2084
 
1991
2085
 
1992
2086
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -2178,10 +2272,10 @@ function extractReactComponentName(displayName) {
2178
2272
  }
2179
2273
 
2180
2274
 
2181
- /***/ }),
2275
+ /***/ },
2182
2276
 
2183
- /***/ 775:
2184
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2277
+ /***/ 775
2278
+ (__unused_webpack_module, exports, __webpack_require__) {
2185
2279
 
2186
2280
 
2187
2281
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -2221,10 +2315,10 @@ function createStatusText(registerDataUpdateCallback) {
2221
2315
  }
2222
2316
 
2223
2317
 
2224
- /***/ }),
2318
+ /***/ },
2225
2319
 
2226
- /***/ 847:
2227
- /***/ ((__unused_webpack_module, exports) => {
2320
+ /***/ 847
2321
+ (__unused_webpack_module, exports) {
2228
2322
 
2229
2323
 
2230
2324
  /**
@@ -2244,10 +2338,10 @@ function isValidComponentName(name) {
2244
2338
  }
2245
2339
 
2246
2340
 
2247
- /***/ }),
2341
+ /***/ },
2248
2342
 
2249
- /***/ 860:
2250
- /***/ ((__unused_webpack_module, exports) => {
2343
+ /***/ 860
2344
+ (__unused_webpack_module, exports) {
2251
2345
 
2252
2346
 
2253
2347
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -2280,10 +2374,10 @@ class BasicExtension {
2280
2374
  exports.BasicExtension = BasicExtension;
2281
2375
 
2282
2376
 
2283
- /***/ }),
2377
+ /***/ },
2284
2378
 
2285
- /***/ 904:
2286
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2379
+ /***/ 904
2380
+ (__unused_webpack_module, exports, __webpack_require__) {
2287
2381
 
2288
2382
 
2289
2383
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -2320,12 +2414,13 @@ function createComponentStackPanel(registerDataUpdateCallback) {
2320
2414
  if (pinned) {
2321
2415
  return;
2322
2416
  }
2323
- panel.style.display = data.selectedElementId != null ? 'flex' : 'none';
2324
2417
  panel.innerHTML = '';
2325
2418
  if (data.selectedElementId == null ||
2326
2419
  !((_a = data.selectedReactComponentStack) === null || _a === void 0 ? void 0 : _a.length)) {
2420
+ panel.style.display = 'none';
2327
2421
  return;
2328
2422
  }
2423
+ panel.style.display = 'flex';
2329
2424
  const title = (0, visual_utils_1.createVisualizerElement)('div');
2330
2425
  title.textContent = 'Component Stack:';
2331
2426
  title.style.fontWeight = 'bold';
@@ -2347,10 +2442,10 @@ function createComponentStackPanel(registerDataUpdateCallback) {
2347
2442
  }
2348
2443
 
2349
2444
 
2350
- /***/ }),
2445
+ /***/ },
2351
2446
 
2352
- /***/ 933:
2353
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2447
+ /***/ 933
2448
+ (__unused_webpack_module, exports, __webpack_require__) {
2354
2449
 
2355
2450
 
2356
2451
  var __importDefault = (this && this.__importDefault) || function (mod) {
@@ -2378,10 +2473,10 @@ if (!(0, utils_1.hasRunInSession)()) {
2378
2473
  }
2379
2474
 
2380
2475
 
2381
- /***/ }),
2476
+ /***/ },
2382
2477
 
2383
- /***/ 946:
2384
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2478
+ /***/ 946
2479
+ (__unused_webpack_module, exports, __webpack_require__) {
2385
2480
 
2386
2481
 
2387
2482
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -2438,10 +2533,10 @@ function createToggleButton(overlayDiv, hideAllRef) {
2438
2533
  }
2439
2534
 
2440
2535
 
2441
- /***/ }),
2536
+ /***/ },
2442
2537
 
2443
- /***/ 953:
2444
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2538
+ /***/ 953
2539
+ (__unused_webpack_module, exports, __webpack_require__) {
2445
2540
 
2446
2541
 
2447
2542
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
@@ -2573,10 +2668,10 @@ _EventListenerTracker_listenerMap = new WeakMap(), _EventListenerTracker_detache
2573
2668
  EventListenerTracker.instance = null;
2574
2669
 
2575
2670
 
2576
- /***/ }),
2671
+ /***/ },
2577
2672
 
2578
- /***/ 979:
2579
- /***/ ((__unused_webpack_module, exports) => {
2673
+ /***/ 979
2674
+ (__unused_webpack_module, exports) {
2580
2675
 
2581
2676
 
2582
2677
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -2634,7 +2729,7 @@ class IntersectionObserverManager {
2634
2729
  exports.IntersectionObserverManager = IntersectionObserverManager;
2635
2730
 
2636
2731
 
2637
- /***/ })
2732
+ /***/ }
2638
2733
 
2639
2734
  /******/ });
2640
2735
  /************************************************************************/