bippy 0.3.3 → 0.3.4

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