bippy 0.3.2 → 0.3.4

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.
@@ -2,16 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkLMTDJIAV_cjs = require('../chunk-LMTDJIAV.cjs');
6
- require('../chunk-J2F3EJOS.cjs');
7
- var chunkOZZZ2ACU_cjs = require('../chunk-OZZZ2ACU.cjs');
5
+ var chunk5UPESIXB_cjs = require('../chunk-5UPESIXB.cjs');
6
+ require('../chunk-ZGXPNYXM.cjs');
7
+ var chunkHBEFN4VG_cjs = require('../chunk-HBEFN4VG.cjs');
8
8
  require('../chunk-AQ674A4M.cjs');
9
- var React17 = require('react');
9
+ var React14 = require('react');
10
10
  var ReactDOM = require('react-dom');
11
11
 
12
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
13
 
14
- var React17__default = /*#__PURE__*/_interopDefault(React17);
14
+ var React14__default = /*#__PURE__*/_interopDefault(React14);
15
15
  var ReactDOM__default = /*#__PURE__*/_interopDefault(ReactDOM);
16
16
 
17
17
  /**
@@ -158,7 +158,7 @@ var theme2 = {
158
158
  TABLE_DATA_BACKGROUND_IMAGE: "linear-gradient(to bottom, white, white 50%, rgb(234, 243, 255) 50%, rgb(234, 243, 255))",
159
159
  TABLE_DATA_BACKGROUND_SIZE: "128px 32px"
160
160
  };
161
- var ExpandedPathsContext = React17.createContext([{}, () => {
161
+ var ExpandedPathsContext = React14.createContext([{}, () => {
162
162
  }]);
163
163
  var unselectable = {
164
164
  WebkitTouchCallout: "none",
@@ -424,14 +424,14 @@ var createTheme = (theme32) => ({
424
424
  }
425
425
  });
426
426
  var DEFAULT_THEME_NAME = "chromeLight";
427
- var ThemeContext = React17.createContext(createTheme(themes_exports[DEFAULT_THEME_NAME]));
427
+ var ThemeContext = React14.createContext(createTheme(themes_exports[DEFAULT_THEME_NAME]));
428
428
  var useStyles = (baseStylesKey) => {
429
- const themeStyles = React17.useContext(ThemeContext);
429
+ const themeStyles = React14.useContext(ThemeContext);
430
430
  return themeStyles[baseStylesKey];
431
431
  };
432
432
  var themeAcceptor = (WrappedComponent) => {
433
433
  const ThemeAcceptor = ({ theme: theme32 = DEFAULT_THEME_NAME, ...restProps }) => {
434
- const themeStyles = React17.useMemo(() => {
434
+ const themeStyles = React14.useMemo(() => {
435
435
  switch (Object.prototype.toString.call(theme32)) {
436
436
  case "[object String]":
437
437
  return createTheme(themes_exports[theme32]);
@@ -441,24 +441,24 @@ var themeAcceptor = (WrappedComponent) => {
441
441
  return createTheme(themes_exports[DEFAULT_THEME_NAME]);
442
442
  }
443
443
  }, [theme32]);
444
- return /* @__PURE__ */ React17__default.default.createElement(ThemeContext.Provider, {
444
+ return /* @__PURE__ */ React14__default.default.createElement(ThemeContext.Provider, {
445
445
  value: themeStyles
446
- }, /* @__PURE__ */ React17__default.default.createElement(WrappedComponent, {
446
+ }, /* @__PURE__ */ React14__default.default.createElement(WrappedComponent, {
447
447
  ...restProps
448
448
  }));
449
449
  };
450
450
  return ThemeAcceptor;
451
451
  };
452
- var Arrow = ({ expanded, styles }) => /* @__PURE__ */ React17__default.default.createElement("span", {
452
+ var Arrow = ({ expanded, styles }) => /* @__PURE__ */ React14__default.default.createElement("span", {
453
453
  style: {
454
454
  ...styles.base,
455
455
  ...expanded ? styles.expanded : styles.collapsed
456
456
  }
457
457
  }, "\u25B6");
458
- var TreeNode = React17.memo((props) => {
458
+ var TreeNode = React14.memo((props) => {
459
459
  props = {
460
460
  expanded: true,
461
- nodeRenderer: ({ name }) => /* @__PURE__ */ React17__default.default.createElement("span", null, name),
461
+ nodeRenderer: ({ name }) => /* @__PURE__ */ React14__default.default.createElement("span", null, name),
462
462
  onClick: () => {
463
463
  },
464
464
  shouldShowArrow: false,
@@ -468,22 +468,22 @@ var TreeNode = React17.memo((props) => {
468
468
  const { expanded, onClick, children, nodeRenderer, title, shouldShowArrow, shouldShowPlaceholder } = props;
469
469
  const styles = useStyles("TreeNode");
470
470
  const NodeRenderer = nodeRenderer;
471
- return /* @__PURE__ */ React17__default.default.createElement("li", {
471
+ return /* @__PURE__ */ React14__default.default.createElement("li", {
472
472
  "aria-expanded": expanded,
473
473
  role: "treeitem",
474
474
  style: styles.treeNodeBase,
475
475
  title
476
- }, /* @__PURE__ */ React17__default.default.createElement("div", {
476
+ }, /* @__PURE__ */ React14__default.default.createElement("div", {
477
477
  style: styles.treeNodePreviewContainer,
478
478
  onClick
479
- }, shouldShowArrow || React17.Children.count(children) > 0 ? /* @__PURE__ */ React17__default.default.createElement(Arrow, {
479
+ }, shouldShowArrow || React14.Children.count(children) > 0 ? /* @__PURE__ */ React14__default.default.createElement(Arrow, {
480
480
  expanded,
481
481
  styles: styles.treeNodeArrow
482
- }) : shouldShowPlaceholder && /* @__PURE__ */ React17__default.default.createElement("span", {
482
+ }) : shouldShowPlaceholder && /* @__PURE__ */ React14__default.default.createElement("span", {
483
483
  style: styles.treeNodePlaceholder
484
- }, "\xA0"), /* @__PURE__ */ React17__default.default.createElement(NodeRenderer, {
484
+ }, "\xA0"), /* @__PURE__ */ React14__default.default.createElement(NodeRenderer, {
485
485
  ...props
486
- })), /* @__PURE__ */ React17__default.default.createElement("ol", {
486
+ })), /* @__PURE__ */ React14__default.default.createElement("ol", {
487
487
  role: "group",
488
488
  style: styles.treeNodeChildNodesContainer
489
489
  }, expanded ? children : void 0));
@@ -533,16 +533,16 @@ var getExpandedPaths = (data, dataIterator, expandPaths, expandLevel, prevExpand
533
533
  return obj;
534
534
  }, { ...prevExpandedPaths });
535
535
  };
536
- var ConnectedTreeNode = React17.memo((props) => {
536
+ var ConnectedTreeNode = React14.memo((props) => {
537
537
  const { data, dataIterator, path, depth, nodeRenderer } = props;
538
- const [expandedPaths, setExpandedPaths] = React17.useContext(ExpandedPathsContext);
538
+ const [expandedPaths, setExpandedPaths] = React14.useContext(ExpandedPathsContext);
539
539
  const nodeHasChildNodes = hasChildNodes(data, dataIterator);
540
540
  const expanded = !!expandedPaths[path];
541
- const handleClick = React17.useCallback(() => nodeHasChildNodes && setExpandedPaths((prevExpandedPaths) => ({
541
+ const handleClick = React14.useCallback(() => nodeHasChildNodes && setExpandedPaths((prevExpandedPaths) => ({
542
542
  ...prevExpandedPaths,
543
543
  [path]: !expanded
544
544
  })), [nodeHasChildNodes, setExpandedPaths, path, expanded]);
545
- return /* @__PURE__ */ React17__default.default.createElement(TreeNode, {
545
+ return /* @__PURE__ */ React14__default.default.createElement(TreeNode, {
546
546
  expanded,
547
547
  onClick: handleClick,
548
548
  shouldShowArrow: nodeHasChildNodes,
@@ -550,7 +550,7 @@ var ConnectedTreeNode = React17.memo((props) => {
550
550
  nodeRenderer,
551
551
  ...props
552
552
  }, expanded ? [...dataIterator(data)].map(({ name, data: data2, ...renderNodeProps }) => {
553
- return /* @__PURE__ */ React17__default.default.createElement(ConnectedTreeNode, {
553
+ return /* @__PURE__ */ React14__default.default.createElement(ConnectedTreeNode, {
554
554
  name,
555
555
  data: data2,
556
556
  depth: depth + 1,
@@ -562,17 +562,17 @@ var ConnectedTreeNode = React17.memo((props) => {
562
562
  });
563
563
  }) : null);
564
564
  });
565
- var TreeView = React17.memo(({ name, data, dataIterator, nodeRenderer, expandPaths, expandLevel }) => {
565
+ var TreeView = React14.memo(({ name, data, dataIterator, nodeRenderer, expandPaths, expandLevel }) => {
566
566
  const styles = useStyles("TreeView");
567
- const stateAndSetter = React17.useState({});
567
+ const stateAndSetter = React14.useState({});
568
568
  const [, setExpandedPaths] = stateAndSetter;
569
- React17.useLayoutEffect(() => setExpandedPaths((prevExpandedPaths) => getExpandedPaths(data, dataIterator, expandPaths, expandLevel, prevExpandedPaths)), [data, dataIterator, expandPaths, expandLevel]);
570
- return /* @__PURE__ */ React17__default.default.createElement(ExpandedPathsContext.Provider, {
569
+ React14.useLayoutEffect(() => setExpandedPaths((prevExpandedPaths) => getExpandedPaths(data, dataIterator, expandPaths, expandLevel, prevExpandedPaths)), [data, dataIterator, expandPaths, expandLevel]);
570
+ return /* @__PURE__ */ React14__default.default.createElement(ExpandedPathsContext.Provider, {
571
571
  value: stateAndSetter
572
- }, /* @__PURE__ */ React17__default.default.createElement("ol", {
572
+ }, /* @__PURE__ */ React14__default.default.createElement("ol", {
573
573
  role: "tree",
574
574
  style: styles.treeViewOutline
575
- }, /* @__PURE__ */ React17__default.default.createElement(ConnectedTreeNode, {
575
+ }, /* @__PURE__ */ React14__default.default.createElement(ConnectedTreeNode, {
576
576
  name,
577
577
  data,
578
578
  dataIterator,
@@ -588,7 +588,7 @@ var ObjectName = ({ name, dimmed = false, styles = {} }) => {
588
588
  ...dimmed ? themeStyles["dimmed"] : {},
589
589
  ...styles
590
590
  };
591
- return /* @__PURE__ */ React17__default.default.createElement("span", {
591
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
592
592
  style: appliedStyles
593
593
  }, name);
594
594
  };
@@ -597,61 +597,61 @@ var ObjectValue = ({ object, styles }) => {
597
597
  const mkStyle = (key) => ({ ...themeStyles[key], ...styles });
598
598
  switch (typeof object) {
599
599
  case "bigint":
600
- return /* @__PURE__ */ React17__default.default.createElement("span", {
600
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
601
601
  style: mkStyle("objectValueNumber")
602
602
  }, String(object), "n");
603
603
  case "number":
604
- return /* @__PURE__ */ React17__default.default.createElement("span", {
604
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
605
605
  style: mkStyle("objectValueNumber")
606
606
  }, String(object));
607
607
  case "string":
608
- return /* @__PURE__ */ React17__default.default.createElement("span", {
608
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
609
609
  style: mkStyle("objectValueString")
610
610
  }, '"', object, '"');
611
611
  case "boolean":
612
- return /* @__PURE__ */ React17__default.default.createElement("span", {
612
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
613
613
  style: mkStyle("objectValueBoolean")
614
614
  }, String(object));
615
615
  case "undefined":
616
- return /* @__PURE__ */ React17__default.default.createElement("span", {
616
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
617
617
  style: mkStyle("objectValueUndefined")
618
618
  }, "undefined");
619
619
  case "object":
620
620
  if (object === null) {
621
- return /* @__PURE__ */ React17__default.default.createElement("span", {
621
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
622
622
  style: mkStyle("objectValueNull")
623
623
  }, "null");
624
624
  }
625
625
  if (object instanceof Date) {
626
- return /* @__PURE__ */ React17__default.default.createElement("span", null, object.toString());
626
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, object.toString());
627
627
  }
628
628
  if (object instanceof RegExp) {
629
- return /* @__PURE__ */ React17__default.default.createElement("span", {
629
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
630
630
  style: mkStyle("objectValueRegExp")
631
631
  }, object.toString());
632
632
  }
633
633
  if (Array.isArray(object)) {
634
- return /* @__PURE__ */ React17__default.default.createElement("span", null, `Array(${object.length})`);
634
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, `Array(${object.length})`);
635
635
  }
636
636
  if (!object.constructor) {
637
- return /* @__PURE__ */ React17__default.default.createElement("span", null, "Object");
637
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, "Object");
638
638
  }
639
639
  if (typeof object.constructor.isBuffer === "function" && object.constructor.isBuffer(object)) {
640
- return /* @__PURE__ */ React17__default.default.createElement("span", null, `Buffer[${object.length}]`);
640
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, `Buffer[${object.length}]`);
641
641
  }
642
- return /* @__PURE__ */ React17__default.default.createElement("span", null, object.constructor.name);
642
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, object.constructor.name);
643
643
  case "function":
644
- return /* @__PURE__ */ React17__default.default.createElement("span", null, /* @__PURE__ */ React17__default.default.createElement("span", {
644
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, /* @__PURE__ */ React14__default.default.createElement("span", {
645
645
  style: mkStyle("objectValueFunctionPrefix")
646
- }, "\u0192\xA0"), /* @__PURE__ */ React17__default.default.createElement("span", {
646
+ }, "\u0192\xA0"), /* @__PURE__ */ React14__default.default.createElement("span", {
647
647
  style: mkStyle("objectValueFunctionName")
648
648
  }, object.name, "()"));
649
649
  case "symbol":
650
- return /* @__PURE__ */ React17__default.default.createElement("span", {
650
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
651
651
  style: mkStyle("objectValueSymbol")
652
652
  }, object.toString());
653
653
  default:
654
- return /* @__PURE__ */ React17__default.default.createElement("span", null);
654
+ return /* @__PURE__ */ React14__default.default.createElement("span", null);
655
655
  }
656
656
  };
657
657
  var hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -677,25 +677,25 @@ var ObjectPreview = ({ data }) => {
677
677
  const styles = useStyles("ObjectPreview");
678
678
  const object = data;
679
679
  if (typeof object !== "object" || object === null || object instanceof Date || object instanceof RegExp) {
680
- return /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
680
+ return /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
681
681
  object
682
682
  });
683
683
  }
684
684
  if (Array.isArray(object)) {
685
685
  const maxProperties = styles.arrayMaxProperties;
686
- const previewArray = object.slice(0, maxProperties).map((element, index) => /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
686
+ const previewArray = object.slice(0, maxProperties).map((element, index) => /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
687
687
  key: index,
688
688
  object: element
689
689
  }));
690
690
  if (object.length > maxProperties) {
691
- previewArray.push(/* @__PURE__ */ React17__default.default.createElement("span", {
691
+ previewArray.push(/* @__PURE__ */ React14__default.default.createElement("span", {
692
692
  key: "ellipsis"
693
693
  }, "\u2026"));
694
694
  }
695
695
  const arrayLength = object.length;
696
- return /* @__PURE__ */ React17__default.default.createElement(React17__default.default.Fragment, null, /* @__PURE__ */ React17__default.default.createElement("span", {
696
+ return /* @__PURE__ */ React14__default.default.createElement(React14__default.default.Fragment, null, /* @__PURE__ */ React14__default.default.createElement("span", {
697
697
  style: styles.objectDescription
698
- }, arrayLength === 0 ? `` : `(${arrayLength})\xA0`), /* @__PURE__ */ React17__default.default.createElement("span", {
698
+ }, arrayLength === 0 ? `` : `(${arrayLength})\xA0`), /* @__PURE__ */ React14__default.default.createElement("span", {
699
699
  style: styles.preview
700
700
  }, "[", intersperse(previewArray, ", "), "]"));
701
701
  } else {
@@ -705,16 +705,16 @@ var ObjectPreview = ({ data }) => {
705
705
  if (hasOwnProperty.call(object, propertyName)) {
706
706
  let ellipsis;
707
707
  if (propertyNodes.length === maxProperties - 1 && Object.keys(object).length > maxProperties) {
708
- ellipsis = /* @__PURE__ */ React17__default.default.createElement("span", {
708
+ ellipsis = /* @__PURE__ */ React14__default.default.createElement("span", {
709
709
  key: "ellipsis"
710
710
  }, "\u2026");
711
711
  }
712
712
  const propertyValue = getPropertyValue(object, propertyName);
713
- propertyNodes.push(/* @__PURE__ */ React17__default.default.createElement("span", {
713
+ propertyNodes.push(/* @__PURE__ */ React14__default.default.createElement("span", {
714
714
  key: propertyName
715
- }, /* @__PURE__ */ React17__default.default.createElement(ObjectName, {
715
+ }, /* @__PURE__ */ React14__default.default.createElement(ObjectName, {
716
716
  name: propertyName || `""`
717
- }), ":\xA0", /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
717
+ }), ":\xA0", /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
718
718
  object: propertyValue
719
719
  }), ellipsis));
720
720
  if (ellipsis)
@@ -722,34 +722,34 @@ var ObjectPreview = ({ data }) => {
722
722
  }
723
723
  }
724
724
  const objectConstructorName = object.constructor ? object.constructor.name : "Object";
725
- return /* @__PURE__ */ React17__default.default.createElement(React17__default.default.Fragment, null, /* @__PURE__ */ React17__default.default.createElement("span", {
725
+ return /* @__PURE__ */ React14__default.default.createElement(React14__default.default.Fragment, null, /* @__PURE__ */ React14__default.default.createElement("span", {
726
726
  style: styles.objectDescription
727
- }, objectConstructorName === "Object" ? "" : `${objectConstructorName} `), /* @__PURE__ */ React17__default.default.createElement("span", {
727
+ }, objectConstructorName === "Object" ? "" : `${objectConstructorName} `), /* @__PURE__ */ React14__default.default.createElement("span", {
728
728
  style: styles.preview
729
729
  }, "{", intersperse(propertyNodes, ", "), "}"));
730
730
  }
731
731
  };
732
732
  var ObjectRootLabel = ({ name, data }) => {
733
733
  if (typeof name === "string") {
734
- return /* @__PURE__ */ React17__default.default.createElement("span", null, /* @__PURE__ */ React17__default.default.createElement(ObjectName, {
734
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, /* @__PURE__ */ React14__default.default.createElement(ObjectName, {
735
735
  name
736
- }), /* @__PURE__ */ React17__default.default.createElement("span", null, ": "), /* @__PURE__ */ React17__default.default.createElement(ObjectPreview, {
736
+ }), /* @__PURE__ */ React14__default.default.createElement("span", null, ": "), /* @__PURE__ */ React14__default.default.createElement(ObjectPreview, {
737
737
  data
738
738
  }));
739
739
  } else {
740
- return /* @__PURE__ */ React17__default.default.createElement(ObjectPreview, {
740
+ return /* @__PURE__ */ React14__default.default.createElement(ObjectPreview, {
741
741
  data
742
742
  });
743
743
  }
744
744
  };
745
745
  var ObjectLabel = ({ name, data, isNonenumerable = false }) => {
746
746
  const object = data;
747
- return /* @__PURE__ */ React17__default.default.createElement("span", null, typeof name === "string" ? /* @__PURE__ */ React17__default.default.createElement(ObjectName, {
747
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, typeof name === "string" ? /* @__PURE__ */ React14__default.default.createElement(ObjectName, {
748
748
  name,
749
749
  dimmed: isNonenumerable
750
- }) : /* @__PURE__ */ React17__default.default.createElement(ObjectPreview, {
750
+ }) : /* @__PURE__ */ React14__default.default.createElement(ObjectPreview, {
751
751
  data: name
752
- }), /* @__PURE__ */ React17__default.default.createElement("span", null, ": "), /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
752
+ }), /* @__PURE__ */ React14__default.default.createElement("span", null, ": "), /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
753
753
  object
754
754
  }));
755
755
  };
@@ -816,10 +816,10 @@ var createIterator = (showNonenumerable, sortObjectKeys) => {
816
816
  };
817
817
  return objectIterator;
818
818
  };
819
- var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth === 0 ? /* @__PURE__ */ React17__default.default.createElement(ObjectRootLabel, {
819
+ var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth === 0 ? /* @__PURE__ */ React14__default.default.createElement(ObjectRootLabel, {
820
820
  name,
821
821
  data
822
- }) : /* @__PURE__ */ React17__default.default.createElement(ObjectLabel, {
822
+ }) : /* @__PURE__ */ React14__default.default.createElement(ObjectLabel, {
823
823
  name,
824
824
  data,
825
825
  isNonenumerable
@@ -827,7 +827,7 @@ var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth ===
827
827
  var ObjectInspector = ({ showNonenumerable = false, sortObjectKeys, nodeRenderer, ...treeViewProps }) => {
828
828
  const dataIterator = createIterator(showNonenumerable, sortObjectKeys);
829
829
  const renderer = nodeRenderer ? nodeRenderer : defaultNodeRenderer;
830
- return /* @__PURE__ */ React17__default.default.createElement(TreeView, {
830
+ return /* @__PURE__ */ React14__default.default.createElement(TreeView, {
831
831
  nodeRenderer: renderer,
832
832
  dataIterator,
833
833
  ...treeViewProps
@@ -866,33 +866,33 @@ function getHeaders(data) {
866
866
  var DataContainer = ({ rows, columns, rowsData }) => {
867
867
  const styles = useStyles("TableInspectorDataContainer");
868
868
  const borderStyles = useStyles("TableInspectorLeftBorder");
869
- return /* @__PURE__ */ React17__default.default.createElement("div", {
869
+ return /* @__PURE__ */ React14__default.default.createElement("div", {
870
870
  style: styles.div
871
- }, /* @__PURE__ */ React17__default.default.createElement("table", {
871
+ }, /* @__PURE__ */ React14__default.default.createElement("table", {
872
872
  style: styles.table
873
- }, /* @__PURE__ */ React17__default.default.createElement("colgroup", null), /* @__PURE__ */ React17__default.default.createElement("tbody", null, rows.map((row, i) => /* @__PURE__ */ React17__default.default.createElement("tr", {
873
+ }, /* @__PURE__ */ React14__default.default.createElement("colgroup", null), /* @__PURE__ */ React14__default.default.createElement("tbody", null, rows.map((row, i) => /* @__PURE__ */ React14__default.default.createElement("tr", {
874
874
  key: row,
875
875
  style: styles.tr
876
- }, /* @__PURE__ */ React17__default.default.createElement("td", {
876
+ }, /* @__PURE__ */ React14__default.default.createElement("td", {
877
877
  style: { ...styles.td, ...borderStyles.none }
878
878
  }, row), columns.map((column) => {
879
879
  const rowData = rowsData[i];
880
880
  if (typeof rowData === "object" && rowData !== null && hasOwnProperty.call(rowData, column)) {
881
- return /* @__PURE__ */ React17__default.default.createElement("td", {
881
+ return /* @__PURE__ */ React14__default.default.createElement("td", {
882
882
  key: column,
883
883
  style: { ...styles.td, ...borderStyles.solid }
884
- }, /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
884
+ }, /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
885
885
  object: rowData[column]
886
886
  }));
887
887
  } else {
888
- return /* @__PURE__ */ React17__default.default.createElement("td", {
888
+ return /* @__PURE__ */ React14__default.default.createElement("td", {
889
889
  key: column,
890
890
  style: { ...styles.td, ...borderStyles.solid }
891
891
  });
892
892
  }
893
893
  }))))));
894
894
  };
895
- var SortIconContainer = (props) => /* @__PURE__ */ React17__default.default.createElement("div", {
895
+ var SortIconContainer = (props) => /* @__PURE__ */ React14__default.default.createElement("div", {
896
896
  style: {
897
897
  position: "absolute",
898
898
  top: 1,
@@ -905,7 +905,7 @@ var SortIconContainer = (props) => /* @__PURE__ */ React17__default.default.crea
905
905
  var SortIcon = ({ sortAscending }) => {
906
906
  const styles = useStyles("TableInspectorSortIcon");
907
907
  const glyph = sortAscending ? "\u25B2" : "\u25BC";
908
- return /* @__PURE__ */ React17__default.default.createElement("div", {
908
+ return /* @__PURE__ */ React14__default.default.createElement("div", {
909
909
  style: styles
910
910
  }, glyph);
911
911
  };
@@ -918,10 +918,10 @@ var TH = ({
918
918
  ...thProps
919
919
  }) => {
920
920
  const styles = useStyles("TableInspectorTH");
921
- const [hovered, setHovered] = React17.useState(false);
922
- const handleMouseEnter = React17.useCallback(() => setHovered(true), []);
923
- const handleMouseLeave = React17.useCallback(() => setHovered(false), []);
924
- return /* @__PURE__ */ React17__default.default.createElement("th", {
921
+ const [hovered, setHovered] = React14.useState(false);
922
+ const handleMouseEnter = React14.useCallback(() => setHovered(true), []);
923
+ const handleMouseLeave = React14.useCallback(() => setHovered(false), []);
924
+ return /* @__PURE__ */ React14__default.default.createElement("th", {
925
925
  ...thProps,
926
926
  style: {
927
927
  ...styles.base,
@@ -931,9 +931,9 @@ var TH = ({
931
931
  onMouseEnter: handleMouseEnter,
932
932
  onMouseLeave: handleMouseLeave,
933
933
  onClick
934
- }, /* @__PURE__ */ React17__default.default.createElement("div", {
934
+ }, /* @__PURE__ */ React14__default.default.createElement("div", {
935
935
  style: styles.div
936
- }, children), sorted && /* @__PURE__ */ React17__default.default.createElement(SortIconContainer, null, /* @__PURE__ */ React17__default.default.createElement(SortIcon, {
936
+ }, children), sorted && /* @__PURE__ */ React14__default.default.createElement(SortIconContainer, null, /* @__PURE__ */ React14__default.default.createElement(SortIcon, {
937
937
  sortAscending
938
938
  })));
939
939
  };
@@ -949,16 +949,16 @@ var HeaderContainer = ({
949
949
  }) => {
950
950
  const styles = useStyles("TableInspectorHeaderContainer");
951
951
  const borderStyles = useStyles("TableInspectorLeftBorder");
952
- return /* @__PURE__ */ React17__default.default.createElement("div", {
952
+ return /* @__PURE__ */ React14__default.default.createElement("div", {
953
953
  style: styles.base
954
- }, /* @__PURE__ */ React17__default.default.createElement("table", {
954
+ }, /* @__PURE__ */ React14__default.default.createElement("table", {
955
955
  style: styles.table
956
- }, /* @__PURE__ */ React17__default.default.createElement("tbody", null, /* @__PURE__ */ React17__default.default.createElement("tr", null, /* @__PURE__ */ React17__default.default.createElement(TH, {
956
+ }, /* @__PURE__ */ React14__default.default.createElement("tbody", null, /* @__PURE__ */ React14__default.default.createElement("tr", null, /* @__PURE__ */ React14__default.default.createElement(TH, {
957
957
  borderStyle: borderStyles.none,
958
958
  sorted: sorted && sortIndexColumn,
959
959
  sortAscending,
960
960
  onClick: onIndexTHClick
961
- }, indexColumnText), columns.map((column) => /* @__PURE__ */ React17__default.default.createElement(TH, {
961
+ }, indexColumnText), columns.map((column) => /* @__PURE__ */ React14__default.default.createElement(TH, {
962
962
  borderStyle: borderStyles.solid,
963
963
  key: column,
964
964
  sorted: sorted && sortColumn === column,
@@ -971,13 +971,13 @@ var TableInspector = ({
971
971
  columns
972
972
  }) => {
973
973
  const styles = useStyles("TableInspector");
974
- const [{ sorted, sortIndexColumn, sortColumn, sortAscending }, setState] = React17.useState({
974
+ const [{ sorted, sortIndexColumn, sortColumn, sortAscending }, setState] = React14.useState({
975
975
  sorted: false,
976
976
  sortIndexColumn: false,
977
977
  sortColumn: void 0,
978
978
  sortAscending: false
979
979
  });
980
- const handleIndexTHClick = React17.useCallback(() => {
980
+ const handleIndexTHClick = React14.useCallback(() => {
981
981
  setState(({ sortIndexColumn: sortIndexColumn2, sortAscending: sortAscending2 }) => ({
982
982
  sorted: true,
983
983
  sortIndexColumn: true,
@@ -985,7 +985,7 @@ var TableInspector = ({
985
985
  sortAscending: sortIndexColumn2 ? !sortAscending2 : true
986
986
  }));
987
987
  }, []);
988
- const handleTHClick = React17.useCallback((col) => {
988
+ const handleTHClick = React14.useCallback((col) => {
989
989
  setState(({ sortColumn: sortColumn2, sortAscending: sortAscending2 }) => ({
990
990
  sorted: true,
991
991
  sortIndexColumn: false,
@@ -994,7 +994,7 @@ var TableInspector = ({
994
994
  }));
995
995
  }, []);
996
996
  if (typeof data !== "object" || data === null) {
997
- return /* @__PURE__ */ React17__default.default.createElement("div", null);
997
+ return /* @__PURE__ */ React14__default.default.createElement("div", null);
998
998
  }
999
999
  let { rowHeaders, colHeaders } = getHeaders(data);
1000
1000
  if (columns !== void 0) {
@@ -1058,9 +1058,9 @@ var TableInspector = ({
1058
1058
  rowHeaders = sortedRowIndexes.map((i) => rowHeaders[i]);
1059
1059
  rowsData = sortedRowIndexes.map((i) => rowsData[i]);
1060
1060
  }
1061
- return /* @__PURE__ */ React17__default.default.createElement("div", {
1061
+ return /* @__PURE__ */ React14__default.default.createElement("div", {
1062
1062
  style: styles.base
1063
- }, /* @__PURE__ */ React17__default.default.createElement(HeaderContainer, {
1063
+ }, /* @__PURE__ */ React14__default.default.createElement(HeaderContainer, {
1064
1064
  columns: colHeaders,
1065
1065
  sorted,
1066
1066
  sortIndexColumn,
@@ -1068,7 +1068,7 @@ var TableInspector = ({
1068
1068
  sortAscending,
1069
1069
  onTHClick: handleTHClick,
1070
1070
  onIndexTHClick: handleIndexTHClick
1071
- }), /* @__PURE__ */ React17__default.default.createElement(DataContainer, {
1071
+ }), /* @__PURE__ */ React14__default.default.createElement(DataContainer, {
1072
1072
  rows: rowHeaders,
1073
1073
  columns: colHeaders,
1074
1074
  rowsData
@@ -1078,20 +1078,20 @@ var themedTableInspector = themeAcceptor(TableInspector);
1078
1078
  var TEXT_NODE_MAX_INLINE_CHARS = 80;
1079
1079
  var shouldInline = (data) => data.childNodes.length === 0 || data.childNodes.length === 1 && data.childNodes[0].nodeType === Node.TEXT_NODE && data.textContent.length < TEXT_NODE_MAX_INLINE_CHARS;
1080
1080
  var OpenTag = ({ tagName, attributes, styles }) => {
1081
- return /* @__PURE__ */ React17__default.default.createElement("span", {
1081
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
1082
1082
  style: styles.base
1083
- }, "<", /* @__PURE__ */ React17__default.default.createElement("span", {
1083
+ }, "<", /* @__PURE__ */ React14__default.default.createElement("span", {
1084
1084
  style: styles.tagName
1085
1085
  }, tagName), (() => {
1086
1086
  if (attributes) {
1087
1087
  const attributeNodes = [];
1088
1088
  for (let i = 0; i < attributes.length; i++) {
1089
1089
  const attribute = attributes[i];
1090
- attributeNodes.push(/* @__PURE__ */ React17__default.default.createElement("span", {
1090
+ attributeNodes.push(/* @__PURE__ */ React14__default.default.createElement("span", {
1091
1091
  key: i
1092
- }, " ", /* @__PURE__ */ React17__default.default.createElement("span", {
1092
+ }, " ", /* @__PURE__ */ React14__default.default.createElement("span", {
1093
1093
  style: styles.htmlAttributeName
1094
- }, attribute.name), '="', /* @__PURE__ */ React17__default.default.createElement("span", {
1094
+ }, attribute.name), '="', /* @__PURE__ */ React14__default.default.createElement("span", {
1095
1095
  style: styles.htmlAttributeValue
1096
1096
  }, attribute.value), '"'));
1097
1097
  }
@@ -1099,9 +1099,9 @@ var OpenTag = ({ tagName, attributes, styles }) => {
1099
1099
  }
1100
1100
  })(), ">");
1101
1101
  };
1102
- var CloseTag = ({ tagName, isChildNode = false, styles }) => /* @__PURE__ */ React17__default.default.createElement("span", {
1102
+ var CloseTag = ({ tagName, isChildNode = false, styles }) => /* @__PURE__ */ React14__default.default.createElement("span", {
1103
1103
  style: Object.assign({}, styles.base, isChildNode && styles.offsetLeft)
1104
- }, "</", /* @__PURE__ */ React17__default.default.createElement("span", {
1104
+ }, "</", /* @__PURE__ */ React14__default.default.createElement("span", {
1105
1105
  style: styles.tagName
1106
1106
  }, tagName), ">");
1107
1107
  var nameByNodeType = {
@@ -1116,7 +1116,7 @@ var nameByNodeType = {
1116
1116
  var DOMNodePreview = ({ isCloseTag, data, expanded }) => {
1117
1117
  const styles = useStyles("DOMNodePreview");
1118
1118
  if (isCloseTag) {
1119
- return /* @__PURE__ */ React17__default.default.createElement(CloseTag, {
1119
+ return /* @__PURE__ */ React14__default.default.createElement(CloseTag, {
1120
1120
  styles: styles.htmlCloseTag,
1121
1121
  isChildNode: true,
1122
1122
  tagName: data.tagName
@@ -1124,34 +1124,34 @@ var DOMNodePreview = ({ isCloseTag, data, expanded }) => {
1124
1124
  }
1125
1125
  switch (data.nodeType) {
1126
1126
  case Node.ELEMENT_NODE:
1127
- return /* @__PURE__ */ React17__default.default.createElement("span", null, /* @__PURE__ */ React17__default.default.createElement(OpenTag, {
1127
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, /* @__PURE__ */ React14__default.default.createElement(OpenTag, {
1128
1128
  tagName: data.tagName,
1129
1129
  attributes: data.attributes,
1130
1130
  styles: styles.htmlOpenTag
1131
- }), shouldInline(data) ? data.textContent : !expanded && "\u2026", !expanded && /* @__PURE__ */ React17__default.default.createElement(CloseTag, {
1131
+ }), shouldInline(data) ? data.textContent : !expanded && "\u2026", !expanded && /* @__PURE__ */ React14__default.default.createElement(CloseTag, {
1132
1132
  tagName: data.tagName,
1133
1133
  styles: styles.htmlCloseTag
1134
1134
  }));
1135
1135
  case Node.TEXT_NODE:
1136
- return /* @__PURE__ */ React17__default.default.createElement("span", null, data.textContent);
1136
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, data.textContent);
1137
1137
  case Node.CDATA_SECTION_NODE:
1138
- return /* @__PURE__ */ React17__default.default.createElement("span", null, "<![CDATA[" + data.textContent + "]]>");
1138
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, "<![CDATA[" + data.textContent + "]]>");
1139
1139
  case Node.COMMENT_NODE:
1140
- return /* @__PURE__ */ React17__default.default.createElement("span", {
1140
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
1141
1141
  style: styles.htmlComment
1142
1142
  }, "<!--", data.textContent, "-->");
1143
1143
  case Node.PROCESSING_INSTRUCTION_NODE:
1144
- return /* @__PURE__ */ React17__default.default.createElement("span", null, data.nodeName);
1144
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, data.nodeName);
1145
1145
  case Node.DOCUMENT_TYPE_NODE:
1146
- return /* @__PURE__ */ React17__default.default.createElement("span", {
1146
+ return /* @__PURE__ */ React14__default.default.createElement("span", {
1147
1147
  style: styles.htmlDoctype
1148
1148
  }, "<!DOCTYPE ", data.name, data.publicId ? ` PUBLIC "${data.publicId}"` : "", !data.publicId && data.systemId ? " SYSTEM" : "", data.systemId ? ` "${data.systemId}"` : "", ">");
1149
1149
  case Node.DOCUMENT_NODE:
1150
- return /* @__PURE__ */ React17__default.default.createElement("span", null, data.nodeName);
1150
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, data.nodeName);
1151
1151
  case Node.DOCUMENT_FRAGMENT_NODE:
1152
- return /* @__PURE__ */ React17__default.default.createElement("span", null, data.nodeName);
1152
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, data.nodeName);
1153
1153
  default:
1154
- return /* @__PURE__ */ React17__default.default.createElement("span", null, nameByNodeType[data.nodeType]);
1154
+ return /* @__PURE__ */ React14__default.default.createElement("span", null, nameByNodeType[data.nodeType]);
1155
1155
  }
1156
1156
  };
1157
1157
  var domIterator = function* (data) {
@@ -1181,7 +1181,7 @@ var domIterator = function* (data) {
1181
1181
  }
1182
1182
  };
1183
1183
  var DOMInspector = (props) => {
1184
- return /* @__PURE__ */ React17__default.default.createElement(TreeView, {
1184
+ return /* @__PURE__ */ React14__default.default.createElement(TreeView, {
1185
1185
  nodeRenderer: DOMNodePreview,
1186
1186
  dataIterator: domIterator,
1187
1187
  ...props
@@ -1191,41 +1191,35 @@ var themedDOMInspector = themeAcceptor(DOMInspector);
1191
1191
  var import_is_dom = __toESM(require_is_dom());
1192
1192
  var Inspector = ({ table = false, data, ...rest }) => {
1193
1193
  if (table) {
1194
- return /* @__PURE__ */ React17__default.default.createElement(themedTableInspector, {
1194
+ return /* @__PURE__ */ React14__default.default.createElement(themedTableInspector, {
1195
1195
  data,
1196
1196
  ...rest
1197
1197
  });
1198
1198
  }
1199
1199
  if ((0, import_is_dom.default)(data))
1200
- return /* @__PURE__ */ React17__default.default.createElement(themedDOMInspector, {
1200
+ return /* @__PURE__ */ React14__default.default.createElement(themedDOMInspector, {
1201
1201
  data,
1202
1202
  ...rest
1203
1203
  });
1204
- return /* @__PURE__ */ React17__default.default.createElement(themedObjectInspector, {
1204
+ return /* @__PURE__ */ React14__default.default.createElement(themedObjectInspector, {
1205
1205
  data,
1206
1206
  ...rest
1207
1207
  });
1208
1208
  };
1209
1209
 
1210
1210
  // src/experiments/inspect.tsx
1211
- var FIBER_PROP_EXPLANATIONS = {
1212
- tag: "Numeric type identifier for this fiber (e.g. 1=FunctionComponent, 5=HostComponent)",
1213
- elementType: "The original function/class/element type",
1214
- type: "The resolved function/class after going through any HOCs",
1215
- stateNode: "Reference to the actual instance (DOM node, class instance, etc)",
1216
- return: "Parent fiber",
1217
- child: "First child fiber",
1218
- sibling: "Next sibling fiber",
1219
- index: "Position among siblings",
1220
- ref: "Ref object or function",
1221
- pendingProps: "Props that are about to be applied",
1222
- memoizedProps: "Props from the last render",
1223
- memoizedState: "State from the last render",
1224
- dependencies: "Context and other dependencies this fiber subscribes to",
1225
- flags: "Side-effects flags (e.g. needs update, deletion)",
1226
- lanes: "Priority lanes for updates",
1227
- childLanes: "Priority lanes for child updates"
1211
+ var useImperativeHandlePolyfill = (ref, init, deps) => {
1212
+ React14.useEffect(() => {
1213
+ if (ref) {
1214
+ if (typeof ref === "function") {
1215
+ ref(init());
1216
+ } else if (typeof ref === "object" && "current" in ref) {
1217
+ ref.current = init();
1218
+ }
1219
+ }
1220
+ }, deps);
1228
1221
  };
1222
+ var useImperativeHandle = React14.useImperativeHandle || useImperativeHandlePolyfill;
1229
1223
  var throttle = (fn, wait) => {
1230
1224
  let timeout = null;
1231
1225
  return function() {
@@ -1237,7 +1231,6 @@ var throttle = (fn, wait) => {
1237
1231
  }
1238
1232
  };
1239
1233
  };
1240
- var isMac = typeof navigator !== "undefined" && navigator.platform?.toLowerCase().includes("mac");
1241
1234
  var theme3 = {
1242
1235
  BASE_FONT_FAMILY: "Menlo, monospace",
1243
1236
  BASE_FONT_SIZE: "12px",
@@ -1277,189 +1270,82 @@ var theme3 = {
1277
1270
  TABLE_DATA_BACKGROUND_IMAGE: "none",
1278
1271
  TABLE_DATA_BACKGROUND_SIZE: "0"
1279
1272
  };
1280
- var BackButton = React17__default.default.memo(({ onClick }) => /* @__PURE__ */ React17__default.default.createElement(
1281
- "button",
1282
- {
1283
- type: "button",
1284
- onClick,
1285
- style: {
1286
- padding: "0.5ch 1ch",
1287
- background: "#161616",
1288
- border: "1px solid #282828",
1289
- color: "#FFF",
1290
- borderRadius: "0.25rem",
1291
- cursor: "pointer",
1292
- fontSize: "0.875rem",
1293
- opacity: 0.8,
1294
- transition: "opacity 150ms"
1295
- },
1296
- onMouseEnter: (e) => {
1297
- e.currentTarget.style.opacity = "1";
1298
- },
1299
- onMouseLeave: (e) => {
1300
- e.currentTarget.style.opacity = "0.8";
1301
- }
1302
- },
1303
- "\u2190 Back"
1304
- ));
1305
- var BreadcrumbButton = React17__default.default.memo(
1306
- ({
1307
- name,
1308
- onClick,
1309
- onKeyDown
1310
- }) => /* @__PURE__ */ React17__default.default.createElement(
1311
- "button",
1312
- {
1313
- type: "button",
1314
- onClick,
1315
- onKeyDown,
1316
- style: {
1317
- cursor: "pointer",
1318
- textDecoration: "underline",
1319
- color: "#A0A0A0",
1320
- background: "none",
1321
- border: "none",
1322
- padding: 0,
1323
- font: "inherit"
1324
- },
1325
- onMouseEnter: (e) => {
1326
- e.currentTarget.style.backgroundColor = "#232323";
1327
- e.currentTarget.style.color = "#FFF";
1328
- },
1329
- onMouseLeave: (e) => {
1330
- e.currentTarget.style.backgroundColor = "";
1331
- e.currentTarget.style.color = "#A0A0A0";
1273
+ var RawInspector = React14.forwardRef(
1274
+ ({ enabled = true, dangerouslyRunInProduction = false }, ref) => {
1275
+ const [element, setElement] = React14.useState(null);
1276
+ const [currentFiber, setCurrentFiber] = React14.useState(null);
1277
+ const [currentFiberSource, setCurrentFiberSource] = React14.useState(null);
1278
+ const [rect, setRect] = React14.useState(null);
1279
+ const [isActive, setIsActive] = React14.useState(true);
1280
+ const [isEnabled, setIsEnabled] = React14.useState(enabled);
1281
+ const [position, setPosition] = React14.useState({ top: 0, left: 0 });
1282
+ const currentCleanedFiber = React14.useMemo(() => {
1283
+ if (!currentFiber) return null;
1284
+ const clonedFiber = { ...currentFiber };
1285
+ for (const key in clonedFiber) {
1286
+ const value = clonedFiber[key];
1287
+ if (!value) delete clonedFiber[key];
1332
1288
  }
1333
- },
1334
- name
1335
- )
1336
- );
1337
- var CloseButton = React17__default.default.memo(({ onClick }) => /* @__PURE__ */ React17__default.default.createElement(
1338
- "button",
1339
- {
1340
- type: "button",
1341
- onClick,
1342
- style: {
1343
- border: "none",
1344
- background: "none",
1345
- cursor: "pointer",
1346
- padding: "0.5ch",
1347
- fontSize: "2ch",
1348
- opacity: 0.5,
1349
- color: "#FFF"
1350
- }
1351
- },
1352
- "\xD7"
1353
- ));
1354
- var RawInspector = React17__default.default.memo(
1355
- ({ enabled = true, dangerouslyRunInProduction = false }) => {
1356
- const [element, setElement] = React17.useState(null);
1357
- const [rect, setRect] = React17.useState(null);
1358
- const [isActive, setIsActive] = React17.useState(true);
1359
- const [isDialogMode, setIsDialogMode] = React17.useState(false);
1360
- const [tooltip, setTooltip] = React17.useState(null);
1361
- const [selectedFiber, setSelectedFiber] = React17.useState(null);
1362
- const [position, setPosition] = React17.useState({
1363
- top: 0,
1364
- left: 0
1365
- });
1366
- const [fiberHistory, setFiberHistory] = React17.useState([]);
1367
- const getFiberForDisplay = React17.useCallback(() => {
1368
- if (selectedFiber) return selectedFiber;
1369
- const fiber2 = chunkOZZZ2ACU_cjs.getFiberFromHostInstance(element);
1370
- const parentFiber = chunkOZZZ2ACU_cjs.traverseFiber(
1371
- fiber2,
1372
- (f) => {
1373
- if (chunkOZZZ2ACU_cjs.isCompositeFiber(f)) return true;
1374
- },
1375
- true
1376
- );
1377
- console.log("fiber", parentFiber && chunkLMTDJIAV_cjs.getFiberSource(parentFiber));
1378
- return fiber2;
1379
- }, [selectedFiber, element]);
1380
- const handlePropertyHover = (_e, propName) => {
1381
- if (!isDialogMode) return;
1382
- const explanation = FIBER_PROP_EXPLANATIONS[propName];
1383
- setTooltip(explanation || null);
1384
- };
1385
- const handlePropertyLeave = () => {
1386
- setTooltip(null);
1387
- };
1388
- const handleClose = React17.useCallback(() => {
1389
- setIsDialogMode(false);
1390
- setFiberHistory([]);
1391
- setTooltip(null);
1392
- setSelectedFiber(null);
1393
- setElement(null);
1394
- setRect(null);
1395
- }, []);
1396
- React17.useEffect(() => {
1397
- const handleKeyDown = (e) => {
1398
- if (e.key === "o" && (e.metaKey || e.ctrlKey) && rect) {
1399
- e.preventDefault();
1400
- const currentFiber = getFiberForDisplay();
1401
- if (currentFiber) {
1402
- setFiberHistory([currentFiber]);
1403
- }
1404
- setIsDialogMode(true);
1405
- } else if (e.key === "Escape") {
1406
- handleClose();
1407
- }
1408
- };
1409
- window.addEventListener("keydown", handleKeyDown);
1410
- return () => window.removeEventListener("keydown", handleKeyDown);
1411
- }, [rect, getFiberForDisplay, handleClose]);
1412
- React17.useEffect(() => {
1413
- if (!isDialogMode) {
1414
- setTooltip(null);
1415
- setFiberHistory([]);
1416
- setSelectedFiber(null);
1289
+ return clonedFiber;
1290
+ }, [currentFiber]);
1291
+ useImperativeHandle(ref, () => ({
1292
+ enable: () => setIsEnabled(true),
1293
+ disable: () => {
1294
+ setIsEnabled(false);
1417
1295
  setElement(null);
1418
1296
  setRect(null);
1297
+ },
1298
+ inspectElement: (element2) => {
1299
+ if (!isEnabled) return;
1300
+ setElement(element2);
1301
+ setRect(element2.getBoundingClientRect());
1419
1302
  }
1420
- }, [isDialogMode]);
1421
- React17.useEffect(() => {
1303
+ }));
1304
+ React14.useEffect(() => {
1305
+ (async () => {
1306
+ if (!element) return;
1307
+ const fiber = chunkHBEFN4VG_cjs.getFiberFromHostInstance(element);
1308
+ if (!fiber) return;
1309
+ const latestFiber = chunkHBEFN4VG_cjs.getLatestFiber(fiber);
1310
+ const source = await chunk5UPESIXB_cjs.getFiberSource(latestFiber);
1311
+ setCurrentFiber(latestFiber);
1312
+ if (source) {
1313
+ setCurrentFiberSource(source);
1314
+ }
1315
+ })();
1316
+ }, [element]);
1317
+ React14.useEffect(() => {
1422
1318
  const handleMouseMove = (event) => {
1423
- if (isDialogMode) return;
1424
- const isActive2 = chunkOZZZ2ACU_cjs.isInstrumentationActive() || chunkOZZZ2ACU_cjs.hasRDTHook();
1319
+ const isActive2 = chunkHBEFN4VG_cjs.isInstrumentationActive() || chunkHBEFN4VG_cjs.hasRDTHook();
1425
1320
  if (!isActive2) {
1426
1321
  setIsActive(false);
1427
1322
  return;
1428
1323
  }
1429
1324
  if (!dangerouslyRunInProduction) {
1430
- const rdtHook = chunkOZZZ2ACU_cjs.getRDTHook();
1325
+ const rdtHook = chunkHBEFN4VG_cjs.getRDTHook();
1431
1326
  for (const renderer of rdtHook.renderers.values()) {
1432
- const buildType = chunkOZZZ2ACU_cjs.detectReactBuildType(renderer);
1327
+ const buildType = chunkHBEFN4VG_cjs.detectReactBuildType(renderer);
1433
1328
  if (buildType === "production") {
1434
1329
  setIsActive(false);
1435
1330
  return;
1436
1331
  }
1437
1332
  }
1438
1333
  }
1439
- if (!enabled) {
1334
+ if (!isEnabled) {
1440
1335
  setElement(null);
1441
1336
  setRect(null);
1442
- setSelectedFiber(null);
1443
1337
  return;
1444
1338
  }
1445
- if (!isDialogMode) {
1446
- const element2 = document.elementFromPoint(
1447
- event.clientX,
1448
- event.clientY
1449
- );
1450
- if (!element2) return;
1451
- setElement(element2);
1452
- setRect(element2.getBoundingClientRect());
1453
- setSelectedFiber(null);
1454
- }
1339
+ const element2 = document.elementFromPoint(event.clientX, event.clientY);
1340
+ if (!element2) return;
1341
+ setElement(element2);
1342
+ setRect(element2.getBoundingClientRect());
1455
1343
  };
1456
1344
  const throttledMouseMove = throttle(handleMouseMove, 16);
1457
1345
  document.addEventListener("mousemove", throttledMouseMove);
1458
- return () => {
1459
- document.removeEventListener("mousemove", throttledMouseMove);
1460
- };
1461
- }, [enabled, isDialogMode, dangerouslyRunInProduction]);
1462
- React17.useEffect(() => {
1346
+ return () => document.removeEventListener("mousemove", throttledMouseMove);
1347
+ }, [isEnabled, dangerouslyRunInProduction]);
1348
+ React14.useEffect(() => {
1463
1349
  if (!rect) return;
1464
1350
  const padding = 10;
1465
1351
  const inspectorWidth = 400;
@@ -1488,239 +1374,100 @@ var RawInspector = React17__default.default.memo(
1488
1374
  );
1489
1375
  setPosition({ top, left });
1490
1376
  }, [rect]);
1491
- React17.useEffect(() => {
1492
- if (selectedFiber) {
1493
- const element2 = chunkOZZZ2ACU_cjs.getNearestHostFiber(selectedFiber)?.stateNode;
1494
- if (element2) {
1495
- setElement(element2);
1496
- setRect(element2.getBoundingClientRect());
1497
- }
1498
- }
1499
- }, [selectedFiber]);
1500
- const handleBack = () => {
1501
- const previousFiber = fiberHistory[fiberHistory.length - 1];
1502
- if (previousFiber) {
1503
- setFiberHistory((prev) => prev.slice(0, -1));
1504
- setSelectedFiber(previousFiber);
1505
- }
1506
- };
1507
- if (!rect || !isActive) return null;
1508
- const fiber = getFiberForDisplay();
1509
- if (!fiber) return null;
1510
- let foundInspect = false;
1511
- chunkOZZZ2ACU_cjs.traverseFiber(
1512
- fiber,
1513
- (innerFiber) => {
1514
- if (innerFiber.type === Inspector2) {
1515
- foundInspect = true;
1516
- return true;
1517
- }
1518
- },
1519
- true
1520
- );
1521
- if (foundInspect) return null;
1522
- const dialogStyle = isDialogMode ? {
1523
- position: "fixed",
1524
- top: "50%",
1525
- left: "50%",
1526
- transform: "translate(-50%, -50%)",
1527
- width: "80vw",
1528
- height: "80vh",
1529
- maxWidth: "none",
1530
- maxHeight: "none",
1531
- padding: "2ch",
1532
- boxShadow: "0 0 0 5px rgba(0, 0, 0, 0.3)",
1533
- backgroundColor: "#1a1a1a",
1534
- border: "1px solid #333",
1535
- zIndex: 1e3
1536
- } : {};
1537
- const overlayStyle = isDialogMode ? {
1538
- position: "fixed",
1539
- top: 0,
1540
- left: 0,
1541
- right: 0,
1542
- bottom: 0,
1543
- backgroundColor: "rgba(0, 0, 0, 0.7)",
1544
- zIndex: 999
1545
- } : {};
1546
- const fiberStack = fiber ? chunkOZZZ2ACU_cjs.getFiberStack(fiber) : [];
1547
- return /* @__PURE__ */ React17__default.default.createElement(React17__default.default.Fragment, null, isDialogMode && /* @__PURE__ */ React17__default.default.createElement(
1548
- "div",
1549
- {
1550
- style: overlayStyle,
1551
- onClick: handleClose,
1552
- onKeyDown: (e) => {
1553
- if (e.key === "Escape") {
1554
- handleClose();
1555
- }
1556
- },
1557
- role: "button",
1558
- tabIndex: 0
1559
- }
1560
- ), /* @__PURE__ */ React17__default.default.createElement(
1377
+ if (!rect || !isActive || !isEnabled) return null;
1378
+ if (!currentFiber) return null;
1379
+ return /* @__PURE__ */ React14__default.default.createElement(React14__default.default.Fragment, null, /* @__PURE__ */ React14__default.default.createElement(
1561
1380
  "div",
1562
1381
  {
1382
+ className: "inspector-container",
1563
1383
  style: {
1564
1384
  position: "fixed",
1565
1385
  backgroundColor: "#101010",
1566
1386
  color: "#FFF",
1567
1387
  zIndex: 50,
1568
- padding: "1ch",
1569
- width: "50ch",
1570
- height: isDialogMode ? "80ch" : "40ch",
1571
- transition: "all 150ms, z-index 0ms",
1572
- overflow: "visible",
1573
- boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.3)",
1574
- border: "1px solid #282828",
1575
- top: position.top,
1576
- left: position.left,
1388
+ padding: "1rem",
1389
+ width: "30ch",
1390
+ height: "25ch",
1391
+ transition: "all 150ms ease-in-out",
1392
+ overflow: "auto",
1393
+ boxShadow: "0 4px 8px rgba(0, 0, 0, 0.5)",
1394
+ border: "1px solid #444",
1395
+ borderRadius: "8px",
1577
1396
  opacity: rect ? 1 : 0,
1578
1397
  transform: rect ? "translateY(0)" : "translateY(10px)",
1579
1398
  pointerEvents: rect ? "auto" : "none",
1580
- display: "flex",
1581
- flexDirection: "column",
1582
- ...dialogStyle
1399
+ top: position.top,
1400
+ left: position.left
1583
1401
  }
1584
1402
  },
1585
- /* @__PURE__ */ React17__default.default.createElement(
1403
+ currentFiber && /* @__PURE__ */ React14__default.default.createElement(
1404
+ Inspector,
1405
+ {
1406
+ theme: theme3,
1407
+ data: currentCleanedFiber,
1408
+ expandLevel: 1,
1409
+ table: false
1410
+ }
1411
+ ),
1412
+ /* @__PURE__ */ React14__default.default.createElement(
1586
1413
  "div",
1587
1414
  {
1588
1415
  style: {
1416
+ position: "absolute",
1417
+ bottom: "0",
1418
+ left: "0",
1419
+ right: "0",
1589
1420
  display: "flex",
1590
- justifyContent: "space-between",
1591
- alignItems: "center"
1421
+ alignItems: "center",
1422
+ gap: "1rem",
1423
+ backgroundColor: "#101010",
1424
+ padding: "0.75rem 1rem",
1425
+ borderTop: "1px solid #555",
1426
+ borderBottomLeftRadius: "8px",
1427
+ borderBottomRightRadius: "8px",
1428
+ zIndex: 1e3
1592
1429
  }
1593
1430
  },
1594
- /* @__PURE__ */ React17__default.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "1ch" } }, fiberHistory.length > 0 && /* @__PURE__ */ React17__default.default.createElement(BackButton, { onClick: handleBack }), /* @__PURE__ */ React17__default.default.createElement(
1595
- "h3",
1431
+ /* @__PURE__ */ React14__default.default.createElement(
1432
+ "div",
1596
1433
  {
1597
1434
  style: {
1598
1435
  fontSize: "0.875rem",
1599
- backgroundColor: "#161616",
1600
1436
  color: "#FFF",
1601
- padding: "0 0.5ch",
1602
- borderRadius: "0.125rem",
1603
- width: "fit-content",
1604
- margin: 0
1437
+ padding: "0.25rem 0.5rem",
1438
+ borderRadius: "4px",
1439
+ backgroundColor: "#3a3a3a"
1605
1440
  }
1606
1441
  },
1607
- `<${typeof fiber.type === "string" ? fiber.type : chunkOZZZ2ACU_cjs.getDisplayName(fiber.type) || "unknown"}>`,
1608
- !isDialogMode && /* @__PURE__ */ React17__default.default.createElement(
1609
- "span",
1610
- {
1611
- style: {
1612
- marginLeft: "1ch",
1613
- opacity: 0.5,
1614
- fontSize: "0.75rem"
1615
- }
1616
- },
1617
- `Press ${isMac ? "\u2318" : "ctrl"}O to expand`
1618
- )
1619
- )),
1620
- isDialogMode && /* @__PURE__ */ React17__default.default.createElement(CloseButton, { onClick: handleClose })
1621
- ),
1622
- isDialogMode && /* @__PURE__ */ React17__default.default.createElement(
1623
- "div",
1624
- {
1625
- style: {
1626
- borderTop: "1px solid #282828",
1627
- padding: "0.5ch 0",
1628
- fontSize: "0.75rem",
1629
- color: "#A0A0A0",
1630
- whiteSpace: "nowrap",
1631
- overflow: "hidden",
1632
- textOverflow: "ellipsis"
1633
- }
1634
- },
1635
- fiberStack.reverse().map((f, i, arr) => {
1636
- const name = typeof f.type === "string" ? f.type : chunkOZZZ2ACU_cjs.getDisplayName(f.type) || "unknown";
1637
- if (!name) return null;
1638
- return /* @__PURE__ */ React17__default.default.createElement(React17__default.default.Fragment, { key: chunkOZZZ2ACU_cjs.getFiberId(f) }, /* @__PURE__ */ React17__default.default.createElement(
1639
- BreadcrumbButton,
1640
- {
1641
- name,
1642
- onClick: () => {
1643
- if (selectedFiber) {
1644
- setFiberHistory((prev) => [...prev, selectedFiber]);
1645
- }
1646
- setSelectedFiber(f);
1647
- const element2 = chunkOZZZ2ACU_cjs.getNearestHostFiber(f)?.stateNode;
1648
- if (element2) {
1649
- setElement(element2);
1650
- setRect(element2.getBoundingClientRect());
1651
- }
1652
- },
1653
- onKeyDown: (e) => {
1654
- if (e.key === "Enter" || e.key === " ") {
1655
- if (selectedFiber) {
1656
- setFiberHistory((prev) => [...prev, selectedFiber]);
1657
- }
1658
- setSelectedFiber(f);
1659
- const element2 = chunkOZZZ2ACU_cjs.getNearestHostFiber(f)?.stateNode;
1660
- if (element2) {
1661
- setElement(element2);
1662
- setRect(element2.getBoundingClientRect());
1663
- }
1664
- }
1665
- }
1442
+ `<${chunkHBEFN4VG_cjs.getDisplayName(currentFiber.type) || "unknown"}>`
1443
+ ),
1444
+ /* @__PURE__ */ React14__default.default.createElement(
1445
+ "div",
1446
+ {
1447
+ style: {
1448
+ fontSize: "0.75rem",
1449
+ color: "#CCC"
1666
1450
  }
1667
- ), i < arr.length - 1 && " > ");
1668
- })
1669
- ),
1670
- /* @__PURE__ */ React17__default.default.createElement("div", { style: { flex: 1, overflow: "auto" } }, fiber && /* @__PURE__ */ React17__default.default.createElement(
1671
- Inspector,
1672
- {
1673
- theme: theme3,
1674
- data: fiber,
1675
- expandLevel: 1,
1676
- table: false,
1677
- nodeRenderer: (props) => {
1678
- const Component = props.depth === 0 ? ObjectRootLabel : ObjectLabel;
1679
- return /* @__PURE__ */ React17__default.default.createElement(
1680
- "span",
1681
- {
1682
- onMouseEnter: (e) => handlePropertyHover(e, props.name),
1683
- onMouseLeave: handlePropertyLeave,
1684
- style: {
1685
- cursor: FIBER_PROP_EXPLANATIONS[props.name] ? "help" : "default",
1686
- padding: "1px 0",
1687
- display: "inline-block",
1688
- fontWeight: FIBER_PROP_EXPLANATIONS[props.name] ? 500 : "normal"
1689
- }
1690
- },
1691
- /* @__PURE__ */ React17__default.default.createElement(
1692
- Component,
1693
- {
1694
- name: props.name,
1695
- data: props.data,
1696
- isNonenumerable: props.isNonenumerable
1697
- }
1698
- )
1699
- );
1451
+ },
1452
+ currentFiberSource ? /* @__PURE__ */ React14__default.default.createElement(React14__default.default.Fragment, null, currentFiberSource.fileName.split("/").slice(-2).join("/"), " ", /* @__PURE__ */ React14__default.default.createElement("br", null), "@ line ", currentFiberSource.lineNumber, ", column", " ", currentFiberSource.columnNumber) : null
1453
+ )
1454
+ )
1455
+ ), /* @__PURE__ */ React14__default.default.createElement("style", null, `
1456
+ .inspector-container::-webkit-scrollbar {
1457
+ width: 8px;
1700
1458
  }
1701
- }
1702
- )),
1703
- tooltip && /* @__PURE__ */ React17__default.default.createElement(
1704
- "div",
1705
- {
1706
- style: {
1707
- position: "absolute",
1708
- zIndex: 1001,
1709
- backgroundColor: "#161616",
1710
- color: "#FFF",
1711
- bottom: "2ch",
1712
- right: "2ch",
1713
- pointerEvents: "none",
1714
- overflowY: "auto",
1715
- padding: "1ch",
1716
- fontSize: "1ch",
1717
- border: "1px solid #282828",
1718
- borderRadius: "0.25ch"
1459
+ .inspector-container::-webkit-scrollbar-track {
1460
+ background: #1E1E1E;
1461
+ border-radius: 8px;
1719
1462
  }
1720
- },
1721
- tooltip
1722
- )
1723
- ), !isDialogMode && /* @__PURE__ */ React17__default.default.createElement(
1463
+ .inspector-container::-webkit-scrollbar-thumb {
1464
+ background: #444;
1465
+ border-radius: 8px;
1466
+ }
1467
+ .inspector-container::-webkit-scrollbar-thumb:hover {
1468
+ background: #555;
1469
+ }
1470
+ `), /* @__PURE__ */ React14__default.default.createElement(
1724
1471
  "div",
1725
1472
  {
1726
1473
  style: {
@@ -1739,20 +1486,22 @@ var RawInspector = React17__default.default.memo(
1739
1486
  ));
1740
1487
  }
1741
1488
  );
1742
- var Inspector2 = React17__default.default.memo(({ ...props }) => {
1743
- const [root, setRoot] = React17.useState(null);
1744
- React17.useEffect(() => {
1745
- const div = document.createElement("div");
1746
- document.body.appendChild(div);
1747
- const shadowRoot = div.attachShadow({ mode: "open" });
1748
- setRoot(shadowRoot);
1749
- return () => {
1750
- document.body.removeChild(div);
1751
- };
1752
- }, []);
1753
- if (!root) return null;
1754
- return ReactDOM__default.default.createPortal(/* @__PURE__ */ React17__default.default.createElement(RawInspector, { ...props }), root);
1755
- });
1489
+ var Inspector2 = React14.forwardRef(
1490
+ (props, ref) => {
1491
+ const [root, setRoot] = React14.useState(null);
1492
+ React14.useEffect(() => {
1493
+ const div = document.createElement("div");
1494
+ document.body.appendChild(div);
1495
+ const shadowRoot = div.attachShadow({ mode: "open" });
1496
+ setRoot(shadowRoot);
1497
+ return () => {
1498
+ document.body.removeChild(div);
1499
+ };
1500
+ }, []);
1501
+ if (!root) return null;
1502
+ return ReactDOM__default.default.createPortal(/* @__PURE__ */ React14__default.default.createElement(RawInspector, { ref, ...props }), root);
1503
+ }
1504
+ );
1756
1505
  var inspect_default = Inspector2;
1757
1506
 
1758
1507
  exports.Inspector = Inspector2;