@tscircuit/pcb-viewer 1.11.37 → 1.11.38

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/index.d.ts CHANGED
@@ -65,8 +65,9 @@ type Props = {
65
65
  editEvents?: EditEvent[];
66
66
  initialState?: Partial<StateProps>;
67
67
  onEditEventsChanged?: (editEvents: EditEvent[]) => void;
68
+ focusOnHover?: boolean;
68
69
  };
69
- declare const PCBViewer: ({ children, soup, circuitJson, height, initialState, allowEditing, editEvents: editEventsProp, onEditEventsChanged, }: Props) => react_jsx_runtime.JSX.Element;
70
+ declare const PCBViewer: ({ children, soup, circuitJson, height, initialState, allowEditing, editEvents: editEventsProp, onEditEventsChanged, focusOnHover, }: Props) => react_jsx_runtime.JSX.Element;
70
71
 
71
72
  declare const applyEditEvents: (soup: AnyCircuitElement[], edit_events: EditEvent[]) => AnyCircuitElement[];
72
73
 
@@ -87,7 +88,8 @@ interface CanvasElementsRendererProps {
87
88
  height?: number;
88
89
  grid?: GridConfig;
89
90
  allowEditing: boolean;
90
- cancelPanDrag: Function;
91
+ focusOnHover: boolean;
92
+ cancelPanDrag: () => void;
91
93
  onCreateEditEvent: (event: EditEvent) => void;
92
94
  onModifyEditEvent: (event: Partial<EditEvent>) => void;
93
95
  }
package/dist/index.js CHANGED
@@ -7491,8 +7491,7 @@ var convertElementToPrimitives = (element, allElements) => {
7491
7491
  };
7492
7492
 
7493
7493
  // src/components/MouseElementTracker.tsx
7494
- import { useState as useState4 } from "react";
7495
- import { useMemo as useMemo3 } from "react";
7494
+ import { useState as useState4, useMemo as useMemo3 } from "react";
7496
7495
  import { applyToPoint as applyToPoint5, inverse as inverse2 } from "transformation-matrix";
7497
7496
 
7498
7497
  // src/components/ElementOverlayBox.tsx
@@ -7789,7 +7788,7 @@ var MouseElementTracker = ({
7789
7788
  w: w * transform.a,
7790
7789
  h: h * transform.a
7791
7790
  };
7792
- let same_space_index = highlightedPrimitives2.filter(
7791
+ const same_space_index = highlightedPrimitives2.filter(
7793
7792
  (hp) => screenPos.x === hp.screen_x && screenPos.y === hp.screen_y && screenSize.w === hp.screen_w && screenSize.h === hp.screen_h
7794
7793
  ).length;
7795
7794
  highlightedPrimitives2.push({
@@ -7831,7 +7830,8 @@ var MouseElementTracker = ({
7831
7830
  continue;
7832
7831
  }
7833
7832
  if (!("x" in primitive && "y" in primitive)) continue;
7834
- let w = 0, h = 0;
7833
+ let w = 0;
7834
+ let h = 0;
7835
7835
  if ("w" in primitive && "h" in primitive) {
7836
7836
  w = primitive.w;
7837
7837
  h = primitive.h;
@@ -7874,7 +7874,7 @@ var MouseElementTracker = ({
7874
7874
  import { useEffect as useEffect6, useRef as useRef3, useState as useState5 } from "react";
7875
7875
  import { applyToPoint as applyToPoint6, identity as identity3, inverse as inverse3 } from "transformation-matrix";
7876
7876
  import { Fragment, jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
7877
- var DimensionOverlay = ({ children, transform }) => {
7877
+ var DimensionOverlay = ({ children, transform, focusOnHover = false }) => {
7878
7878
  if (!transform) transform = identity3();
7879
7879
  const [dimensionToolVisible, setDimensionToolVisible] = useState5(false);
7880
7880
  const [dimensionToolStretching, setDimensionToolStretching] = useState5(false);
@@ -7945,7 +7945,7 @@ var DimensionOverlay = ({ children, transform }) => {
7945
7945
  tabIndex: 0,
7946
7946
  style: { position: "relative" },
7947
7947
  onMouseEnter: () => {
7948
- if (containerRef.current) {
7948
+ if (focusOnHover && containerRef.current) {
7949
7949
  containerRef.current.focus();
7950
7950
  }
7951
7951
  },
@@ -8121,7 +8121,7 @@ var DimensionOverlay = ({ children, transform }) => {
8121
8121
  "dist:",
8122
8122
  " ",
8123
8123
  Math.sqrt(
8124
- Math.pow(dEnd.x - dStart.x, 2) + Math.pow(dEnd.y - dStart.y, 2)
8124
+ (dEnd.x - dStart.x) ** 2 + (dEnd.y - dStart.y) ** 2
8125
8125
  ).toFixed(2)
8126
8126
  ]
8127
8127
  }
@@ -8139,7 +8139,7 @@ import { css } from "@emotion/css";
8139
8139
  // package.json
8140
8140
  var package_default = {
8141
8141
  name: "@tscircuit/pcb-viewer",
8142
- version: "1.11.36",
8142
+ version: "1.11.37",
8143
8143
  main: "dist/index.js",
8144
8144
  type: "module",
8145
8145
  repository: "tscircuit/pcb-viewer",
@@ -9456,7 +9456,7 @@ var CanvasElementsRenderer = (props) => {
9456
9456
  cancelPanDrag: props.cancelPanDrag,
9457
9457
  onCreateEditEvent: props.onCreateEditEvent,
9458
9458
  onModifyEditEvent: props.onModifyEditEvent,
9459
- children: /* @__PURE__ */ jsx13(DimensionOverlay, { transform, children: /* @__PURE__ */ jsx13(ToolbarOverlay, { elements, children: /* @__PURE__ */ jsx13(ErrorOverlay, { transform, elements, children: /* @__PURE__ */ jsx13(RatsNestOverlay, { transform, soup: elements, children: /* @__PURE__ */ jsx13(
9459
+ children: /* @__PURE__ */ jsx13(DimensionOverlay, { transform, focusOnHover: props.focusOnHover, children: /* @__PURE__ */ jsx13(ToolbarOverlay, { elements, children: /* @__PURE__ */ jsx13(ErrorOverlay, { transform, elements, children: /* @__PURE__ */ jsx13(RatsNestOverlay, { transform, soup: elements, children: /* @__PURE__ */ jsx13(
9460
9460
  CanvasPrimitiveRenderer,
9461
9461
  {
9462
9462
  transform,
@@ -9485,7 +9485,8 @@ var PCBViewer = ({
9485
9485
  initialState,
9486
9486
  allowEditing = true,
9487
9487
  editEvents: editEventsProp,
9488
- onEditEventsChanged
9488
+ onEditEventsChanged,
9489
+ focusOnHover = false
9489
9490
  }) => {
9490
9491
  circuitJson ??= soup;
9491
9492
  const {
@@ -9559,6 +9560,7 @@ var PCBViewer = ({
9559
9560
  height,
9560
9561
  width: refDimensions.width,
9561
9562
  allowEditing,
9563
+ focusOnHover,
9562
9564
  cancelPanDrag,
9563
9565
  onCreateEditEvent,
9564
9566
  onModifyEditEvent,