bippy 0.2.3 → 0.2.5

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.cjs CHANGED
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('./chunk-YZYCWAB2.cjs');
6
- var chunk3Q4JLWUK_cjs = require('./chunk-3Q4JLWUK.cjs');
7
- var React14 = require('react');
6
+ var chunkCQFIS43Y_cjs = require('./chunk-CQFIS43Y.cjs');
7
+ var React17 = require('react');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
11
- var React14__default = /*#__PURE__*/_interopDefault(React14);
11
+ var React17__default = /*#__PURE__*/_interopDefault(React17);
12
12
 
13
13
  /**
14
14
  * @license bippy
@@ -154,7 +154,7 @@ var theme2 = {
154
154
  TABLE_DATA_BACKGROUND_IMAGE: "linear-gradient(to bottom, white, white 50%, rgb(234, 243, 255) 50%, rgb(234, 243, 255))",
155
155
  TABLE_DATA_BACKGROUND_SIZE: "128px 32px"
156
156
  };
157
- var ExpandedPathsContext = React14.createContext([{}, () => {
157
+ var ExpandedPathsContext = React17.createContext([{}, () => {
158
158
  }]);
159
159
  var unselectable = {
160
160
  WebkitTouchCallout: "none",
@@ -420,14 +420,14 @@ var createTheme = (theme3) => ({
420
420
  }
421
421
  });
422
422
  var DEFAULT_THEME_NAME = "chromeLight";
423
- var ThemeContext = React14.createContext(createTheme(themes_exports[DEFAULT_THEME_NAME]));
423
+ var ThemeContext = React17.createContext(createTheme(themes_exports[DEFAULT_THEME_NAME]));
424
424
  var useStyles = (baseStylesKey) => {
425
- const themeStyles = React14.useContext(ThemeContext);
425
+ const themeStyles = React17.useContext(ThemeContext);
426
426
  return themeStyles[baseStylesKey];
427
427
  };
428
428
  var themeAcceptor = (WrappedComponent) => {
429
429
  const ThemeAcceptor = ({ theme: theme3 = DEFAULT_THEME_NAME, ...restProps }) => {
430
- const themeStyles = React14.useMemo(() => {
430
+ const themeStyles = React17.useMemo(() => {
431
431
  switch (Object.prototype.toString.call(theme3)) {
432
432
  case "[object String]":
433
433
  return createTheme(themes_exports[theme3]);
@@ -437,24 +437,24 @@ var themeAcceptor = (WrappedComponent) => {
437
437
  return createTheme(themes_exports[DEFAULT_THEME_NAME]);
438
438
  }
439
439
  }, [theme3]);
440
- return /* @__PURE__ */ React14__default.default.createElement(ThemeContext.Provider, {
440
+ return /* @__PURE__ */ React17__default.default.createElement(ThemeContext.Provider, {
441
441
  value: themeStyles
442
- }, /* @__PURE__ */ React14__default.default.createElement(WrappedComponent, {
442
+ }, /* @__PURE__ */ React17__default.default.createElement(WrappedComponent, {
443
443
  ...restProps
444
444
  }));
445
445
  };
446
446
  return ThemeAcceptor;
447
447
  };
448
- var Arrow = ({ expanded, styles }) => /* @__PURE__ */ React14__default.default.createElement("span", {
448
+ var Arrow = ({ expanded, styles }) => /* @__PURE__ */ React17__default.default.createElement("span", {
449
449
  style: {
450
450
  ...styles.base,
451
451
  ...expanded ? styles.expanded : styles.collapsed
452
452
  }
453
453
  }, "\u25B6");
454
- var TreeNode = React14.memo((props) => {
454
+ var TreeNode = React17.memo((props) => {
455
455
  props = {
456
456
  expanded: true,
457
- nodeRenderer: ({ name }) => /* @__PURE__ */ React14__default.default.createElement("span", null, name),
457
+ nodeRenderer: ({ name }) => /* @__PURE__ */ React17__default.default.createElement("span", null, name),
458
458
  onClick: () => {
459
459
  },
460
460
  shouldShowArrow: false,
@@ -464,22 +464,22 @@ var TreeNode = React14.memo((props) => {
464
464
  const { expanded, onClick, children, nodeRenderer, title, shouldShowArrow, shouldShowPlaceholder } = props;
465
465
  const styles = useStyles("TreeNode");
466
466
  const NodeRenderer = nodeRenderer;
467
- return /* @__PURE__ */ React14__default.default.createElement("li", {
467
+ return /* @__PURE__ */ React17__default.default.createElement("li", {
468
468
  "aria-expanded": expanded,
469
469
  role: "treeitem",
470
470
  style: styles.treeNodeBase,
471
471
  title
472
- }, /* @__PURE__ */ React14__default.default.createElement("div", {
472
+ }, /* @__PURE__ */ React17__default.default.createElement("div", {
473
473
  style: styles.treeNodePreviewContainer,
474
474
  onClick
475
- }, shouldShowArrow || React14.Children.count(children) > 0 ? /* @__PURE__ */ React14__default.default.createElement(Arrow, {
475
+ }, shouldShowArrow || React17.Children.count(children) > 0 ? /* @__PURE__ */ React17__default.default.createElement(Arrow, {
476
476
  expanded,
477
477
  styles: styles.treeNodeArrow
478
- }) : shouldShowPlaceholder && /* @__PURE__ */ React14__default.default.createElement("span", {
478
+ }) : shouldShowPlaceholder && /* @__PURE__ */ React17__default.default.createElement("span", {
479
479
  style: styles.treeNodePlaceholder
480
- }, "\xA0"), /* @__PURE__ */ React14__default.default.createElement(NodeRenderer, {
480
+ }, "\xA0"), /* @__PURE__ */ React17__default.default.createElement(NodeRenderer, {
481
481
  ...props
482
- })), /* @__PURE__ */ React14__default.default.createElement("ol", {
482
+ })), /* @__PURE__ */ React17__default.default.createElement("ol", {
483
483
  role: "group",
484
484
  style: styles.treeNodeChildNodesContainer
485
485
  }, expanded ? children : void 0));
@@ -529,16 +529,16 @@ var getExpandedPaths = (data, dataIterator, expandPaths, expandLevel, prevExpand
529
529
  return obj;
530
530
  }, { ...prevExpandedPaths });
531
531
  };
532
- var ConnectedTreeNode = React14.memo((props) => {
532
+ var ConnectedTreeNode = React17.memo((props) => {
533
533
  const { data, dataIterator, path, depth, nodeRenderer } = props;
534
- const [expandedPaths, setExpandedPaths] = React14.useContext(ExpandedPathsContext);
534
+ const [expandedPaths, setExpandedPaths] = React17.useContext(ExpandedPathsContext);
535
535
  const nodeHasChildNodes = hasChildNodes(data, dataIterator);
536
536
  const expanded = !!expandedPaths[path];
537
- const handleClick = React14.useCallback(() => nodeHasChildNodes && setExpandedPaths((prevExpandedPaths) => ({
537
+ const handleClick = React17.useCallback(() => nodeHasChildNodes && setExpandedPaths((prevExpandedPaths) => ({
538
538
  ...prevExpandedPaths,
539
539
  [path]: !expanded
540
540
  })), [nodeHasChildNodes, setExpandedPaths, path, expanded]);
541
- return /* @__PURE__ */ React14__default.default.createElement(TreeNode, {
541
+ return /* @__PURE__ */ React17__default.default.createElement(TreeNode, {
542
542
  expanded,
543
543
  onClick: handleClick,
544
544
  shouldShowArrow: nodeHasChildNodes,
@@ -546,7 +546,7 @@ var ConnectedTreeNode = React14.memo((props) => {
546
546
  nodeRenderer,
547
547
  ...props
548
548
  }, expanded ? [...dataIterator(data)].map(({ name, data: data2, ...renderNodeProps }) => {
549
- return /* @__PURE__ */ React14__default.default.createElement(ConnectedTreeNode, {
549
+ return /* @__PURE__ */ React17__default.default.createElement(ConnectedTreeNode, {
550
550
  name,
551
551
  data: data2,
552
552
  depth: depth + 1,
@@ -558,17 +558,17 @@ var ConnectedTreeNode = React14.memo((props) => {
558
558
  });
559
559
  }) : null);
560
560
  });
561
- var TreeView = React14.memo(({ name, data, dataIterator, nodeRenderer, expandPaths, expandLevel }) => {
561
+ var TreeView = React17.memo(({ name, data, dataIterator, nodeRenderer, expandPaths, expandLevel }) => {
562
562
  const styles = useStyles("TreeView");
563
- const stateAndSetter = React14.useState({});
563
+ const stateAndSetter = React17.useState({});
564
564
  const [, setExpandedPaths] = stateAndSetter;
565
- React14.useLayoutEffect(() => setExpandedPaths((prevExpandedPaths) => getExpandedPaths(data, dataIterator, expandPaths, expandLevel, prevExpandedPaths)), [data, dataIterator, expandPaths, expandLevel]);
566
- return /* @__PURE__ */ React14__default.default.createElement(ExpandedPathsContext.Provider, {
565
+ React17.useLayoutEffect(() => setExpandedPaths((prevExpandedPaths) => getExpandedPaths(data, dataIterator, expandPaths, expandLevel, prevExpandedPaths)), [data, dataIterator, expandPaths, expandLevel]);
566
+ return /* @__PURE__ */ React17__default.default.createElement(ExpandedPathsContext.Provider, {
567
567
  value: stateAndSetter
568
- }, /* @__PURE__ */ React14__default.default.createElement("ol", {
568
+ }, /* @__PURE__ */ React17__default.default.createElement("ol", {
569
569
  role: "tree",
570
570
  style: styles.treeViewOutline
571
- }, /* @__PURE__ */ React14__default.default.createElement(ConnectedTreeNode, {
571
+ }, /* @__PURE__ */ React17__default.default.createElement(ConnectedTreeNode, {
572
572
  name,
573
573
  data,
574
574
  dataIterator,
@@ -584,7 +584,7 @@ var ObjectName = ({ name, dimmed = false, styles = {} }) => {
584
584
  ...dimmed ? themeStyles["dimmed"] : {},
585
585
  ...styles
586
586
  };
587
- return /* @__PURE__ */ React14__default.default.createElement("span", {
587
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
588
588
  style: appliedStyles
589
589
  }, name);
590
590
  };
@@ -593,61 +593,61 @@ var ObjectValue = ({ object, styles }) => {
593
593
  const mkStyle = (key) => ({ ...themeStyles[key], ...styles });
594
594
  switch (typeof object) {
595
595
  case "bigint":
596
- return /* @__PURE__ */ React14__default.default.createElement("span", {
596
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
597
597
  style: mkStyle("objectValueNumber")
598
598
  }, String(object), "n");
599
599
  case "number":
600
- return /* @__PURE__ */ React14__default.default.createElement("span", {
600
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
601
601
  style: mkStyle("objectValueNumber")
602
602
  }, String(object));
603
603
  case "string":
604
- return /* @__PURE__ */ React14__default.default.createElement("span", {
604
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
605
605
  style: mkStyle("objectValueString")
606
606
  }, '"', object, '"');
607
607
  case "boolean":
608
- return /* @__PURE__ */ React14__default.default.createElement("span", {
608
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
609
609
  style: mkStyle("objectValueBoolean")
610
610
  }, String(object));
611
611
  case "undefined":
612
- return /* @__PURE__ */ React14__default.default.createElement("span", {
612
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
613
613
  style: mkStyle("objectValueUndefined")
614
614
  }, "undefined");
615
615
  case "object":
616
616
  if (object === null) {
617
- return /* @__PURE__ */ React14__default.default.createElement("span", {
617
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
618
618
  style: mkStyle("objectValueNull")
619
619
  }, "null");
620
620
  }
621
621
  if (object instanceof Date) {
622
- return /* @__PURE__ */ React14__default.default.createElement("span", null, object.toString());
622
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, object.toString());
623
623
  }
624
624
  if (object instanceof RegExp) {
625
- return /* @__PURE__ */ React14__default.default.createElement("span", {
625
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
626
626
  style: mkStyle("objectValueRegExp")
627
627
  }, object.toString());
628
628
  }
629
629
  if (Array.isArray(object)) {
630
- return /* @__PURE__ */ React14__default.default.createElement("span", null, `Array(${object.length})`);
630
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, `Array(${object.length})`);
631
631
  }
632
632
  if (!object.constructor) {
633
- return /* @__PURE__ */ React14__default.default.createElement("span", null, "Object");
633
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, "Object");
634
634
  }
635
635
  if (typeof object.constructor.isBuffer === "function" && object.constructor.isBuffer(object)) {
636
- return /* @__PURE__ */ React14__default.default.createElement("span", null, `Buffer[${object.length}]`);
636
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, `Buffer[${object.length}]`);
637
637
  }
638
- return /* @__PURE__ */ React14__default.default.createElement("span", null, object.constructor.name);
638
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, object.constructor.name);
639
639
  case "function":
640
- return /* @__PURE__ */ React14__default.default.createElement("span", null, /* @__PURE__ */ React14__default.default.createElement("span", {
640
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, /* @__PURE__ */ React17__default.default.createElement("span", {
641
641
  style: mkStyle("objectValueFunctionPrefix")
642
- }, "\u0192\xA0"), /* @__PURE__ */ React14__default.default.createElement("span", {
642
+ }, "\u0192\xA0"), /* @__PURE__ */ React17__default.default.createElement("span", {
643
643
  style: mkStyle("objectValueFunctionName")
644
644
  }, object.name, "()"));
645
645
  case "symbol":
646
- return /* @__PURE__ */ React14__default.default.createElement("span", {
646
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
647
647
  style: mkStyle("objectValueSymbol")
648
648
  }, object.toString());
649
649
  default:
650
- return /* @__PURE__ */ React14__default.default.createElement("span", null);
650
+ return /* @__PURE__ */ React17__default.default.createElement("span", null);
651
651
  }
652
652
  };
653
653
  var hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -673,25 +673,25 @@ var ObjectPreview = ({ data }) => {
673
673
  const styles = useStyles("ObjectPreview");
674
674
  const object = data;
675
675
  if (typeof object !== "object" || object === null || object instanceof Date || object instanceof RegExp) {
676
- return /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
676
+ return /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
677
677
  object
678
678
  });
679
679
  }
680
680
  if (Array.isArray(object)) {
681
681
  const maxProperties = styles.arrayMaxProperties;
682
- const previewArray = object.slice(0, maxProperties).map((element, index) => /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
682
+ const previewArray = object.slice(0, maxProperties).map((element, index) => /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
683
683
  key: index,
684
684
  object: element
685
685
  }));
686
686
  if (object.length > maxProperties) {
687
- previewArray.push(/* @__PURE__ */ React14__default.default.createElement("span", {
687
+ previewArray.push(/* @__PURE__ */ React17__default.default.createElement("span", {
688
688
  key: "ellipsis"
689
689
  }, "\u2026"));
690
690
  }
691
691
  const arrayLength = object.length;
692
- return /* @__PURE__ */ React14__default.default.createElement(React14__default.default.Fragment, null, /* @__PURE__ */ React14__default.default.createElement("span", {
692
+ return /* @__PURE__ */ React17__default.default.createElement(React17__default.default.Fragment, null, /* @__PURE__ */ React17__default.default.createElement("span", {
693
693
  style: styles.objectDescription
694
- }, arrayLength === 0 ? `` : `(${arrayLength})\xA0`), /* @__PURE__ */ React14__default.default.createElement("span", {
694
+ }, arrayLength === 0 ? `` : `(${arrayLength})\xA0`), /* @__PURE__ */ React17__default.default.createElement("span", {
695
695
  style: styles.preview
696
696
  }, "[", intersperse(previewArray, ", "), "]"));
697
697
  } else {
@@ -701,16 +701,16 @@ var ObjectPreview = ({ data }) => {
701
701
  if (hasOwnProperty.call(object, propertyName)) {
702
702
  let ellipsis;
703
703
  if (propertyNodes.length === maxProperties - 1 && Object.keys(object).length > maxProperties) {
704
- ellipsis = /* @__PURE__ */ React14__default.default.createElement("span", {
704
+ ellipsis = /* @__PURE__ */ React17__default.default.createElement("span", {
705
705
  key: "ellipsis"
706
706
  }, "\u2026");
707
707
  }
708
708
  const propertyValue = getPropertyValue(object, propertyName);
709
- propertyNodes.push(/* @__PURE__ */ React14__default.default.createElement("span", {
709
+ propertyNodes.push(/* @__PURE__ */ React17__default.default.createElement("span", {
710
710
  key: propertyName
711
- }, /* @__PURE__ */ React14__default.default.createElement(ObjectName, {
711
+ }, /* @__PURE__ */ React17__default.default.createElement(ObjectName, {
712
712
  name: propertyName || `""`
713
- }), ":\xA0", /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
713
+ }), ":\xA0", /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
714
714
  object: propertyValue
715
715
  }), ellipsis));
716
716
  if (ellipsis)
@@ -718,34 +718,34 @@ var ObjectPreview = ({ data }) => {
718
718
  }
719
719
  }
720
720
  const objectConstructorName = object.constructor ? object.constructor.name : "Object";
721
- return /* @__PURE__ */ React14__default.default.createElement(React14__default.default.Fragment, null, /* @__PURE__ */ React14__default.default.createElement("span", {
721
+ return /* @__PURE__ */ React17__default.default.createElement(React17__default.default.Fragment, null, /* @__PURE__ */ React17__default.default.createElement("span", {
722
722
  style: styles.objectDescription
723
- }, objectConstructorName === "Object" ? "" : `${objectConstructorName} `), /* @__PURE__ */ React14__default.default.createElement("span", {
723
+ }, objectConstructorName === "Object" ? "" : `${objectConstructorName} `), /* @__PURE__ */ React17__default.default.createElement("span", {
724
724
  style: styles.preview
725
725
  }, "{", intersperse(propertyNodes, ", "), "}"));
726
726
  }
727
727
  };
728
728
  var ObjectRootLabel = ({ name, data }) => {
729
729
  if (typeof name === "string") {
730
- return /* @__PURE__ */ React14__default.default.createElement("span", null, /* @__PURE__ */ React14__default.default.createElement(ObjectName, {
730
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, /* @__PURE__ */ React17__default.default.createElement(ObjectName, {
731
731
  name
732
- }), /* @__PURE__ */ React14__default.default.createElement("span", null, ": "), /* @__PURE__ */ React14__default.default.createElement(ObjectPreview, {
732
+ }), /* @__PURE__ */ React17__default.default.createElement("span", null, ": "), /* @__PURE__ */ React17__default.default.createElement(ObjectPreview, {
733
733
  data
734
734
  }));
735
735
  } else {
736
- return /* @__PURE__ */ React14__default.default.createElement(ObjectPreview, {
736
+ return /* @__PURE__ */ React17__default.default.createElement(ObjectPreview, {
737
737
  data
738
738
  });
739
739
  }
740
740
  };
741
741
  var ObjectLabel = ({ name, data, isNonenumerable = false }) => {
742
742
  const object = data;
743
- return /* @__PURE__ */ React14__default.default.createElement("span", null, typeof name === "string" ? /* @__PURE__ */ React14__default.default.createElement(ObjectName, {
743
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, typeof name === "string" ? /* @__PURE__ */ React17__default.default.createElement(ObjectName, {
744
744
  name,
745
745
  dimmed: isNonenumerable
746
- }) : /* @__PURE__ */ React14__default.default.createElement(ObjectPreview, {
746
+ }) : /* @__PURE__ */ React17__default.default.createElement(ObjectPreview, {
747
747
  data: name
748
- }), /* @__PURE__ */ React14__default.default.createElement("span", null, ": "), /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
748
+ }), /* @__PURE__ */ React17__default.default.createElement("span", null, ": "), /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
749
749
  object
750
750
  }));
751
751
  };
@@ -812,10 +812,10 @@ var createIterator = (showNonenumerable, sortObjectKeys) => {
812
812
  };
813
813
  return objectIterator;
814
814
  };
815
- var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth === 0 ? /* @__PURE__ */ React14__default.default.createElement(ObjectRootLabel, {
815
+ var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth === 0 ? /* @__PURE__ */ React17__default.default.createElement(ObjectRootLabel, {
816
816
  name,
817
817
  data
818
- }) : /* @__PURE__ */ React14__default.default.createElement(ObjectLabel, {
818
+ }) : /* @__PURE__ */ React17__default.default.createElement(ObjectLabel, {
819
819
  name,
820
820
  data,
821
821
  isNonenumerable
@@ -823,7 +823,7 @@ var defaultNodeRenderer = ({ depth, name, data, isNonenumerable }) => depth ===
823
823
  var ObjectInspector = ({ showNonenumerable = false, sortObjectKeys, nodeRenderer, ...treeViewProps }) => {
824
824
  const dataIterator = createIterator(showNonenumerable, sortObjectKeys);
825
825
  const renderer = nodeRenderer ? nodeRenderer : defaultNodeRenderer;
826
- return /* @__PURE__ */ React14__default.default.createElement(TreeView, {
826
+ return /* @__PURE__ */ React17__default.default.createElement(TreeView, {
827
827
  nodeRenderer: renderer,
828
828
  dataIterator,
829
829
  ...treeViewProps
@@ -862,33 +862,33 @@ function getHeaders(data) {
862
862
  var DataContainer = ({ rows, columns, rowsData }) => {
863
863
  const styles = useStyles("TableInspectorDataContainer");
864
864
  const borderStyles = useStyles("TableInspectorLeftBorder");
865
- return /* @__PURE__ */ React14__default.default.createElement("div", {
865
+ return /* @__PURE__ */ React17__default.default.createElement("div", {
866
866
  style: styles.div
867
- }, /* @__PURE__ */ React14__default.default.createElement("table", {
867
+ }, /* @__PURE__ */ React17__default.default.createElement("table", {
868
868
  style: styles.table
869
- }, /* @__PURE__ */ React14__default.default.createElement("colgroup", null), /* @__PURE__ */ React14__default.default.createElement("tbody", null, rows.map((row, i) => /* @__PURE__ */ React14__default.default.createElement("tr", {
869
+ }, /* @__PURE__ */ React17__default.default.createElement("colgroup", null), /* @__PURE__ */ React17__default.default.createElement("tbody", null, rows.map((row, i) => /* @__PURE__ */ React17__default.default.createElement("tr", {
870
870
  key: row,
871
871
  style: styles.tr
872
- }, /* @__PURE__ */ React14__default.default.createElement("td", {
872
+ }, /* @__PURE__ */ React17__default.default.createElement("td", {
873
873
  style: { ...styles.td, ...borderStyles.none }
874
874
  }, row), columns.map((column) => {
875
875
  const rowData = rowsData[i];
876
876
  if (typeof rowData === "object" && rowData !== null && hasOwnProperty.call(rowData, column)) {
877
- return /* @__PURE__ */ React14__default.default.createElement("td", {
877
+ return /* @__PURE__ */ React17__default.default.createElement("td", {
878
878
  key: column,
879
879
  style: { ...styles.td, ...borderStyles.solid }
880
- }, /* @__PURE__ */ React14__default.default.createElement(ObjectValue, {
880
+ }, /* @__PURE__ */ React17__default.default.createElement(ObjectValue, {
881
881
  object: rowData[column]
882
882
  }));
883
883
  } else {
884
- return /* @__PURE__ */ React14__default.default.createElement("td", {
884
+ return /* @__PURE__ */ React17__default.default.createElement("td", {
885
885
  key: column,
886
886
  style: { ...styles.td, ...borderStyles.solid }
887
887
  });
888
888
  }
889
889
  }))))));
890
890
  };
891
- var SortIconContainer = (props) => /* @__PURE__ */ React14__default.default.createElement("div", {
891
+ var SortIconContainer = (props) => /* @__PURE__ */ React17__default.default.createElement("div", {
892
892
  style: {
893
893
  position: "absolute",
894
894
  top: 1,
@@ -901,7 +901,7 @@ var SortIconContainer = (props) => /* @__PURE__ */ React14__default.default.crea
901
901
  var SortIcon = ({ sortAscending }) => {
902
902
  const styles = useStyles("TableInspectorSortIcon");
903
903
  const glyph = sortAscending ? "\u25B2" : "\u25BC";
904
- return /* @__PURE__ */ React14__default.default.createElement("div", {
904
+ return /* @__PURE__ */ React17__default.default.createElement("div", {
905
905
  style: styles
906
906
  }, glyph);
907
907
  };
@@ -914,10 +914,10 @@ var TH = ({
914
914
  ...thProps
915
915
  }) => {
916
916
  const styles = useStyles("TableInspectorTH");
917
- const [hovered, setHovered] = React14.useState(false);
918
- const handleMouseEnter = React14.useCallback(() => setHovered(true), []);
919
- const handleMouseLeave = React14.useCallback(() => setHovered(false), []);
920
- return /* @__PURE__ */ React14__default.default.createElement("th", {
917
+ const [hovered, setHovered] = React17.useState(false);
918
+ const handleMouseEnter = React17.useCallback(() => setHovered(true), []);
919
+ const handleMouseLeave = React17.useCallback(() => setHovered(false), []);
920
+ return /* @__PURE__ */ React17__default.default.createElement("th", {
921
921
  ...thProps,
922
922
  style: {
923
923
  ...styles.base,
@@ -927,9 +927,9 @@ var TH = ({
927
927
  onMouseEnter: handleMouseEnter,
928
928
  onMouseLeave: handleMouseLeave,
929
929
  onClick
930
- }, /* @__PURE__ */ React14__default.default.createElement("div", {
930
+ }, /* @__PURE__ */ React17__default.default.createElement("div", {
931
931
  style: styles.div
932
- }, children), sorted && /* @__PURE__ */ React14__default.default.createElement(SortIconContainer, null, /* @__PURE__ */ React14__default.default.createElement(SortIcon, {
932
+ }, children), sorted && /* @__PURE__ */ React17__default.default.createElement(SortIconContainer, null, /* @__PURE__ */ React17__default.default.createElement(SortIcon, {
933
933
  sortAscending
934
934
  })));
935
935
  };
@@ -945,16 +945,16 @@ var HeaderContainer = ({
945
945
  }) => {
946
946
  const styles = useStyles("TableInspectorHeaderContainer");
947
947
  const borderStyles = useStyles("TableInspectorLeftBorder");
948
- return /* @__PURE__ */ React14__default.default.createElement("div", {
948
+ return /* @__PURE__ */ React17__default.default.createElement("div", {
949
949
  style: styles.base
950
- }, /* @__PURE__ */ React14__default.default.createElement("table", {
950
+ }, /* @__PURE__ */ React17__default.default.createElement("table", {
951
951
  style: styles.table
952
- }, /* @__PURE__ */ React14__default.default.createElement("tbody", null, /* @__PURE__ */ React14__default.default.createElement("tr", null, /* @__PURE__ */ React14__default.default.createElement(TH, {
952
+ }, /* @__PURE__ */ React17__default.default.createElement("tbody", null, /* @__PURE__ */ React17__default.default.createElement("tr", null, /* @__PURE__ */ React17__default.default.createElement(TH, {
953
953
  borderStyle: borderStyles.none,
954
954
  sorted: sorted && sortIndexColumn,
955
955
  sortAscending,
956
956
  onClick: onIndexTHClick
957
- }, indexColumnText), columns.map((column) => /* @__PURE__ */ React14__default.default.createElement(TH, {
957
+ }, indexColumnText), columns.map((column) => /* @__PURE__ */ React17__default.default.createElement(TH, {
958
958
  borderStyle: borderStyles.solid,
959
959
  key: column,
960
960
  sorted: sorted && sortColumn === column,
@@ -967,13 +967,13 @@ var TableInspector = ({
967
967
  columns
968
968
  }) => {
969
969
  const styles = useStyles("TableInspector");
970
- const [{ sorted, sortIndexColumn, sortColumn, sortAscending }, setState] = React14.useState({
970
+ const [{ sorted, sortIndexColumn, sortColumn, sortAscending }, setState] = React17.useState({
971
971
  sorted: false,
972
972
  sortIndexColumn: false,
973
973
  sortColumn: void 0,
974
974
  sortAscending: false
975
975
  });
976
- const handleIndexTHClick = React14.useCallback(() => {
976
+ const handleIndexTHClick = React17.useCallback(() => {
977
977
  setState(({ sortIndexColumn: sortIndexColumn2, sortAscending: sortAscending2 }) => ({
978
978
  sorted: true,
979
979
  sortIndexColumn: true,
@@ -981,7 +981,7 @@ var TableInspector = ({
981
981
  sortAscending: sortIndexColumn2 ? !sortAscending2 : true
982
982
  }));
983
983
  }, []);
984
- const handleTHClick = React14.useCallback((col) => {
984
+ const handleTHClick = React17.useCallback((col) => {
985
985
  setState(({ sortColumn: sortColumn2, sortAscending: sortAscending2 }) => ({
986
986
  sorted: true,
987
987
  sortIndexColumn: false,
@@ -990,7 +990,7 @@ var TableInspector = ({
990
990
  }));
991
991
  }, []);
992
992
  if (typeof data !== "object" || data === null) {
993
- return /* @__PURE__ */ React14__default.default.createElement("div", null);
993
+ return /* @__PURE__ */ React17__default.default.createElement("div", null);
994
994
  }
995
995
  let { rowHeaders, colHeaders } = getHeaders(data);
996
996
  if (columns !== void 0) {
@@ -1054,9 +1054,9 @@ var TableInspector = ({
1054
1054
  rowHeaders = sortedRowIndexes.map((i) => rowHeaders[i]);
1055
1055
  rowsData = sortedRowIndexes.map((i) => rowsData[i]);
1056
1056
  }
1057
- return /* @__PURE__ */ React14__default.default.createElement("div", {
1057
+ return /* @__PURE__ */ React17__default.default.createElement("div", {
1058
1058
  style: styles.base
1059
- }, /* @__PURE__ */ React14__default.default.createElement(HeaderContainer, {
1059
+ }, /* @__PURE__ */ React17__default.default.createElement(HeaderContainer, {
1060
1060
  columns: colHeaders,
1061
1061
  sorted,
1062
1062
  sortIndexColumn,
@@ -1064,7 +1064,7 @@ var TableInspector = ({
1064
1064
  sortAscending,
1065
1065
  onTHClick: handleTHClick,
1066
1066
  onIndexTHClick: handleIndexTHClick
1067
- }), /* @__PURE__ */ React14__default.default.createElement(DataContainer, {
1067
+ }), /* @__PURE__ */ React17__default.default.createElement(DataContainer, {
1068
1068
  rows: rowHeaders,
1069
1069
  columns: colHeaders,
1070
1070
  rowsData
@@ -1074,20 +1074,20 @@ var themedTableInspector = themeAcceptor(TableInspector);
1074
1074
  var TEXT_NODE_MAX_INLINE_CHARS = 80;
1075
1075
  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;
1076
1076
  var OpenTag = ({ tagName, attributes, styles }) => {
1077
- return /* @__PURE__ */ React14__default.default.createElement("span", {
1077
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
1078
1078
  style: styles.base
1079
- }, "<", /* @__PURE__ */ React14__default.default.createElement("span", {
1079
+ }, "<", /* @__PURE__ */ React17__default.default.createElement("span", {
1080
1080
  style: styles.tagName
1081
1081
  }, tagName), (() => {
1082
1082
  if (attributes) {
1083
1083
  const attributeNodes = [];
1084
1084
  for (let i = 0; i < attributes.length; i++) {
1085
1085
  const attribute = attributes[i];
1086
- attributeNodes.push(/* @__PURE__ */ React14__default.default.createElement("span", {
1086
+ attributeNodes.push(/* @__PURE__ */ React17__default.default.createElement("span", {
1087
1087
  key: i
1088
- }, " ", /* @__PURE__ */ React14__default.default.createElement("span", {
1088
+ }, " ", /* @__PURE__ */ React17__default.default.createElement("span", {
1089
1089
  style: styles.htmlAttributeName
1090
- }, attribute.name), '="', /* @__PURE__ */ React14__default.default.createElement("span", {
1090
+ }, attribute.name), '="', /* @__PURE__ */ React17__default.default.createElement("span", {
1091
1091
  style: styles.htmlAttributeValue
1092
1092
  }, attribute.value), '"'));
1093
1093
  }
@@ -1095,9 +1095,9 @@ var OpenTag = ({ tagName, attributes, styles }) => {
1095
1095
  }
1096
1096
  })(), ">");
1097
1097
  };
1098
- var CloseTag = ({ tagName, isChildNode = false, styles }) => /* @__PURE__ */ React14__default.default.createElement("span", {
1098
+ var CloseTag = ({ tagName, isChildNode = false, styles }) => /* @__PURE__ */ React17__default.default.createElement("span", {
1099
1099
  style: Object.assign({}, styles.base, isChildNode && styles.offsetLeft)
1100
- }, "</", /* @__PURE__ */ React14__default.default.createElement("span", {
1100
+ }, "</", /* @__PURE__ */ React17__default.default.createElement("span", {
1101
1101
  style: styles.tagName
1102
1102
  }, tagName), ">");
1103
1103
  var nameByNodeType = {
@@ -1112,7 +1112,7 @@ var nameByNodeType = {
1112
1112
  var DOMNodePreview = ({ isCloseTag, data, expanded }) => {
1113
1113
  const styles = useStyles("DOMNodePreview");
1114
1114
  if (isCloseTag) {
1115
- return /* @__PURE__ */ React14__default.default.createElement(CloseTag, {
1115
+ return /* @__PURE__ */ React17__default.default.createElement(CloseTag, {
1116
1116
  styles: styles.htmlCloseTag,
1117
1117
  isChildNode: true,
1118
1118
  tagName: data.tagName
@@ -1120,34 +1120,34 @@ var DOMNodePreview = ({ isCloseTag, data, expanded }) => {
1120
1120
  }
1121
1121
  switch (data.nodeType) {
1122
1122
  case Node.ELEMENT_NODE:
1123
- return /* @__PURE__ */ React14__default.default.createElement("span", null, /* @__PURE__ */ React14__default.default.createElement(OpenTag, {
1123
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, /* @__PURE__ */ React17__default.default.createElement(OpenTag, {
1124
1124
  tagName: data.tagName,
1125
1125
  attributes: data.attributes,
1126
1126
  styles: styles.htmlOpenTag
1127
- }), shouldInline(data) ? data.textContent : !expanded && "\u2026", !expanded && /* @__PURE__ */ React14__default.default.createElement(CloseTag, {
1127
+ }), shouldInline(data) ? data.textContent : !expanded && "\u2026", !expanded && /* @__PURE__ */ React17__default.default.createElement(CloseTag, {
1128
1128
  tagName: data.tagName,
1129
1129
  styles: styles.htmlCloseTag
1130
1130
  }));
1131
1131
  case Node.TEXT_NODE:
1132
- return /* @__PURE__ */ React14__default.default.createElement("span", null, data.textContent);
1132
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, data.textContent);
1133
1133
  case Node.CDATA_SECTION_NODE:
1134
- return /* @__PURE__ */ React14__default.default.createElement("span", null, "<![CDATA[" + data.textContent + "]]>");
1134
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, "<![CDATA[" + data.textContent + "]]>");
1135
1135
  case Node.COMMENT_NODE:
1136
- return /* @__PURE__ */ React14__default.default.createElement("span", {
1136
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
1137
1137
  style: styles.htmlComment
1138
1138
  }, "<!--", data.textContent, "-->");
1139
1139
  case Node.PROCESSING_INSTRUCTION_NODE:
1140
- return /* @__PURE__ */ React14__default.default.createElement("span", null, data.nodeName);
1140
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, data.nodeName);
1141
1141
  case Node.DOCUMENT_TYPE_NODE:
1142
- return /* @__PURE__ */ React14__default.default.createElement("span", {
1142
+ return /* @__PURE__ */ React17__default.default.createElement("span", {
1143
1143
  style: styles.htmlDoctype
1144
1144
  }, "<!DOCTYPE ", data.name, data.publicId ? ` PUBLIC "${data.publicId}"` : "", !data.publicId && data.systemId ? " SYSTEM" : "", data.systemId ? ` "${data.systemId}"` : "", ">");
1145
1145
  case Node.DOCUMENT_NODE:
1146
- return /* @__PURE__ */ React14__default.default.createElement("span", null, data.nodeName);
1146
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, data.nodeName);
1147
1147
  case Node.DOCUMENT_FRAGMENT_NODE:
1148
- return /* @__PURE__ */ React14__default.default.createElement("span", null, data.nodeName);
1148
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, data.nodeName);
1149
1149
  default:
1150
- return /* @__PURE__ */ React14__default.default.createElement("span", null, nameByNodeType[data.nodeType]);
1150
+ return /* @__PURE__ */ React17__default.default.createElement("span", null, nameByNodeType[data.nodeType]);
1151
1151
  }
1152
1152
  };
1153
1153
  var domIterator = function* (data) {
@@ -1177,7 +1177,7 @@ var domIterator = function* (data) {
1177
1177
  }
1178
1178
  };
1179
1179
  var DOMInspector = (props) => {
1180
- return /* @__PURE__ */ React14__default.default.createElement(TreeView, {
1180
+ return /* @__PURE__ */ React17__default.default.createElement(TreeView, {
1181
1181
  nodeRenderer: DOMNodePreview,
1182
1182
  dataIterator: domIterator,
1183
1183
  ...props
@@ -1187,17 +1187,17 @@ var themedDOMInspector = themeAcceptor(DOMInspector);
1187
1187
  var import_is_dom = __toESM(require_is_dom());
1188
1188
  var Inspector = ({ table = false, data, ...rest }) => {
1189
1189
  if (table) {
1190
- return /* @__PURE__ */ React14__default.default.createElement(themedTableInspector, {
1190
+ return /* @__PURE__ */ React17__default.default.createElement(themedTableInspector, {
1191
1191
  data,
1192
1192
  ...rest
1193
1193
  });
1194
1194
  }
1195
1195
  if ((0, import_is_dom.default)(data))
1196
- return /* @__PURE__ */ React14__default.default.createElement(themedDOMInspector, {
1196
+ return /* @__PURE__ */ React17__default.default.createElement(themedDOMInspector, {
1197
1197
  data,
1198
1198
  ...rest
1199
1199
  });
1200
- return /* @__PURE__ */ React14__default.default.createElement(themedObjectInspector, {
1200
+ return /* @__PURE__ */ React17__default.default.createElement(themedObjectInspector, {
1201
1201
  data,
1202
1202
  ...rest
1203
1203
  });
@@ -1234,326 +1234,465 @@ var throttle = (fn, wait) => {
1234
1234
  };
1235
1235
  };
1236
1236
  var isMac = typeof navigator !== "undefined" && navigator.platform.toLowerCase().includes("mac");
1237
- var Inspector2 = ({
1238
- enabled = true,
1239
- dangerouslyRunInProduction = false
1240
- }) => {
1241
- const [element, setElement] = React14.useState(null);
1242
- const [rect, setRect] = React14.useState(null);
1243
- const [isActive, setIsActive] = React14.useState(true);
1244
- const [isDialogMode, setIsDialogMode] = React14.useState(false);
1245
- const [tooltip, setTooltip] = React14.useState(null);
1246
- const [position, setPosition] = React14.useState({
1247
- top: 0,
1248
- left: 0
1249
- });
1250
- const handlePropertyHover = (_e, propName) => {
1251
- if (!isDialogMode) return;
1252
- const explanation = FIBER_PROP_EXPLANATIONS[propName];
1253
- if (!explanation) return;
1254
- setTooltip(explanation);
1255
- };
1256
- const handlePropertyLeave = () => {
1257
- setTooltip(null);
1258
- };
1259
- React14.useEffect(() => {
1260
- const handleKeyDown = (e) => {
1261
- if (e.key === "o" && (e.metaKey || e.ctrlKey) && rect) {
1262
- e.preventDefault();
1263
- setIsDialogMode(true);
1264
- } else if (e.key === "Escape" && isDialogMode) {
1265
- setIsDialogMode(false);
1266
- setTooltip(null);
1267
- }
1237
+ var Inspector2 = React17__default.default.memo(
1238
+ ({ enabled = true, dangerouslyRunInProduction = false }) => {
1239
+ const [element, setElement] = React17.useState(null);
1240
+ const [rect, setRect] = React17.useState(null);
1241
+ const [isActive, setIsActive] = React17.useState(true);
1242
+ const [isDialogMode, setIsDialogMode] = React17.useState(false);
1243
+ const [tooltip, setTooltip] = React17.useState(null);
1244
+ const [selectedFiber, setSelectedFiber] = React17.useState(null);
1245
+ const [position, setPosition] = React17.useState({
1246
+ top: 0,
1247
+ left: 0
1248
+ });
1249
+ const getFiberForDisplay = () => {
1250
+ if (selectedFiber) return selectedFiber;
1251
+ const fiber2 = chunkCQFIS43Y_cjs.getFiberFromHostInstance(element);
1252
+ if (!fiber2) return null;
1253
+ return fiber2.return && chunkCQFIS43Y_cjs.isCompositeFiber(fiber2.return) ? fiber2.return : fiber2;
1254
+ };
1255
+ const handlePropertyHover = (_e, propName) => {
1256
+ if (!isDialogMode) return;
1257
+ const explanation = FIBER_PROP_EXPLANATIONS[propName];
1258
+ setTooltip(explanation || null);
1268
1259
  };
1269
- window.addEventListener("keydown", handleKeyDown);
1270
- return () => window.removeEventListener("keydown", handleKeyDown);
1271
- }, [rect, isDialogMode]);
1272
- React14.useEffect(() => {
1273
- if (!isDialogMode) {
1260
+ const handlePropertyLeave = () => {
1274
1261
  setTooltip(null);
1275
- }
1276
- }, [isDialogMode]);
1277
- React14.useEffect(() => {
1278
- const handleMouseMove = (event) => {
1279
- if (isDialogMode) return;
1280
- const isActive2 = chunk3Q4JLWUK_cjs.isInstrumentationActive();
1281
- if (!isActive2) {
1282
- setIsActive(false);
1283
- return;
1262
+ };
1263
+ React17.useEffect(() => {
1264
+ const handleKeyDown = (e) => {
1265
+ if (e.key === "o" && (e.metaKey || e.ctrlKey) && rect) {
1266
+ e.preventDefault();
1267
+ setIsDialogMode(true);
1268
+ } else if (e.key === "Escape" && isDialogMode) {
1269
+ setIsDialogMode(false);
1270
+ setTooltip(null);
1271
+ }
1272
+ };
1273
+ window.addEventListener("keydown", handleKeyDown);
1274
+ return () => window.removeEventListener("keydown", handleKeyDown);
1275
+ }, [rect, isDialogMode]);
1276
+ React17.useEffect(() => {
1277
+ if (!isDialogMode) {
1278
+ setTooltip(null);
1284
1279
  }
1285
- if (!dangerouslyRunInProduction) {
1286
- const rdtHook = chunk3Q4JLWUK_cjs.getRDTHook();
1287
- for (const renderer of rdtHook.renderers.values()) {
1288
- const buildType = chunk3Q4JLWUK_cjs.detectReactBuildType(renderer);
1289
- if (buildType === "production") {
1290
- setIsActive(false);
1291
- return;
1280
+ }, [isDialogMode]);
1281
+ React17.useEffect(() => {
1282
+ const handleMouseMove = (event) => {
1283
+ if (isDialogMode) return;
1284
+ const isActive2 = chunkCQFIS43Y_cjs.isInstrumentationActive() || chunkCQFIS43Y_cjs.hasRDTHook();
1285
+ if (!isActive2) {
1286
+ setIsActive(false);
1287
+ return;
1288
+ }
1289
+ if (!dangerouslyRunInProduction) {
1290
+ const rdtHook = chunkCQFIS43Y_cjs.getRDTHook();
1291
+ for (const renderer of rdtHook.renderers.values()) {
1292
+ const buildType = chunkCQFIS43Y_cjs.detectReactBuildType(renderer);
1293
+ if (buildType === "production") {
1294
+ setIsActive(false);
1295
+ return;
1296
+ }
1292
1297
  }
1293
1298
  }
1299
+ if (!enabled) {
1300
+ setElement(null);
1301
+ setRect(null);
1302
+ setSelectedFiber(null);
1303
+ return;
1304
+ }
1305
+ const element2 = document.elementFromPoint(event.clientX, event.clientY);
1306
+ if (!element2) return;
1307
+ setElement(element2);
1308
+ setRect(element2.getBoundingClientRect());
1309
+ setSelectedFiber(null);
1310
+ };
1311
+ const throttledMouseMove = throttle(handleMouseMove, 16);
1312
+ document.addEventListener("mousemove", throttledMouseMove);
1313
+ return () => {
1314
+ document.removeEventListener("mousemove", throttledMouseMove);
1315
+ };
1316
+ }, [enabled, isDialogMode, dangerouslyRunInProduction]);
1317
+ React17.useEffect(() => {
1318
+ if (!rect) return;
1319
+ const padding = 10;
1320
+ const inspectorWidth = 400;
1321
+ const inspectorHeight = 320;
1322
+ let left = rect.left + rect.width + padding;
1323
+ let top = rect.top;
1324
+ if (left + inspectorWidth > window.innerWidth) {
1325
+ left = Math.max(padding, rect.left - inspectorWidth - padding);
1294
1326
  }
1295
- if (!enabled) {
1296
- setElement(null);
1297
- setRect(null);
1298
- return;
1327
+ if (top >= rect.top && top <= rect.bottom) {
1328
+ if (rect.bottom + inspectorHeight + padding <= window.innerHeight) {
1329
+ top = rect.bottom + padding;
1330
+ } else if (rect.top - inspectorHeight - padding >= 0) {
1331
+ top = rect.top - inspectorHeight - padding;
1332
+ } else {
1333
+ top = window.innerHeight - inspectorHeight - padding;
1334
+ }
1299
1335
  }
1300
- const element2 = document.elementFromPoint(event.clientX, event.clientY);
1301
- if (!element2) return;
1302
- setElement(element2);
1303
- setRect(element2.getBoundingClientRect());
1304
- };
1305
- const throttledMouseMove = throttle(handleMouseMove, 16);
1306
- document.addEventListener("mousemove", throttledMouseMove);
1307
- return () => {
1308
- document.removeEventListener("mousemove", throttledMouseMove);
1309
- };
1310
- }, [enabled, isDialogMode]);
1311
- React14.useEffect(() => {
1312
- if (!rect) return;
1313
- const padding = 10;
1314
- const inspectorWidth = 400;
1315
- const inspectorHeight = 320;
1316
- let left = rect.left + rect.width + padding;
1317
- let top = rect.top;
1318
- if (left + inspectorWidth > window.innerWidth) {
1319
- left = Math.max(padding, rect.left - inspectorWidth - padding);
1320
- }
1321
- if (top >= rect.top && top <= rect.bottom) {
1322
- if (rect.bottom + inspectorHeight + padding <= window.innerHeight) {
1323
- top = rect.bottom + padding;
1324
- } else if (rect.top - inspectorHeight - padding >= 0) {
1325
- top = rect.top - inspectorHeight - padding;
1326
- } else {
1327
- top = window.innerHeight - inspectorHeight - padding;
1336
+ top = Math.max(
1337
+ padding,
1338
+ Math.min(top, window.innerHeight - inspectorHeight - padding)
1339
+ );
1340
+ left = Math.max(
1341
+ padding,
1342
+ Math.min(left, window.innerWidth - inspectorWidth - padding)
1343
+ );
1344
+ setPosition({ top, left });
1345
+ }, [rect]);
1346
+ React17.useEffect(() => {
1347
+ if (selectedFiber) {
1348
+ const element2 = chunkCQFIS43Y_cjs.getNearestHostFiber(selectedFiber)?.stateNode;
1349
+ if (element2) {
1350
+ setElement(element2);
1351
+ setRect(element2.getBoundingClientRect());
1352
+ }
1328
1353
  }
1329
- }
1330
- top = Math.max(
1331
- padding,
1332
- Math.min(top, window.innerHeight - inspectorHeight - padding)
1333
- );
1334
- left = Math.max(
1335
- padding,
1336
- Math.min(left, window.innerWidth - inspectorWidth - padding)
1354
+ }, [selectedFiber]);
1355
+ if (window.innerWidth < 800 || !rect || !isActive) return null;
1356
+ const fiber = getFiberForDisplay();
1357
+ if (!fiber) return null;
1358
+ let foundInspect = false;
1359
+ chunkCQFIS43Y_cjs.traverseFiber(
1360
+ fiber,
1361
+ (innerFiber) => {
1362
+ if (innerFiber.type === Inspector2) {
1363
+ foundInspect = true;
1364
+ return true;
1365
+ }
1366
+ },
1367
+ true
1337
1368
  );
1338
- setPosition({ top, left });
1339
- }, [rect]);
1340
- if (window.innerWidth < 800 || !rect || !isActive) return null;
1341
- let fiber = chunk3Q4JLWUK_cjs.getFiberFromHostInstance(element);
1342
- let foundInspect = false;
1343
- if (!fiber) return;
1344
- if (fiber.return && chunk3Q4JLWUK_cjs.isCompositeFiber(fiber.return)) {
1345
- fiber = fiber.return;
1346
- }
1347
- chunk3Q4JLWUK_cjs.traverseFiber(
1348
- fiber,
1349
- (innerFiber) => {
1350
- if (innerFiber.type === Inspector2) {
1351
- foundInspect = true;
1352
- return true;
1353
- }
1354
- },
1355
- true
1356
- );
1357
- if (foundInspect) return;
1358
- const dialogStyle = isDialogMode ? {
1359
- position: "fixed",
1360
- top: "50%",
1361
- left: "50%",
1362
- transform: "translate(-50%, -50%)",
1363
- width: "80vw",
1364
- height: "80vh",
1365
- maxWidth: "none",
1366
- maxHeight: "none",
1367
- padding: "2ch",
1368
- boxShadow: "0 0 0 5px rgba(0, 0, 0, 0.1)",
1369
- zIndex: 1e3
1370
- } : {};
1371
- const overlayStyle = isDialogMode ? {
1372
- position: "fixed",
1373
- top: 0,
1374
- left: 0,
1375
- right: 0,
1376
- bottom: 0,
1377
- backgroundColor: "rgba(0, 0, 0, 0.5)",
1378
- zIndex: 999
1379
- } : {};
1380
- const fiberStack = fiber ? chunk3Q4JLWUK_cjs.getFiberStack(fiber) : [];
1381
- const breadcrumbs = fiberStack.reverse().map(
1382
- (f) => typeof f.type === "string" ? f.type : chunk3Q4JLWUK_cjs.getDisplayName(f.type) || null
1383
- ).filter((name) => name !== null).join(" > ");
1384
- return /* @__PURE__ */ React14__default.default.createElement(React14__default.default.Fragment, null, isDialogMode && /* @__PURE__ */ React14__default.default.createElement(
1385
- "div",
1386
- {
1387
- style: overlayStyle,
1388
- onClick: () => setIsDialogMode(false),
1389
- onKeyDown: (e) => e.key === "Escape" && setIsDialogMode(false),
1390
- role: "button",
1391
- tabIndex: 0
1392
- }
1393
- ), /* @__PURE__ */ React14__default.default.createElement(
1394
- "div",
1395
- {
1396
- style: {
1397
- position: "fixed",
1398
- backgroundColor: "white",
1399
- zIndex: 50,
1400
- padding: "1ch",
1401
- width: "50ch",
1402
- height: "40ch",
1403
- transition: "all 150ms",
1404
- overflow: "visible",
1405
- boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.1)",
1406
- border: "1px solid black",
1407
- top: position.top,
1408
- left: position.left,
1409
- opacity: rect ? 1 : 0,
1410
- transform: rect ? "translateY(0)" : "translateY(10px)",
1411
- pointerEvents: rect ? "auto" : "none",
1412
- display: "flex",
1413
- flexDirection: "column",
1414
- ...dialogStyle
1369
+ if (foundInspect) return null;
1370
+ const dialogStyle = isDialogMode ? {
1371
+ position: "fixed",
1372
+ top: "50%",
1373
+ left: "50%",
1374
+ transform: "translate(-50%, -50%)",
1375
+ width: "80vw",
1376
+ height: "80vh",
1377
+ maxWidth: "none",
1378
+ maxHeight: "none",
1379
+ padding: "2ch",
1380
+ boxShadow: "0 0 0 5px rgba(0, 0, 0, 0.1)",
1381
+ zIndex: 1e3
1382
+ } : {};
1383
+ const overlayStyle = isDialogMode ? {
1384
+ position: "fixed",
1385
+ top: 0,
1386
+ left: 0,
1387
+ right: 0,
1388
+ bottom: 0,
1389
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
1390
+ zIndex: 999
1391
+ } : {};
1392
+ const fiberStack = fiber ? chunkCQFIS43Y_cjs.getFiberStack(fiber) : [];
1393
+ return /* @__PURE__ */ React17__default.default.createElement(React17__default.default.Fragment, null, isDialogMode && /* @__PURE__ */ React17__default.default.createElement(
1394
+ "div",
1395
+ {
1396
+ style: overlayStyle,
1397
+ onClick: () => setIsDialogMode(false),
1398
+ onKeyDown: (e) => e.key === "Escape" && setIsDialogMode(false),
1399
+ role: "button",
1400
+ tabIndex: 0
1415
1401
  }
1416
- },
1417
- /* @__PURE__ */ React14__default.default.createElement(
1402
+ ), /* @__PURE__ */ React17__default.default.createElement(
1418
1403
  "div",
1419
1404
  {
1420
1405
  style: {
1406
+ position: "fixed",
1407
+ backgroundColor: "white",
1408
+ zIndex: 50,
1409
+ padding: "1ch",
1410
+ width: "50ch",
1411
+ height: "40ch",
1412
+ transition: "all 150ms, z-index 0ms",
1413
+ overflow: "visible",
1414
+ boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.1)",
1415
+ border: "1px solid black",
1416
+ top: position.top,
1417
+ left: position.left,
1418
+ opacity: rect ? 1 : 0,
1419
+ transform: rect ? "translateY(0)" : "translateY(10px)",
1420
+ pointerEvents: rect ? "auto" : "none",
1421
1421
  display: "flex",
1422
- justifyContent: "space-between",
1423
- alignItems: "center",
1424
- marginBottom: "1ch"
1422
+ flexDirection: "column",
1423
+ ...dialogStyle
1425
1424
  }
1426
1425
  },
1427
- /* @__PURE__ */ React14__default.default.createElement(
1428
- "h3",
1426
+ /* @__PURE__ */ React17__default.default.createElement(
1427
+ "div",
1429
1428
  {
1430
1429
  style: {
1431
- fontSize: "0.875rem",
1432
- backgroundColor: "#f5f5f5",
1433
- padding: "0 0.5ch",
1434
- borderRadius: "0.125rem",
1435
- width: "fit-content",
1436
- margin: 0
1430
+ display: "flex",
1431
+ justifyContent: "space-between",
1432
+ alignItems: "center",
1433
+ marginBottom: "1ch"
1437
1434
  }
1438
1435
  },
1439
- `<${typeof fiber.type === "string" ? fiber.type : chunk3Q4JLWUK_cjs.getDisplayName(fiber.type) || "unknown"}>`,
1440
- /* @__PURE__ */ React14__default.default.createElement(
1441
- "span",
1436
+ /* @__PURE__ */ React17__default.default.createElement(
1437
+ "h3",
1438
+ {
1439
+ style: {
1440
+ fontSize: "0.875rem",
1441
+ backgroundColor: "#f5f5f5",
1442
+ padding: "0 0.5ch",
1443
+ borderRadius: "0.125rem",
1444
+ width: "fit-content",
1445
+ margin: 0
1446
+ }
1447
+ },
1448
+ `<${typeof fiber.type === "string" ? fiber.type : chunkCQFIS43Y_cjs.getDisplayName(fiber.type) || "unknown"}>`,
1449
+ !isDialogMode && /* @__PURE__ */ React17__default.default.createElement(
1450
+ "span",
1451
+ {
1452
+ style: {
1453
+ marginLeft: "1ch",
1454
+ opacity: 0.5,
1455
+ fontSize: "0.75rem"
1456
+ }
1457
+ },
1458
+ `Press ${isMac ? "\u2318" : "ctrl"}O to expand`
1459
+ )
1460
+ ),
1461
+ isDialogMode && fiber.child && /* @__PURE__ */ React17__default.default.createElement(
1462
+ "div",
1442
1463
  {
1443
- style: { marginLeft: "1ch", opacity: 0.5, fontSize: "0.75rem" }
1464
+ style: {
1465
+ marginTop: "1ch",
1466
+ marginBottom: "1ch",
1467
+ marginRight: "auto",
1468
+ marginLeft: "1ch",
1469
+ fontSize: "0.75rem",
1470
+ display: "flex",
1471
+ flexWrap: "wrap",
1472
+ gap: "0.5ch"
1473
+ }
1444
1474
  },
1445
- `Press ${isMac ? "\u2318" : "ctrl"}+o to expand`
1475
+ /* @__PURE__ */ React17__default.default.createElement("span", { style: { opacity: 0.5 } }, "Children:"),
1476
+ /* @__PURE__ */ React17__default.default.createElement(
1477
+ "div",
1478
+ {
1479
+ style: { display: "flex", flexWrap: "wrap", gap: "0.5ch" }
1480
+ },
1481
+ (() => {
1482
+ const children = [];
1483
+ let currentChild = fiber.child;
1484
+ while (currentChild !== null) {
1485
+ children.push(currentChild);
1486
+ currentChild = currentChild.sibling;
1487
+ }
1488
+ return children.map((child) => {
1489
+ const name = typeof child.type === "string" ? child.type : chunkCQFIS43Y_cjs.getDisplayName(child.type) || "unknown";
1490
+ return /* @__PURE__ */ React17__default.default.createElement(
1491
+ "button",
1492
+ {
1493
+ key: chunkCQFIS43Y_cjs.getFiberId(child),
1494
+ type: "button",
1495
+ onClick: () => {
1496
+ setSelectedFiber(child);
1497
+ const element2 = chunkCQFIS43Y_cjs.getNearestHostFiber(child)?.stateNode;
1498
+ if (element2) {
1499
+ setElement(element2);
1500
+ setRect(element2.getBoundingClientRect());
1501
+ }
1502
+ },
1503
+ onKeyDown: (e) => {
1504
+ if (e.key === "Enter" || e.key === " ") {
1505
+ setSelectedFiber(child);
1506
+ const element2 = chunkCQFIS43Y_cjs.getNearestHostFiber(child)?.stateNode;
1507
+ if (element2) {
1508
+ setElement(element2);
1509
+ setRect(element2.getBoundingClientRect());
1510
+ }
1511
+ }
1512
+ },
1513
+ style: {
1514
+ cursor: "pointer",
1515
+ padding: "0 0.5ch",
1516
+ background: "#f5f5f5",
1517
+ border: "1px solid #eee",
1518
+ borderRadius: "0.125rem",
1519
+ fontSize: "inherit",
1520
+ color: "#666"
1521
+ },
1522
+ onMouseEnter: (e) => {
1523
+ e.currentTarget.style.backgroundColor = "#000";
1524
+ e.currentTarget.style.color = "#fff";
1525
+ e.currentTarget.style.borderColor = "#000";
1526
+ },
1527
+ onMouseLeave: (e) => {
1528
+ e.currentTarget.style.backgroundColor = "#f5f5f5";
1529
+ e.currentTarget.style.color = "#666";
1530
+ e.currentTarget.style.borderColor = "#eee";
1531
+ }
1532
+ },
1533
+ name
1534
+ );
1535
+ });
1536
+ })()
1537
+ )
1538
+ ),
1539
+ isDialogMode && /* @__PURE__ */ React17__default.default.createElement(
1540
+ "button",
1541
+ {
1542
+ type: "button",
1543
+ onClick: () => setIsDialogMode(false),
1544
+ style: {
1545
+ border: "none",
1546
+ background: "none",
1547
+ cursor: "pointer",
1548
+ padding: "0.5ch",
1549
+ fontSize: "2ch",
1550
+ opacity: 0.5
1551
+ }
1552
+ },
1553
+ "\xD7"
1446
1554
  )
1447
1555
  ),
1448
- isDialogMode && /* @__PURE__ */ React14__default.default.createElement(
1449
- "button",
1556
+ isDialogMode && /* @__PURE__ */ React17__default.default.createElement(
1557
+ "div",
1450
1558
  {
1451
- type: "button",
1452
- onClick: () => setIsDialogMode(false),
1453
1559
  style: {
1454
- border: "none",
1455
- background: "none",
1456
- cursor: "pointer",
1457
- padding: "0.5ch",
1458
- fontSize: "2ch",
1459
- opacity: 0.5
1560
+ borderTop: "1px solid #eee",
1561
+ padding: "0.5ch 0",
1562
+ fontSize: "0.75rem",
1563
+ color: "#666",
1564
+ whiteSpace: "nowrap",
1565
+ overflow: "hidden",
1566
+ textOverflow: "ellipsis",
1567
+ marginBottom: "2ch"
1460
1568
  }
1461
1569
  },
1462
- "\xD7"
1463
- )
1464
- ),
1465
- /* @__PURE__ */ React14__default.default.createElement(
1466
- "div",
1467
- {
1468
- onMouseLeave: handlePropertyLeave,
1469
- style: {
1470
- flex: 1,
1471
- overflow: "auto"
1472
- }
1473
- },
1474
- /* @__PURE__ */ React14__default.default.createElement(
1475
- Inspector,
1476
- {
1477
- data: fiber,
1478
- expandLevel: 1,
1479
- table: false,
1480
- nodeRenderer: (props) => {
1481
- const Component = props.depth === 0 ? ObjectRootLabel : ObjectLabel;
1482
- return /* @__PURE__ */ React14__default.default.createElement(
1483
- "span",
1484
- {
1485
- onMouseEnter: (e) => handlePropertyHover(e, props.name),
1486
- style: {
1487
- cursor: FIBER_PROP_EXPLANATIONS[props.name] ? "help" : "default",
1488
- padding: "1px 0",
1489
- display: "inline-block",
1490
- fontWeight: FIBER_PROP_EXPLANATIONS[props.name] ? 500 : "normal"
1570
+ fiberStack.reverse().map((f, i, arr) => {
1571
+ const name = typeof f.type === "string" ? f.type : chunkCQFIS43Y_cjs.getDisplayName(f.type) || "unknown";
1572
+ if (!name) return null;
1573
+ return /* @__PURE__ */ React17__default.default.createElement(React17__default.default.Fragment, { key: chunkCQFIS43Y_cjs.getFiberId(f) }, /* @__PURE__ */ React17__default.default.createElement(
1574
+ "button",
1575
+ {
1576
+ type: "button",
1577
+ onClick: () => {
1578
+ setSelectedFiber(f);
1579
+ const element2 = chunkCQFIS43Y_cjs.getNearestHostFiber(f)?.stateNode;
1580
+ if (element2) {
1581
+ setElement(element2);
1582
+ setRect(element2.getBoundingClientRect());
1491
1583
  }
1492
1584
  },
1493
- /* @__PURE__ */ React14__default.default.createElement(
1494
- Component,
1495
- {
1496
- name: props.name,
1497
- data: props.data,
1498
- isNonenumerable: props.isNonenumerable
1585
+ onKeyDown: (e) => {
1586
+ if (e.key === "Enter" || e.key === " ") {
1587
+ setSelectedFiber(f);
1588
+ const element2 = chunkCQFIS43Y_cjs.getNearestHostFiber(f)?.stateNode;
1589
+ if (element2) {
1590
+ setElement(element2);
1591
+ setRect(element2.getBoundingClientRect());
1592
+ }
1499
1593
  }
1500
- )
1501
- );
1594
+ },
1595
+ style: {
1596
+ cursor: "pointer",
1597
+ textDecoration: "underline",
1598
+ color: "#666",
1599
+ background: "none",
1600
+ border: "none",
1601
+ padding: 0,
1602
+ font: "inherit"
1603
+ },
1604
+ onMouseEnter: (e) => {
1605
+ e.currentTarget.style.backgroundColor = "#000";
1606
+ e.currentTarget.style.color = "#fff";
1607
+ },
1608
+ onMouseLeave: (e) => {
1609
+ e.currentTarget.style.backgroundColor = "";
1610
+ e.currentTarget.style.color = "#666";
1611
+ }
1612
+ },
1613
+ name
1614
+ ), i < arr.length - 1 && " > ");
1615
+ })
1616
+ ),
1617
+ /* @__PURE__ */ React17__default.default.createElement(
1618
+ "div",
1619
+ {
1620
+ onMouseLeave: handlePropertyLeave,
1621
+ style: {
1622
+ flex: 1,
1623
+ overflow: "auto"
1502
1624
  }
1503
- }
1625
+ },
1626
+ /* @__PURE__ */ React17__default.default.createElement(
1627
+ Inspector,
1628
+ {
1629
+ data: fiber,
1630
+ expandLevel: 1,
1631
+ table: false,
1632
+ nodeRenderer: (props) => {
1633
+ const Component = props.depth === 0 ? ObjectRootLabel : ObjectLabel;
1634
+ return /* @__PURE__ */ React17__default.default.createElement(
1635
+ "span",
1636
+ {
1637
+ onMouseEnter: (e) => handlePropertyHover(e, props.name),
1638
+ onMouseLeave: handlePropertyLeave,
1639
+ style: {
1640
+ cursor: FIBER_PROP_EXPLANATIONS[props.name] ? "help" : "default",
1641
+ padding: "1px 0",
1642
+ display: "inline-block",
1643
+ fontWeight: FIBER_PROP_EXPLANATIONS[props.name] ? 500 : "normal"
1644
+ }
1645
+ },
1646
+ /* @__PURE__ */ React17__default.default.createElement(
1647
+ Component,
1648
+ {
1649
+ name: props.name,
1650
+ data: props.data,
1651
+ isNonenumerable: props.isNonenumerable
1652
+ }
1653
+ )
1654
+ );
1655
+ }
1656
+ }
1657
+ )
1658
+ ),
1659
+ tooltip && /* @__PURE__ */ React17__default.default.createElement(
1660
+ "div",
1661
+ {
1662
+ style: {
1663
+ position: "absolute",
1664
+ zIndex: 1001,
1665
+ backgroundColor: "#000",
1666
+ color: "white",
1667
+ bottom: "2ch",
1668
+ right: "2ch",
1669
+ pointerEvents: "none",
1670
+ overflowY: "auto",
1671
+ padding: "1ch",
1672
+ fontSize: "1ch"
1673
+ }
1674
+ },
1675
+ tooltip
1504
1676
  )
1505
- ),
1506
- /* @__PURE__ */ React14__default.default.createElement(
1507
- "div",
1508
- {
1509
- style: {
1510
- borderTop: "1px solid #eee",
1511
- padding: "0.5ch 0",
1512
- fontSize: "0.75rem",
1513
- color: "#666",
1514
- whiteSpace: "nowrap",
1515
- overflow: "hidden",
1516
- textOverflow: "ellipsis"
1517
- }
1518
- },
1519
- breadcrumbs
1520
- ),
1521
- tooltip && /* @__PURE__ */ React14__default.default.createElement(
1677
+ ), !isDialogMode && /* @__PURE__ */ React17__default.default.createElement(
1522
1678
  "div",
1523
1679
  {
1524
1680
  style: {
1525
- position: "absolute",
1526
- zIndex: 1001,
1527
- backgroundColor: "#000",
1528
- color: "white",
1529
- bottom: "2ch",
1530
- right: "2ch",
1681
+ position: "fixed",
1682
+ zIndex: 40,
1531
1683
  pointerEvents: "none",
1532
- overflowY: "auto",
1533
- padding: "1ch",
1534
- fontSize: "1ch"
1684
+ transition: "all 150ms",
1685
+ border: "1px dashed #a3a3a3",
1686
+ left: rect.left,
1687
+ top: rect.top,
1688
+ width: rect.width,
1689
+ height: rect.height,
1690
+ opacity: rect ? 1 : 0
1535
1691
  }
1536
- },
1537
- tooltip
1538
- )
1539
- ), !isDialogMode && /* @__PURE__ */ React14__default.default.createElement(
1540
- "div",
1541
- {
1542
- style: {
1543
- position: "fixed",
1544
- zIndex: 40,
1545
- pointerEvents: "none",
1546
- transition: "all 150ms",
1547
- border: "1px dashed #a3a3a3",
1548
- left: rect.left,
1549
- top: rect.top,
1550
- width: rect.width,
1551
- height: rect.height,
1552
- opacity: rect ? 1 : 0
1553
1692
  }
1554
- }
1555
- ));
1556
- };
1693
+ ));
1694
+ }
1695
+ );
1557
1696
  var inspect_default = Inspector2;
1558
1697
 
1559
1698
  exports.Inspector = Inspector2;