bippy 0.2.2 → 0.2.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.
package/dist/inspect.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import './chunk-6TJRMCM3.js';
2
- import { getFiberFromHostInstance, isCompositeFiber, traverseFiber, getFiberStack, getDisplayName, isInstrumentationActive, getRDTHook, detectReactBuildType } from './chunk-XBNRYX4A.js';
3
- import React14, { createContext, memo, Children, useContext, useCallback, useState, useLayoutEffect, useEffect, useMemo } from 'react';
2
+ import { getNearestHostFiber, traverseFiber, getFiberStack, getDisplayName, getFiberId, getFiberFromHostInstance, isCompositeFiber, isInstrumentationActive, getRDTHook, detectReactBuildType } from './chunk-MISFWX22.js';
3
+ import React17, { createContext, memo, Children, useContext, useCallback, useState, useLayoutEffect, useEffect, useMemo } from 'react';
4
4
 
5
5
  /**
6
6
  * @license bippy
@@ -429,15 +429,15 @@ var themeAcceptor = (WrappedComponent) => {
429
429
  return createTheme(themes_exports[DEFAULT_THEME_NAME]);
430
430
  }
431
431
  }, [theme3]);
432
- return /* @__PURE__ */ React14.createElement(ThemeContext.Provider, {
432
+ return /* @__PURE__ */ React17.createElement(ThemeContext.Provider, {
433
433
  value: themeStyles
434
- }, /* @__PURE__ */ React14.createElement(WrappedComponent, {
434
+ }, /* @__PURE__ */ React17.createElement(WrappedComponent, {
435
435
  ...restProps
436
436
  }));
437
437
  };
438
438
  return ThemeAcceptor;
439
439
  };
440
- var Arrow = ({ expanded, styles }) => /* @__PURE__ */ React14.createElement("span", {
440
+ var Arrow = ({ expanded, styles }) => /* @__PURE__ */ React17.createElement("span", {
441
441
  style: {
442
442
  ...styles.base,
443
443
  ...expanded ? styles.expanded : styles.collapsed
@@ -446,7 +446,7 @@ var Arrow = ({ expanded, styles }) => /* @__PURE__ */ React14.createElement("spa
446
446
  var TreeNode = memo((props) => {
447
447
  props = {
448
448
  expanded: true,
449
- nodeRenderer: ({ name }) => /* @__PURE__ */ React14.createElement("span", null, name),
449
+ nodeRenderer: ({ name }) => /* @__PURE__ */ React17.createElement("span", null, name),
450
450
  onClick: () => {
451
451
  },
452
452
  shouldShowArrow: false,
@@ -456,22 +456,22 @@ var TreeNode = memo((props) => {
456
456
  const { expanded, onClick, children, nodeRenderer, title, shouldShowArrow, shouldShowPlaceholder } = props;
457
457
  const styles = useStyles("TreeNode");
458
458
  const NodeRenderer = nodeRenderer;
459
- return /* @__PURE__ */ React14.createElement("li", {
459
+ return /* @__PURE__ */ React17.createElement("li", {
460
460
  "aria-expanded": expanded,
461
461
  role: "treeitem",
462
462
  style: styles.treeNodeBase,
463
463
  title
464
- }, /* @__PURE__ */ React14.createElement("div", {
464
+ }, /* @__PURE__ */ React17.createElement("div", {
465
465
  style: styles.treeNodePreviewContainer,
466
466
  onClick
467
- }, shouldShowArrow || Children.count(children) > 0 ? /* @__PURE__ */ React14.createElement(Arrow, {
467
+ }, shouldShowArrow || Children.count(children) > 0 ? /* @__PURE__ */ React17.createElement(Arrow, {
468
468
  expanded,
469
469
  styles: styles.treeNodeArrow
470
- }) : shouldShowPlaceholder && /* @__PURE__ */ React14.createElement("span", {
470
+ }) : shouldShowPlaceholder && /* @__PURE__ */ React17.createElement("span", {
471
471
  style: styles.treeNodePlaceholder
472
- }, "\xA0"), /* @__PURE__ */ React14.createElement(NodeRenderer, {
472
+ }, "\xA0"), /* @__PURE__ */ React17.createElement(NodeRenderer, {
473
473
  ...props
474
- })), /* @__PURE__ */ React14.createElement("ol", {
474
+ })), /* @__PURE__ */ React17.createElement("ol", {
475
475
  role: "group",
476
476
  style: styles.treeNodeChildNodesContainer
477
477
  }, expanded ? children : void 0));
@@ -530,7 +530,7 @@ var ConnectedTreeNode = memo((props) => {
530
530
  ...prevExpandedPaths,
531
531
  [path]: !expanded
532
532
  })), [nodeHasChildNodes, setExpandedPaths, path, expanded]);
533
- return /* @__PURE__ */ React14.createElement(TreeNode, {
533
+ return /* @__PURE__ */ React17.createElement(TreeNode, {
534
534
  expanded,
535
535
  onClick: handleClick,
536
536
  shouldShowArrow: nodeHasChildNodes,
@@ -538,7 +538,7 @@ var ConnectedTreeNode = memo((props) => {
538
538
  nodeRenderer,
539
539
  ...props
540
540
  }, expanded ? [...dataIterator(data)].map(({ name, data: data2, ...renderNodeProps }) => {
541
- return /* @__PURE__ */ React14.createElement(ConnectedTreeNode, {
541
+ return /* @__PURE__ */ React17.createElement(ConnectedTreeNode, {
542
542
  name,
543
543
  data: data2,
544
544
  depth: depth + 1,
@@ -555,12 +555,12 @@ var TreeView = memo(({ name, data, dataIterator, nodeRenderer, expandPaths, expa
555
555
  const stateAndSetter = useState({});
556
556
  const [, setExpandedPaths] = stateAndSetter;
557
557
  useLayoutEffect(() => setExpandedPaths((prevExpandedPaths) => getExpandedPaths(data, dataIterator, expandPaths, expandLevel, prevExpandedPaths)), [data, dataIterator, expandPaths, expandLevel]);
558
- return /* @__PURE__ */ React14.createElement(ExpandedPathsContext.Provider, {
558
+ return /* @__PURE__ */ React17.createElement(ExpandedPathsContext.Provider, {
559
559
  value: stateAndSetter
560
- }, /* @__PURE__ */ React14.createElement("ol", {
560
+ }, /* @__PURE__ */ React17.createElement("ol", {
561
561
  role: "tree",
562
562
  style: styles.treeViewOutline
563
- }, /* @__PURE__ */ React14.createElement(ConnectedTreeNode, {
563
+ }, /* @__PURE__ */ React17.createElement(ConnectedTreeNode, {
564
564
  name,
565
565
  data,
566
566
  dataIterator,
@@ -576,7 +576,7 @@ var ObjectName = ({ name, dimmed = false, styles = {} }) => {
576
576
  ...dimmed ? themeStyles["dimmed"] : {},
577
577
  ...styles
578
578
  };
579
- return /* @__PURE__ */ React14.createElement("span", {
579
+ return /* @__PURE__ */ React17.createElement("span", {
580
580
  style: appliedStyles
581
581
  }, name);
582
582
  };
@@ -585,61 +585,61 @@ var ObjectValue = ({ object, styles }) => {
585
585
  const mkStyle = (key) => ({ ...themeStyles[key], ...styles });
586
586
  switch (typeof object) {
587
587
  case "bigint":
588
- return /* @__PURE__ */ React14.createElement("span", {
588
+ return /* @__PURE__ */ React17.createElement("span", {
589
589
  style: mkStyle("objectValueNumber")
590
590
  }, String(object), "n");
591
591
  case "number":
592
- return /* @__PURE__ */ React14.createElement("span", {
592
+ return /* @__PURE__ */ React17.createElement("span", {
593
593
  style: mkStyle("objectValueNumber")
594
594
  }, String(object));
595
595
  case "string":
596
- return /* @__PURE__ */ React14.createElement("span", {
596
+ return /* @__PURE__ */ React17.createElement("span", {
597
597
  style: mkStyle("objectValueString")
598
598
  }, '"', object, '"');
599
599
  case "boolean":
600
- return /* @__PURE__ */ React14.createElement("span", {
600
+ return /* @__PURE__ */ React17.createElement("span", {
601
601
  style: mkStyle("objectValueBoolean")
602
602
  }, String(object));
603
603
  case "undefined":
604
- return /* @__PURE__ */ React14.createElement("span", {
604
+ return /* @__PURE__ */ React17.createElement("span", {
605
605
  style: mkStyle("objectValueUndefined")
606
606
  }, "undefined");
607
607
  case "object":
608
608
  if (object === null) {
609
- return /* @__PURE__ */ React14.createElement("span", {
609
+ return /* @__PURE__ */ React17.createElement("span", {
610
610
  style: mkStyle("objectValueNull")
611
611
  }, "null");
612
612
  }
613
613
  if (object instanceof Date) {
614
- return /* @__PURE__ */ React14.createElement("span", null, object.toString());
614
+ return /* @__PURE__ */ React17.createElement("span", null, object.toString());
615
615
  }
616
616
  if (object instanceof RegExp) {
617
- return /* @__PURE__ */ React14.createElement("span", {
617
+ return /* @__PURE__ */ React17.createElement("span", {
618
618
  style: mkStyle("objectValueRegExp")
619
619
  }, object.toString());
620
620
  }
621
621
  if (Array.isArray(object)) {
622
- return /* @__PURE__ */ React14.createElement("span", null, `Array(${object.length})`);
622
+ return /* @__PURE__ */ React17.createElement("span", null, `Array(${object.length})`);
623
623
  }
624
624
  if (!object.constructor) {
625
- return /* @__PURE__ */ React14.createElement("span", null, "Object");
625
+ return /* @__PURE__ */ React17.createElement("span", null, "Object");
626
626
  }
627
627
  if (typeof object.constructor.isBuffer === "function" && object.constructor.isBuffer(object)) {
628
- return /* @__PURE__ */ React14.createElement("span", null, `Buffer[${object.length}]`);
628
+ return /* @__PURE__ */ React17.createElement("span", null, `Buffer[${object.length}]`);
629
629
  }
630
- return /* @__PURE__ */ React14.createElement("span", null, object.constructor.name);
630
+ return /* @__PURE__ */ React17.createElement("span", null, object.constructor.name);
631
631
  case "function":
632
- return /* @__PURE__ */ React14.createElement("span", null, /* @__PURE__ */ React14.createElement("span", {
632
+ return /* @__PURE__ */ React17.createElement("span", null, /* @__PURE__ */ React17.createElement("span", {
633
633
  style: mkStyle("objectValueFunctionPrefix")
634
- }, "\u0192\xA0"), /* @__PURE__ */ React14.createElement("span", {
634
+ }, "\u0192\xA0"), /* @__PURE__ */ React17.createElement("span", {
635
635
  style: mkStyle("objectValueFunctionName")
636
636
  }, object.name, "()"));
637
637
  case "symbol":
638
- return /* @__PURE__ */ React14.createElement("span", {
638
+ return /* @__PURE__ */ React17.createElement("span", {
639
639
  style: mkStyle("objectValueSymbol")
640
640
  }, object.toString());
641
641
  default:
642
- return /* @__PURE__ */ React14.createElement("span", null);
642
+ return /* @__PURE__ */ React17.createElement("span", null);
643
643
  }
644
644
  };
645
645
  var hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -665,25 +665,25 @@ var ObjectPreview = ({ data }) => {
665
665
  const styles = useStyles("ObjectPreview");
666
666
  const object = data;
667
667
  if (typeof object !== "object" || object === null || object instanceof Date || object instanceof RegExp) {
668
- return /* @__PURE__ */ React14.createElement(ObjectValue, {
668
+ return /* @__PURE__ */ React17.createElement(ObjectValue, {
669
669
  object
670
670
  });
671
671
  }
672
672
  if (Array.isArray(object)) {
673
673
  const maxProperties = styles.arrayMaxProperties;
674
- const previewArray = object.slice(0, maxProperties).map((element, index) => /* @__PURE__ */ React14.createElement(ObjectValue, {
674
+ const previewArray = object.slice(0, maxProperties).map((element, index) => /* @__PURE__ */ React17.createElement(ObjectValue, {
675
675
  key: index,
676
676
  object: element
677
677
  }));
678
678
  if (object.length > maxProperties) {
679
- previewArray.push(/* @__PURE__ */ React14.createElement("span", {
679
+ previewArray.push(/* @__PURE__ */ React17.createElement("span", {
680
680
  key: "ellipsis"
681
681
  }, "\u2026"));
682
682
  }
683
683
  const arrayLength = object.length;
684
- return /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement("span", {
684
+ return /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement("span", {
685
685
  style: styles.objectDescription
686
- }, arrayLength === 0 ? `` : `(${arrayLength})\xA0`), /* @__PURE__ */ React14.createElement("span", {
686
+ }, arrayLength === 0 ? `` : `(${arrayLength})\xA0`), /* @__PURE__ */ React17.createElement("span", {
687
687
  style: styles.preview
688
688
  }, "[", intersperse(previewArray, ", "), "]"));
689
689
  } else {
@@ -693,16 +693,16 @@ var ObjectPreview = ({ data }) => {
693
693
  if (hasOwnProperty.call(object, propertyName)) {
694
694
  let ellipsis;
695
695
  if (propertyNodes.length === maxProperties - 1 && Object.keys(object).length > maxProperties) {
696
- ellipsis = /* @__PURE__ */ React14.createElement("span", {
696
+ ellipsis = /* @__PURE__ */ React17.createElement("span", {
697
697
  key: "ellipsis"
698
698
  }, "\u2026");
699
699
  }
700
700
  const propertyValue = getPropertyValue(object, propertyName);
701
- propertyNodes.push(/* @__PURE__ */ React14.createElement("span", {
701
+ propertyNodes.push(/* @__PURE__ */ React17.createElement("span", {
702
702
  key: propertyName
703
- }, /* @__PURE__ */ React14.createElement(ObjectName, {
703
+ }, /* @__PURE__ */ React17.createElement(ObjectName, {
704
704
  name: propertyName || `""`
705
- }), ":\xA0", /* @__PURE__ */ React14.createElement(ObjectValue, {
705
+ }), ":\xA0", /* @__PURE__ */ React17.createElement(ObjectValue, {
706
706
  object: propertyValue
707
707
  }), ellipsis));
708
708
  if (ellipsis)
@@ -710,34 +710,34 @@ var ObjectPreview = ({ data }) => {
710
710
  }
711
711
  }
712
712
  const objectConstructorName = object.constructor ? object.constructor.name : "Object";
713
- return /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement("span", {
713
+ return /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement("span", {
714
714
  style: styles.objectDescription
715
- }, objectConstructorName === "Object" ? "" : `${objectConstructorName} `), /* @__PURE__ */ React14.createElement("span", {
715
+ }, objectConstructorName === "Object" ? "" : `${objectConstructorName} `), /* @__PURE__ */ React17.createElement("span", {
716
716
  style: styles.preview
717
717
  }, "{", intersperse(propertyNodes, ", "), "}"));
718
718
  }
719
719
  };
720
720
  var ObjectRootLabel = ({ name, data }) => {
721
721
  if (typeof name === "string") {
722
- return /* @__PURE__ */ React14.createElement("span", null, /* @__PURE__ */ React14.createElement(ObjectName, {
722
+ return /* @__PURE__ */ React17.createElement("span", null, /* @__PURE__ */ React17.createElement(ObjectName, {
723
723
  name
724
- }), /* @__PURE__ */ React14.createElement("span", null, ": "), /* @__PURE__ */ React14.createElement(ObjectPreview, {
724
+ }), /* @__PURE__ */ React17.createElement("span", null, ": "), /* @__PURE__ */ React17.createElement(ObjectPreview, {
725
725
  data
726
726
  }));
727
727
  } else {
728
- return /* @__PURE__ */ React14.createElement(ObjectPreview, {
728
+ return /* @__PURE__ */ React17.createElement(ObjectPreview, {
729
729
  data
730
730
  });
731
731
  }
732
732
  };
733
733
  var ObjectLabel = ({ name, data, isNonenumerable = false }) => {
734
734
  const object = data;
735
- return /* @__PURE__ */ React14.createElement("span", null, typeof name === "string" ? /* @__PURE__ */ React14.createElement(ObjectName, {
735
+ return /* @__PURE__ */ React17.createElement("span", null, typeof name === "string" ? /* @__PURE__ */ React17.createElement(ObjectName, {
736
736
  name,
737
737
  dimmed: isNonenumerable
738
- }) : /* @__PURE__ */ React14.createElement(ObjectPreview, {
738
+ }) : /* @__PURE__ */ React17.createElement(ObjectPreview, {
739
739
  data: name
740
- }), /* @__PURE__ */ React14.createElement("span", null, ": "), /* @__PURE__ */ React14.createElement(ObjectValue, {
740
+ }), /* @__PURE__ */ React17.createElement("span", null, ": "), /* @__PURE__ */ React17.createElement(ObjectValue, {
741
741
  object
742
742
  }));
743
743
  };
@@ -804,10 +804,10 @@ var createIterator = (showNonenumerable, sortObjectKeys) => {
804
804
  };
805
805
  return objectIterator;
806
806
  };
807
- var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth === 0 ? /* @__PURE__ */ React14.createElement(ObjectRootLabel, {
807
+ var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth === 0 ? /* @__PURE__ */ React17.createElement(ObjectRootLabel, {
808
808
  name,
809
809
  data
810
- }) : /* @__PURE__ */ React14.createElement(ObjectLabel, {
810
+ }) : /* @__PURE__ */ React17.createElement(ObjectLabel, {
811
811
  name,
812
812
  data,
813
813
  isNonenumerable
@@ -815,7 +815,7 @@ var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth ===
815
815
  var ObjectInspector = ({ showNonenumerable = false, sortObjectKeys, nodeRenderer, ...treeViewProps }) => {
816
816
  const dataIterator = createIterator(showNonenumerable, sortObjectKeys);
817
817
  const renderer = nodeRenderer ? nodeRenderer : defaultNodeRenderer;
818
- return /* @__PURE__ */ React14.createElement(TreeView, {
818
+ return /* @__PURE__ */ React17.createElement(TreeView, {
819
819
  nodeRenderer: renderer,
820
820
  dataIterator,
821
821
  ...treeViewProps
@@ -854,33 +854,33 @@ function getHeaders(data) {
854
854
  var DataContainer = ({ rows, columns, rowsData }) => {
855
855
  const styles = useStyles("TableInspectorDataContainer");
856
856
  const borderStyles = useStyles("TableInspectorLeftBorder");
857
- return /* @__PURE__ */ React14.createElement("div", {
857
+ return /* @__PURE__ */ React17.createElement("div", {
858
858
  style: styles.div
859
- }, /* @__PURE__ */ React14.createElement("table", {
859
+ }, /* @__PURE__ */ React17.createElement("table", {
860
860
  style: styles.table
861
- }, /* @__PURE__ */ React14.createElement("colgroup", null), /* @__PURE__ */ React14.createElement("tbody", null, rows.map((row, i) => /* @__PURE__ */ React14.createElement("tr", {
861
+ }, /* @__PURE__ */ React17.createElement("colgroup", null), /* @__PURE__ */ React17.createElement("tbody", null, rows.map((row, i) => /* @__PURE__ */ React17.createElement("tr", {
862
862
  key: row,
863
863
  style: styles.tr
864
- }, /* @__PURE__ */ React14.createElement("td", {
864
+ }, /* @__PURE__ */ React17.createElement("td", {
865
865
  style: { ...styles.td, ...borderStyles.none }
866
866
  }, row), columns.map((column) => {
867
867
  const rowData = rowsData[i];
868
868
  if (typeof rowData === "object" && rowData !== null && hasOwnProperty.call(rowData, column)) {
869
- return /* @__PURE__ */ React14.createElement("td", {
869
+ return /* @__PURE__ */ React17.createElement("td", {
870
870
  key: column,
871
871
  style: { ...styles.td, ...borderStyles.solid }
872
- }, /* @__PURE__ */ React14.createElement(ObjectValue, {
872
+ }, /* @__PURE__ */ React17.createElement(ObjectValue, {
873
873
  object: rowData[column]
874
874
  }));
875
875
  } else {
876
- return /* @__PURE__ */ React14.createElement("td", {
876
+ return /* @__PURE__ */ React17.createElement("td", {
877
877
  key: column,
878
878
  style: { ...styles.td, ...borderStyles.solid }
879
879
  });
880
880
  }
881
881
  }))))));
882
882
  };
883
- var SortIconContainer = (props) => /* @__PURE__ */ React14.createElement("div", {
883
+ var SortIconContainer = (props) => /* @__PURE__ */ React17.createElement("div", {
884
884
  style: {
885
885
  position: "absolute",
886
886
  top: 1,
@@ -893,7 +893,7 @@ var SortIconContainer = (props) => /* @__PURE__ */ React14.createElement("div",
893
893
  var SortIcon = ({ sortAscending }) => {
894
894
  const styles = useStyles("TableInspectorSortIcon");
895
895
  const glyph = sortAscending ? "\u25B2" : "\u25BC";
896
- return /* @__PURE__ */ React14.createElement("div", {
896
+ return /* @__PURE__ */ React17.createElement("div", {
897
897
  style: styles
898
898
  }, glyph);
899
899
  };
@@ -909,7 +909,7 @@ var TH = ({
909
909
  const [hovered, setHovered] = useState(false);
910
910
  const handleMouseEnter = useCallback(() => setHovered(true), []);
911
911
  const handleMouseLeave = useCallback(() => setHovered(false), []);
912
- return /* @__PURE__ */ React14.createElement("th", {
912
+ return /* @__PURE__ */ React17.createElement("th", {
913
913
  ...thProps,
914
914
  style: {
915
915
  ...styles.base,
@@ -919,9 +919,9 @@ var TH = ({
919
919
  onMouseEnter: handleMouseEnter,
920
920
  onMouseLeave: handleMouseLeave,
921
921
  onClick
922
- }, /* @__PURE__ */ React14.createElement("div", {
922
+ }, /* @__PURE__ */ React17.createElement("div", {
923
923
  style: styles.div
924
- }, children), sorted && /* @__PURE__ */ React14.createElement(SortIconContainer, null, /* @__PURE__ */ React14.createElement(SortIcon, {
924
+ }, children), sorted && /* @__PURE__ */ React17.createElement(SortIconContainer, null, /* @__PURE__ */ React17.createElement(SortIcon, {
925
925
  sortAscending
926
926
  })));
927
927
  };
@@ -937,16 +937,16 @@ var HeaderContainer = ({
937
937
  }) => {
938
938
  const styles = useStyles("TableInspectorHeaderContainer");
939
939
  const borderStyles = useStyles("TableInspectorLeftBorder");
940
- return /* @__PURE__ */ React14.createElement("div", {
940
+ return /* @__PURE__ */ React17.createElement("div", {
941
941
  style: styles.base
942
- }, /* @__PURE__ */ React14.createElement("table", {
942
+ }, /* @__PURE__ */ React17.createElement("table", {
943
943
  style: styles.table
944
- }, /* @__PURE__ */ React14.createElement("tbody", null, /* @__PURE__ */ React14.createElement("tr", null, /* @__PURE__ */ React14.createElement(TH, {
944
+ }, /* @__PURE__ */ React17.createElement("tbody", null, /* @__PURE__ */ React17.createElement("tr", null, /* @__PURE__ */ React17.createElement(TH, {
945
945
  borderStyle: borderStyles.none,
946
946
  sorted: sorted && sortIndexColumn,
947
947
  sortAscending,
948
948
  onClick: onIndexTHClick
949
- }, indexColumnText), columns.map((column) => /* @__PURE__ */ React14.createElement(TH, {
949
+ }, indexColumnText), columns.map((column) => /* @__PURE__ */ React17.createElement(TH, {
950
950
  borderStyle: borderStyles.solid,
951
951
  key: column,
952
952
  sorted: sorted && sortColumn === column,
@@ -982,7 +982,7 @@ var TableInspector = ({
982
982
  }));
983
983
  }, []);
984
984
  if (typeof data !== "object" || data === null) {
985
- return /* @__PURE__ */ React14.createElement("div", null);
985
+ return /* @__PURE__ */ React17.createElement("div", null);
986
986
  }
987
987
  let { rowHeaders, colHeaders } = getHeaders(data);
988
988
  if (columns !== void 0) {
@@ -1046,9 +1046,9 @@ var TableInspector = ({
1046
1046
  rowHeaders = sortedRowIndexes.map((i) => rowHeaders[i]);
1047
1047
  rowsData = sortedRowIndexes.map((i) => rowsData[i]);
1048
1048
  }
1049
- return /* @__PURE__ */ React14.createElement("div", {
1049
+ return /* @__PURE__ */ React17.createElement("div", {
1050
1050
  style: styles.base
1051
- }, /* @__PURE__ */ React14.createElement(HeaderContainer, {
1051
+ }, /* @__PURE__ */ React17.createElement(HeaderContainer, {
1052
1052
  columns: colHeaders,
1053
1053
  sorted,
1054
1054
  sortIndexColumn,
@@ -1056,7 +1056,7 @@ var TableInspector = ({
1056
1056
  sortAscending,
1057
1057
  onTHClick: handleTHClick,
1058
1058
  onIndexTHClick: handleIndexTHClick
1059
- }), /* @__PURE__ */ React14.createElement(DataContainer, {
1059
+ }), /* @__PURE__ */ React17.createElement(DataContainer, {
1060
1060
  rows: rowHeaders,
1061
1061
  columns: colHeaders,
1062
1062
  rowsData
@@ -1066,20 +1066,20 @@ var themedTableInspector = themeAcceptor(TableInspector);
1066
1066
  var TEXT_NODE_MAX_INLINE_CHARS = 80;
1067
1067
  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;
1068
1068
  var OpenTag = ({ tagName, attributes, styles }) => {
1069
- return /* @__PURE__ */ React14.createElement("span", {
1069
+ return /* @__PURE__ */ React17.createElement("span", {
1070
1070
  style: styles.base
1071
- }, "<", /* @__PURE__ */ React14.createElement("span", {
1071
+ }, "<", /* @__PURE__ */ React17.createElement("span", {
1072
1072
  style: styles.tagName
1073
1073
  }, tagName), (() => {
1074
1074
  if (attributes) {
1075
1075
  const attributeNodes = [];
1076
1076
  for (let i = 0; i < attributes.length; i++) {
1077
1077
  const attribute = attributes[i];
1078
- attributeNodes.push(/* @__PURE__ */ React14.createElement("span", {
1078
+ attributeNodes.push(/* @__PURE__ */ React17.createElement("span", {
1079
1079
  key: i
1080
- }, " ", /* @__PURE__ */ React14.createElement("span", {
1080
+ }, " ", /* @__PURE__ */ React17.createElement("span", {
1081
1081
  style: styles.htmlAttributeName
1082
- }, attribute.name), '="', /* @__PURE__ */ React14.createElement("span", {
1082
+ }, attribute.name), '="', /* @__PURE__ */ React17.createElement("span", {
1083
1083
  style: styles.htmlAttributeValue
1084
1084
  }, attribute.value), '"'));
1085
1085
  }
@@ -1087,9 +1087,9 @@ var OpenTag = ({ tagName, attributes, styles }) => {
1087
1087
  }
1088
1088
  })(), ">");
1089
1089
  };
1090
- var CloseTag = ({ tagName, isChildNode = false, styles }) => /* @__PURE__ */ React14.createElement("span", {
1090
+ var CloseTag = ({ tagName, isChildNode = false, styles }) => /* @__PURE__ */ React17.createElement("span", {
1091
1091
  style: Object.assign({}, styles.base, isChildNode && styles.offsetLeft)
1092
- }, "</", /* @__PURE__ */ React14.createElement("span", {
1092
+ }, "</", /* @__PURE__ */ React17.createElement("span", {
1093
1093
  style: styles.tagName
1094
1094
  }, tagName), ">");
1095
1095
  var nameByNodeType = {
@@ -1104,7 +1104,7 @@ var nameByNodeType = {
1104
1104
  var DOMNodePreview = ({ isCloseTag, data, expanded }) => {
1105
1105
  const styles = useStyles("DOMNodePreview");
1106
1106
  if (isCloseTag) {
1107
- return /* @__PURE__ */ React14.createElement(CloseTag, {
1107
+ return /* @__PURE__ */ React17.createElement(CloseTag, {
1108
1108
  styles: styles.htmlCloseTag,
1109
1109
  isChildNode: true,
1110
1110
  tagName: data.tagName
@@ -1112,34 +1112,34 @@ var DOMNodePreview = ({ isCloseTag, data, expanded }) => {
1112
1112
  }
1113
1113
  switch (data.nodeType) {
1114
1114
  case Node.ELEMENT_NODE:
1115
- return /* @__PURE__ */ React14.createElement("span", null, /* @__PURE__ */ React14.createElement(OpenTag, {
1115
+ return /* @__PURE__ */ React17.createElement("span", null, /* @__PURE__ */ React17.createElement(OpenTag, {
1116
1116
  tagName: data.tagName,
1117
1117
  attributes: data.attributes,
1118
1118
  styles: styles.htmlOpenTag
1119
- }), shouldInline(data) ? data.textContent : !expanded && "\u2026", !expanded && /* @__PURE__ */ React14.createElement(CloseTag, {
1119
+ }), shouldInline(data) ? data.textContent : !expanded && "\u2026", !expanded && /* @__PURE__ */ React17.createElement(CloseTag, {
1120
1120
  tagName: data.tagName,
1121
1121
  styles: styles.htmlCloseTag
1122
1122
  }));
1123
1123
  case Node.TEXT_NODE:
1124
- return /* @__PURE__ */ React14.createElement("span", null, data.textContent);
1124
+ return /* @__PURE__ */ React17.createElement("span", null, data.textContent);
1125
1125
  case Node.CDATA_SECTION_NODE:
1126
- return /* @__PURE__ */ React14.createElement("span", null, "<![CDATA[" + data.textContent + "]]>");
1126
+ return /* @__PURE__ */ React17.createElement("span", null, "<![CDATA[" + data.textContent + "]]>");
1127
1127
  case Node.COMMENT_NODE:
1128
- return /* @__PURE__ */ React14.createElement("span", {
1128
+ return /* @__PURE__ */ React17.createElement("span", {
1129
1129
  style: styles.htmlComment
1130
1130
  }, "<!--", data.textContent, "-->");
1131
1131
  case Node.PROCESSING_INSTRUCTION_NODE:
1132
- return /* @__PURE__ */ React14.createElement("span", null, data.nodeName);
1132
+ return /* @__PURE__ */ React17.createElement("span", null, data.nodeName);
1133
1133
  case Node.DOCUMENT_TYPE_NODE:
1134
- return /* @__PURE__ */ React14.createElement("span", {
1134
+ return /* @__PURE__ */ React17.createElement("span", {
1135
1135
  style: styles.htmlDoctype
1136
1136
  }, "<!DOCTYPE ", data.name, data.publicId ? ` PUBLIC "${data.publicId}"` : "", !data.publicId && data.systemId ? " SYSTEM" : "", data.systemId ? ` "${data.systemId}"` : "", ">");
1137
1137
  case Node.DOCUMENT_NODE:
1138
- return /* @__PURE__ */ React14.createElement("span", null, data.nodeName);
1138
+ return /* @__PURE__ */ React17.createElement("span", null, data.nodeName);
1139
1139
  case Node.DOCUMENT_FRAGMENT_NODE:
1140
- return /* @__PURE__ */ React14.createElement("span", null, data.nodeName);
1140
+ return /* @__PURE__ */ React17.createElement("span", null, data.nodeName);
1141
1141
  default:
1142
- return /* @__PURE__ */ React14.createElement("span", null, nameByNodeType[data.nodeType]);
1142
+ return /* @__PURE__ */ React17.createElement("span", null, nameByNodeType[data.nodeType]);
1143
1143
  }
1144
1144
  };
1145
1145
  var domIterator = function* (data) {
@@ -1169,7 +1169,7 @@ var domIterator = function* (data) {
1169
1169
  }
1170
1170
  };
1171
1171
  var DOMInspector = (props) => {
1172
- return /* @__PURE__ */ React14.createElement(TreeView, {
1172
+ return /* @__PURE__ */ React17.createElement(TreeView, {
1173
1173
  nodeRenderer: DOMNodePreview,
1174
1174
  dataIterator: domIterator,
1175
1175
  ...props
@@ -1179,17 +1179,17 @@ var themedDOMInspector = themeAcceptor(DOMInspector);
1179
1179
  var import_is_dom = __toESM(require_is_dom());
1180
1180
  var Inspector = ({ table = false, data, ...rest }) => {
1181
1181
  if (table) {
1182
- return /* @__PURE__ */ React14.createElement(themedTableInspector, {
1182
+ return /* @__PURE__ */ React17.createElement(themedTableInspector, {
1183
1183
  data,
1184
1184
  ...rest
1185
1185
  });
1186
1186
  }
1187
1187
  if ((0, import_is_dom.default)(data))
1188
- return /* @__PURE__ */ React14.createElement(themedDOMInspector, {
1188
+ return /* @__PURE__ */ React17.createElement(themedDOMInspector, {
1189
1189
  data,
1190
1190
  ...rest
1191
1191
  });
1192
- return /* @__PURE__ */ React14.createElement(themedObjectInspector, {
1192
+ return /* @__PURE__ */ React17.createElement(themedObjectInspector, {
1193
1193
  data,
1194
1194
  ...rest
1195
1195
  });
@@ -1235,10 +1235,17 @@ var Inspector2 = ({
1235
1235
  const [isActive, setIsActive] = useState(true);
1236
1236
  const [isDialogMode, setIsDialogMode] = useState(false);
1237
1237
  const [tooltip, setTooltip] = useState(null);
1238
+ const [selectedFiber, setSelectedFiber] = useState(null);
1238
1239
  const [position, setPosition] = useState({
1239
1240
  top: 0,
1240
1241
  left: 0
1241
1242
  });
1243
+ const getFiberForDisplay = () => {
1244
+ if (selectedFiber) return selectedFiber;
1245
+ const fiber2 = getFiberFromHostInstance(element);
1246
+ if (!fiber2) return null;
1247
+ return fiber2.return && isCompositeFiber(fiber2.return) ? fiber2.return : fiber2;
1248
+ };
1242
1249
  const handlePropertyHover = (_e, propName) => {
1243
1250
  if (!isDialogMode) return;
1244
1251
  const explanation = FIBER_PROP_EXPLANATIONS[propName];
@@ -1287,19 +1294,21 @@ var Inspector2 = ({
1287
1294
  if (!enabled) {
1288
1295
  setElement(null);
1289
1296
  setRect(null);
1297
+ setSelectedFiber(null);
1290
1298
  return;
1291
1299
  }
1292
1300
  const element2 = document.elementFromPoint(event.clientX, event.clientY);
1293
1301
  if (!element2) return;
1294
1302
  setElement(element2);
1295
1303
  setRect(element2.getBoundingClientRect());
1304
+ setSelectedFiber(null);
1296
1305
  };
1297
1306
  const throttledMouseMove = throttle(handleMouseMove, 16);
1298
1307
  document.addEventListener("mousemove", throttledMouseMove);
1299
1308
  return () => {
1300
1309
  document.removeEventListener("mousemove", throttledMouseMove);
1301
1310
  };
1302
- }, [enabled, isDialogMode]);
1311
+ }, [enabled, isDialogMode, dangerouslyRunInProduction]);
1303
1312
  useEffect(() => {
1304
1313
  if (!rect) return;
1305
1314
  const padding = 10;
@@ -1329,13 +1338,19 @@ var Inspector2 = ({
1329
1338
  );
1330
1339
  setPosition({ top, left });
1331
1340
  }, [rect]);
1341
+ useEffect(() => {
1342
+ if (selectedFiber) {
1343
+ const element2 = getNearestHostFiber(selectedFiber)?.stateNode;
1344
+ if (element2) {
1345
+ setElement(element2);
1346
+ setRect(element2.getBoundingClientRect());
1347
+ }
1348
+ }
1349
+ }, [selectedFiber]);
1332
1350
  if (window.innerWidth < 800 || !rect || !isActive) return null;
1333
- let fiber = getFiberFromHostInstance(element);
1351
+ const fiber = getFiberForDisplay();
1352
+ if (!fiber) return null;
1334
1353
  let foundInspect = false;
1335
- if (!fiber) return;
1336
- if (fiber.return && isCompositeFiber(fiber.return)) {
1337
- fiber = fiber.return;
1338
- }
1339
1354
  traverseFiber(
1340
1355
  fiber,
1341
1356
  (innerFiber) => {
@@ -1346,7 +1361,7 @@ var Inspector2 = ({
1346
1361
  },
1347
1362
  true
1348
1363
  );
1349
- if (foundInspect) return;
1364
+ if (foundInspect) return null;
1350
1365
  const dialogStyle = isDialogMode ? {
1351
1366
  position: "fixed",
1352
1367
  top: "50%",
@@ -1370,10 +1385,7 @@ var Inspector2 = ({
1370
1385
  zIndex: 999
1371
1386
  } : {};
1372
1387
  const fiberStack = fiber ? getFiberStack(fiber) : [];
1373
- const breadcrumbs = fiberStack.reverse().map(
1374
- (f) => typeof f.type === "string" ? f.type : getDisplayName(f.type) || null
1375
- ).filter((name) => name !== null).join(" > ");
1376
- return /* @__PURE__ */ React14.createElement(React14.Fragment, null, isDialogMode && /* @__PURE__ */ React14.createElement(
1388
+ return /* @__PURE__ */ React17.createElement(React17.Fragment, null, isDialogMode && /* @__PURE__ */ React17.createElement(
1377
1389
  "div",
1378
1390
  {
1379
1391
  style: overlayStyle,
@@ -1382,7 +1394,7 @@ var Inspector2 = ({
1382
1394
  role: "button",
1383
1395
  tabIndex: 0
1384
1396
  }
1385
- ), /* @__PURE__ */ React14.createElement(
1397
+ ), /* @__PURE__ */ React17.createElement(
1386
1398
  "div",
1387
1399
  {
1388
1400
  style: {
@@ -1406,7 +1418,7 @@ var Inspector2 = ({
1406
1418
  ...dialogStyle
1407
1419
  }
1408
1420
  },
1409
- /* @__PURE__ */ React14.createElement(
1421
+ /* @__PURE__ */ React17.createElement(
1410
1422
  "div",
1411
1423
  {
1412
1424
  style: {
@@ -1416,7 +1428,7 @@ var Inspector2 = ({
1416
1428
  marginBottom: "1ch"
1417
1429
  }
1418
1430
  },
1419
- /* @__PURE__ */ React14.createElement(
1431
+ /* @__PURE__ */ React17.createElement(
1420
1432
  "h3",
1421
1433
  {
1422
1434
  style: {
@@ -1429,15 +1441,87 @@ var Inspector2 = ({
1429
1441
  }
1430
1442
  },
1431
1443
  `<${typeof fiber.type === "string" ? fiber.type : getDisplayName(fiber.type) || "unknown"}>`,
1432
- /* @__PURE__ */ React14.createElement(
1444
+ !isDialogMode && /* @__PURE__ */ React17.createElement(
1433
1445
  "span",
1434
1446
  {
1435
1447
  style: { marginLeft: "1ch", opacity: 0.5, fontSize: "0.75rem" }
1436
1448
  },
1437
- `Press ${isMac ? "\u2318" : "ctrl"}+o to expand`
1449
+ `Press ${isMac ? "\u2318" : "ctrl"}O to expand`
1438
1450
  )
1439
1451
  ),
1440
- isDialogMode && /* @__PURE__ */ React14.createElement(
1452
+ isDialogMode && fiber.child && /* @__PURE__ */ React17.createElement(
1453
+ "div",
1454
+ {
1455
+ style: {
1456
+ marginTop: "1ch",
1457
+ marginBottom: "1ch",
1458
+ marginRight: "auto",
1459
+ marginLeft: "1ch",
1460
+ fontSize: "0.75rem",
1461
+ display: "flex",
1462
+ flexWrap: "wrap",
1463
+ gap: "0.5ch"
1464
+ }
1465
+ },
1466
+ /* @__PURE__ */ React17.createElement("span", { style: { opacity: 0.5 } }, "Children:"),
1467
+ /* @__PURE__ */ React17.createElement("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5ch" } }, (() => {
1468
+ const children = [];
1469
+ let currentChild = fiber.child;
1470
+ while (currentChild !== null) {
1471
+ children.push(currentChild);
1472
+ currentChild = currentChild.sibling;
1473
+ }
1474
+ return children.map((child) => {
1475
+ const name = typeof child.type === "string" ? child.type : getDisplayName(child.type) || "unknown";
1476
+ return /* @__PURE__ */ React17.createElement(
1477
+ "button",
1478
+ {
1479
+ key: getFiberId(child),
1480
+ type: "button",
1481
+ onClick: () => {
1482
+ setSelectedFiber(child);
1483
+ const element2 = getNearestHostFiber(child)?.stateNode;
1484
+ if (element2) {
1485
+ setElement(element2);
1486
+ setRect(element2.getBoundingClientRect());
1487
+ }
1488
+ },
1489
+ onKeyDown: (e) => {
1490
+ if (e.key === "Enter" || e.key === " ") {
1491
+ setSelectedFiber(child);
1492
+ const element2 = getNearestHostFiber(child)?.stateNode;
1493
+ if (element2) {
1494
+ setElement(element2);
1495
+ setRect(element2.getBoundingClientRect());
1496
+ }
1497
+ }
1498
+ },
1499
+ style: {
1500
+ cursor: "pointer",
1501
+ padding: "0 0.5ch",
1502
+ background: "#f5f5f5",
1503
+ border: "1px solid #eee",
1504
+ borderRadius: "0.125rem",
1505
+ fontSize: "inherit",
1506
+ color: "#666"
1507
+ },
1508
+ onMouseEnter: (e) => {
1509
+ e.currentTarget.style.backgroundColor = "#000";
1510
+ e.currentTarget.style.color = "#fff";
1511
+ e.currentTarget.style.borderColor = "#000";
1512
+ },
1513
+ onMouseLeave: (e) => {
1514
+ e.currentTarget.style.backgroundColor = "#f5f5f5";
1515
+ e.currentTarget.style.color = "#666";
1516
+ e.currentTarget.style.borderColor = "#eee";
1517
+ }
1518
+ },
1519
+ name
1520
+ );
1521
+ });
1522
+ })())
1523
+ ),
1524
+ isDialogMode && /* @__PURE__ */ React17.createElement(
1441
1525
  "button",
1442
1526
  {
1443
1527
  type: "button",
@@ -1454,7 +1538,68 @@ var Inspector2 = ({
1454
1538
  "\xD7"
1455
1539
  )
1456
1540
  ),
1457
- /* @__PURE__ */ React14.createElement(
1541
+ isDialogMode && /* @__PURE__ */ React17.createElement(
1542
+ "div",
1543
+ {
1544
+ style: {
1545
+ borderTop: "1px solid #eee",
1546
+ padding: "0.5ch 0",
1547
+ fontSize: "0.75rem",
1548
+ color: "#666",
1549
+ whiteSpace: "nowrap",
1550
+ overflow: "hidden",
1551
+ textOverflow: "ellipsis",
1552
+ marginBottom: "2ch"
1553
+ }
1554
+ },
1555
+ fiberStack.reverse().map((f, i, arr) => {
1556
+ const name = typeof f.type === "string" ? f.type : getDisplayName(f.type) || "unknown";
1557
+ if (!name) return null;
1558
+ return /* @__PURE__ */ React17.createElement(React17.Fragment, { key: getFiberId(f) }, /* @__PURE__ */ React17.createElement(
1559
+ "button",
1560
+ {
1561
+ type: "button",
1562
+ onClick: () => {
1563
+ setSelectedFiber(f);
1564
+ const element2 = getNearestHostFiber(f)?.stateNode;
1565
+ if (element2) {
1566
+ setElement(element2);
1567
+ setRect(element2.getBoundingClientRect());
1568
+ }
1569
+ },
1570
+ onKeyDown: (e) => {
1571
+ if (e.key === "Enter" || e.key === " ") {
1572
+ setSelectedFiber(f);
1573
+ const element2 = getNearestHostFiber(f)?.stateNode;
1574
+ if (element2) {
1575
+ setElement(element2);
1576
+ setRect(element2.getBoundingClientRect());
1577
+ }
1578
+ }
1579
+ },
1580
+ style: {
1581
+ cursor: "pointer",
1582
+ textDecoration: "underline",
1583
+ color: "#666",
1584
+ background: "none",
1585
+ border: "none",
1586
+ padding: 0,
1587
+ font: "inherit"
1588
+ },
1589
+ onMouseEnter: (e) => {
1590
+ e.currentTarget.style.backgroundColor = "#000";
1591
+ e.currentTarget.style.color = "#fff";
1592
+ },
1593
+ onMouseLeave: (e) => {
1594
+ e.currentTarget.style.backgroundColor = "";
1595
+ e.currentTarget.style.color = "#666";
1596
+ }
1597
+ },
1598
+ name
1599
+ ), i < arr.length - 1 && " > ");
1600
+ })
1601
+ ),
1602
+ /* @__PURE__ */ React17.createElement(
1458
1603
  "div",
1459
1604
  {
1460
1605
  onMouseLeave: handlePropertyLeave,
@@ -1463,7 +1608,7 @@ var Inspector2 = ({
1463
1608
  overflow: "auto"
1464
1609
  }
1465
1610
  },
1466
- /* @__PURE__ */ React14.createElement(
1611
+ /* @__PURE__ */ React17.createElement(
1467
1612
  Inspector,
1468
1613
  {
1469
1614
  data: fiber,
@@ -1471,7 +1616,7 @@ var Inspector2 = ({
1471
1616
  table: false,
1472
1617
  nodeRenderer: (props) => {
1473
1618
  const Component = props.depth === 0 ? ObjectRootLabel : ObjectLabel;
1474
- return /* @__PURE__ */ React14.createElement(
1619
+ return /* @__PURE__ */ React17.createElement(
1475
1620
  "span",
1476
1621
  {
1477
1622
  onMouseEnter: (e) => handlePropertyHover(e, props.name),
@@ -1482,7 +1627,7 @@ var Inspector2 = ({
1482
1627
  fontWeight: FIBER_PROP_EXPLANATIONS[props.name] ? 500 : "normal"
1483
1628
  }
1484
1629
  },
1485
- /* @__PURE__ */ React14.createElement(
1630
+ /* @__PURE__ */ React17.createElement(
1486
1631
  Component,
1487
1632
  {
1488
1633
  name: props.name,
@@ -1495,22 +1640,7 @@ var Inspector2 = ({
1495
1640
  }
1496
1641
  )
1497
1642
  ),
1498
- /* @__PURE__ */ React14.createElement(
1499
- "div",
1500
- {
1501
- style: {
1502
- borderTop: "1px solid #eee",
1503
- padding: "0.5ch 0",
1504
- fontSize: "0.75rem",
1505
- color: "#666",
1506
- whiteSpace: "nowrap",
1507
- overflow: "hidden",
1508
- textOverflow: "ellipsis"
1509
- }
1510
- },
1511
- breadcrumbs
1512
- ),
1513
- tooltip && /* @__PURE__ */ React14.createElement(
1643
+ tooltip && /* @__PURE__ */ React17.createElement(
1514
1644
  "div",
1515
1645
  {
1516
1646
  style: {
@@ -1528,7 +1658,7 @@ var Inspector2 = ({
1528
1658
  },
1529
1659
  tooltip
1530
1660
  )
1531
- ), !isDialogMode && /* @__PURE__ */ React14.createElement(
1661
+ ), !isDialogMode && /* @__PURE__ */ React17.createElement(
1532
1662
  "div",
1533
1663
  {
1534
1664
  style: {