@tscircuit/pcb-viewer 1.10.7 → 1.10.9

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
@@ -39,6 +39,7 @@ interface State {
39
39
  in_edit_mode: boolean;
40
40
  in_move_footprint_mode: boolean;
41
41
  in_draw_trace_mode: boolean;
42
+ is_mouse_over_container: boolean;
42
43
  is_moving_component: boolean;
43
44
  is_drawing_trace: boolean;
44
45
  is_showing_rats_nest: boolean;
@@ -47,6 +48,7 @@ interface State {
47
48
  setIsMovingComponent: (is_moving: boolean) => void;
48
49
  setIsDrawingTrace: (is_drawing: boolean) => void;
49
50
  setIsShowingRatsNest: (is_showing: boolean) => void;
51
+ setIsMouseOverContainer: (is_focused: boolean) => void;
50
52
  }
51
53
  type StateProps = {
52
54
  [key in keyof State]: State[key] extends boolean ? boolean : never;
package/dist/index.js CHANGED
@@ -5097,6 +5097,7 @@ var createStore = function() {
5097
5097
  in_draw_trace_mode: false,
5098
5098
  is_moving_component: false,
5099
5099
  is_drawing_trace: false,
5100
+ is_mouse_over_container: false,
5100
5101
  is_showing_rats_nest: false
5101
5102
  }, initialState), {
5102
5103
  selectLayer: function(layer) {
@@ -5127,6 +5128,11 @@ var createStore = function() {
5127
5128
  return set({
5128
5129
  is_drawing_trace: is_drawing
5129
5130
  });
5131
+ },
5132
+ setIsMouseOverContainer: function(is_focused) {
5133
+ return set({
5134
+ is_mouse_over_container: is_focused
5135
+ });
5130
5136
  }
5131
5137
  });
5132
5138
  });
@@ -12935,6 +12941,7 @@ var HighlightedPrimitiveBoxWithText = function(param) {
12935
12941
  var color2 = (_layerColorHightlightMap_primitive__element_layer = layerColorHightlightMap[primitive === null || primitive === void 0 ? void 0 : (_primitive__element = primitive._element) === null || _primitive__element === void 0 ? void 0 : _primitive__element.layer]) !== null && _layerColorHightlightMap_primitive__element_layer !== void 0 ? _layerColorHightlightMap_primitive__element_layer : "red";
12936
12942
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", {
12937
12943
  style: {
12944
+ zIndex: 98,
12938
12945
  position: "absolute",
12939
12946
  left: x - w / 2 - 8,
12940
12947
  top: y - h / 2 - 8,
@@ -13374,7 +13381,7 @@ var import_css = require("@emotion/css");
13374
13381
  // package.json
13375
13382
  var package_default = {
13376
13383
  name: "@tscircuit/pcb-viewer",
13377
- version: "1.10.6",
13384
+ version: "1.10.8",
13378
13385
  main: "dist/index.js",
13379
13386
  repository: "tscircuit/pcb-viewer",
13380
13387
  license: "MIT",
@@ -13437,13 +13444,20 @@ var package_default = {
13437
13444
  // src/hooks/useHotKey.ts
13438
13445
  var import_react9 = require("react");
13439
13446
  var useHotKey = function(key, onUse) {
13447
+ var isMouseOverContainer = useGlobalStore(function(s) {
13448
+ return s.is_mouse_over_container;
13449
+ });
13440
13450
  (0, import_react9.useEffect)(function() {
13451
+ if (!key || typeof onUse !== "function") return;
13441
13452
  var handleKeyDown = function(event) {
13442
13453
  var keyParts = key.split("+");
13443
13454
  var ctrlRequired = keyParts.includes("ctrl");
13444
13455
  var shiftRequired = keyParts.includes("shift");
13456
+ var altRequired = keyParts.includes("alt");
13457
+ var metaRequired = keyParts.includes("meta");
13445
13458
  var mainKey = keyParts[keyParts.length - 1];
13446
- if ((!ctrlRequired || ctrlRequired && event.ctrlKey) && (!shiftRequired || shiftRequired && event.shiftKey) && event.key.toLowerCase() === mainKey.toLowerCase()) {
13459
+ if (isMouseOverContainer && (!ctrlRequired || event.ctrlKey) && (!shiftRequired || event.shiftKey) && (!altRequired || event.altKey) && (!metaRequired || event.metaKey) && event.key.toLowerCase() === mainKey.toLowerCase()) {
13460
+ event.preventDefault();
13447
13461
  onUse();
13448
13462
  }
13449
13463
  };
@@ -13452,7 +13466,8 @@ var useHotKey = function(key, onUse) {
13452
13466
  window.removeEventListener("keydown", handleKeyDown);
13453
13467
  };
13454
13468
  }, [
13455
- key
13469
+ key,
13470
+ onUse
13456
13471
  ]);
13457
13472
  };
13458
13473
  // src/components/ToolbarOverlay.tsx
@@ -13503,22 +13518,27 @@ var ToolbarButton = function(_param) {
13503
13518
  };
13504
13519
  var ToolbarOverlay = function(param) {
13505
13520
  var children = param.children, elements = param.elements;
13506
- var _ref = _sliced_to_array((0, import_react10.useState)(false), 2), isMouseOverContainer = _ref[0], setIsMouseOverContainer = _ref[1];
13507
- var _ref1 = _sliced_to_array((0, import_react10.useState)(false), 2), isLayerMenuOpen = _ref1[0], setLayerMenuOpen = _ref1[1];
13508
- var _ref2 = _sliced_to_array((0, import_react10.useState)(false), 2), isErrorsOpen = _ref2[0], setErrorsOpen = _ref2[1];
13509
13521
  var _useGlobalStore = _sliced_to_array(useGlobalStore(function(s) {
13522
+ return [
13523
+ s.is_mouse_over_container,
13524
+ s.setIsMouseOverContainer
13525
+ ];
13526
+ }), 2), isMouseOverContainer = _useGlobalStore[0], setIsMouseOverContainer = _useGlobalStore[1];
13527
+ var _ref = _sliced_to_array((0, import_react10.useState)(false), 2), isLayerMenuOpen = _ref[0], setLayerMenuOpen = _ref[1];
13528
+ var _ref1 = _sliced_to_array((0, import_react10.useState)(false), 2), isErrorsOpen = _ref1[0], setErrorsOpen = _ref1[1];
13529
+ var _useGlobalStore1 = _sliced_to_array(useGlobalStore(function(s) {
13510
13530
  return [
13511
13531
  s.selected_layer,
13512
13532
  s.selectLayer
13513
13533
  ];
13514
- }), 2), selectedLayer = _useGlobalStore[0], selectLayer = _useGlobalStore[1];
13515
- var _useGlobalStore1 = _sliced_to_array(useGlobalStore(function(s) {
13534
+ }), 2), selectedLayer = _useGlobalStore1[0], selectLayer = _useGlobalStore1[1];
13535
+ var _useGlobalStore2 = _sliced_to_array(useGlobalStore(function(s) {
13516
13536
  return [
13517
13537
  s.in_move_footprint_mode,
13518
13538
  s.in_draw_trace_mode,
13519
13539
  s.is_showing_rats_nest
13520
13540
  ];
13521
- }), 3), in_move_footprint_mode = _useGlobalStore1[0], in_draw_trace_mode = _useGlobalStore1[1], is_showing_rats_nest = _useGlobalStore1[2];
13541
+ }), 3), in_move_footprint_mode = _useGlobalStore2[0], in_draw_trace_mode = _useGlobalStore2[1], is_showing_rats_nest = _useGlobalStore2[2];
13522
13542
  var setEditMode = useGlobalStore(function(s) {
13523
13543
  return s.setEditMode;
13524
13544
  });