@tscircuit/core 0.0.131 → 0.0.132

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
@@ -1218,6 +1218,14 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePo
1218
1218
  doInitialSourceRender(): void;
1219
1219
  }
1220
1220
 
1221
+ type PortInfo = {
1222
+ trueIndex: number;
1223
+ pinNumber: number;
1224
+ side: "left" | "right" | "top" | "bottom" | "center";
1225
+ distanceFromEdge: number;
1226
+ x: number;
1227
+ y: number;
1228
+ };
1221
1229
  /**
1222
1230
  * Get the dimensions of a schematic box based on the provided parameters.
1223
1231
  *
@@ -1234,10 +1242,7 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePo
1234
1242
  */
1235
1243
  interface SchematicBoxDimensions {
1236
1244
  pinCount: number;
1237
- getPortPositionByPinNumber(pinNumber: number): {
1238
- x: number;
1239
- y: number;
1240
- };
1245
+ getPortPositionByPinNumber(pinNumber: number): PortInfo;
1241
1246
  getSize(): {
1242
1247
  width: number;
1243
1248
  height: number;
package/dist/index.js CHANGED
@@ -3484,7 +3484,9 @@ var getAllDimensionsForSchematicBox = (params) => {
3484
3484
  trueIndex: truePinIndex,
3485
3485
  pinNumber,
3486
3486
  side,
3487
- distanceFromEdge: currentDistanceFromEdge
3487
+ distanceFromEdge: currentDistanceFromEdge,
3488
+ x: 0,
3489
+ y: 0
3488
3490
  });
3489
3491
  if (pinStyle) {
3490
3492
  if (isVertical) {
@@ -3573,12 +3575,19 @@ var getAllDimensionsForSchematicBox = (params) => {
3573
3575
  };
3574
3576
  const truePortsWithPositions = orderedTruePorts.map((p) => {
3575
3577
  const { distanceFromEdge, side } = p;
3578
+ if (side === "center") {
3579
+ return {
3580
+ ...p,
3581
+ x: 0,
3582
+ y: 0
3583
+ };
3584
+ }
3576
3585
  const edgePos = trueEdgePositions[side];
3577
3586
  const edgeDir = trueEdgeTraversalDirections[side];
3578
3587
  return {
3588
+ ...p,
3579
3589
  x: edgePos.x + distanceFromEdge * edgeDir.x,
3580
- y: edgePos.y + distanceFromEdge * edgeDir.y,
3581
- ...p
3590
+ y: edgePos.y + distanceFromEdge * edgeDir.y
3582
3591
  };
3583
3592
  });
3584
3593
  return {
@@ -3587,7 +3596,15 @@ var getAllDimensionsForSchematicBox = (params) => {
3587
3596
  (p) => p.pinNumber.toString() === pinNumber.toString()
3588
3597
  );
3589
3598
  if (!port) {
3590
- return { x: 0, y: 0 };
3599
+ return {
3600
+ trueIndex: -1,
3601
+ // Use -1 for non-existent ports
3602
+ pinNumber,
3603
+ side: "center",
3604
+ distanceFromEdge: 0,
3605
+ x: 0,
3606
+ y: 0
3607
+ };
3591
3608
  }
3592
3609
  return port;
3593
3610
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.131",
4
+ "version": "0.0.132",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -44,7 +44,7 @@
44
44
  "@tscircuit/soup-util": "^0.0.33",
45
45
  "circuit-json": "^0.0.91",
46
46
  "circuit-json-to-connectivity-map": "^0.0.17",
47
- "circuit-to-svg": "^0.0.54",
47
+ "circuit-to-svg": "^0.0.55",
48
48
  "nanoid": "^5.0.7",
49
49
  "performance-now": "^2.1.0",
50
50
  "react": "^18.3.1",