@tscircuit/core 0.0.1220 → 0.0.1222

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
@@ -2101,6 +2101,7 @@ declare class Group<Props extends z.ZodType<any, any, any> = typeof groupProps>
2101
2101
  zodProps: Props;
2102
2102
  componentName: string;
2103
2103
  };
2104
+ initPorts(opts?: Parameters<NormalComponent["initPorts"]>[0]): void;
2104
2105
  private _ensureSchematicBoxPortsFromConnections;
2105
2106
  doInitialInitializePortsFromChildren(): void;
2106
2107
  updateInitializePortsFromChildren(): void;
package/dist/index.js CHANGED
@@ -9547,6 +9547,15 @@ var hasExplicitPinMapping = (pa) => {
9547
9547
  }
9548
9548
  return "leftSide" in pa || "rightSide" in pa || "topSide" in pa || "bottomSide" in pa;
9549
9549
  };
9550
+ var getPinsFromPortArrangement = (pa) => {
9551
+ if (!pa || !hasExplicitPinMapping(pa)) return [];
9552
+ return [
9553
+ ...getPinsFromSideDefinition(pa.leftSide),
9554
+ ...getPinsFromSideDefinition(pa.rightSide),
9555
+ ...getPinsFromSideDefinition(pa.topSide),
9556
+ ...getPinsFromSideDefinition(pa.bottomSide)
9557
+ ];
9558
+ };
9550
9559
  var getSizeOfSidesFromPortArrangement = (pa) => {
9551
9560
  if (hasExplicitPinMapping(pa)) {
9552
9561
  return {
@@ -11367,12 +11376,7 @@ var NormalComponent3 = class extends PrimitiveComponent2 {
11367
11376
  );
11368
11377
  continue;
11369
11378
  }
11370
- let explicitlyListedPinNumbersInSchPortArrangement = [
11371
- ...getPinsFromSideDefinition(schPortArrangement.leftSide),
11372
- ...getPinsFromSideDefinition(schPortArrangement.rightSide),
11373
- ...getPinsFromSideDefinition(schPortArrangement.topSide),
11374
- ...getPinsFromSideDefinition(schPortArrangement.bottomSide)
11375
- ].map(
11379
+ let explicitlyListedPinNumbersInSchPortArrangement = getPinsFromPortArrangement(schPortArrangement).map(
11376
11380
  (pn2) => parsePinNumberFromLabelsOrThrow(pn2, this._parsedProps.pinLabels)
11377
11381
  );
11378
11382
  if ([
@@ -12141,13 +12145,27 @@ var NormalComponent3 = class extends PrimitiveComponent2 {
12141
12145
  if (!isExplicitPinMapping) {
12142
12146
  return (schPortArrangement.leftSize ?? schPortArrangement.leftPinCount ?? 0) + (schPortArrangement.rightSize ?? schPortArrangement.rightPinCount ?? 0) + (schPortArrangement.topSize ?? schPortArrangement.topPinCount ?? 0) + (schPortArrangement.bottomSize ?? schPortArrangement.bottomPinCount ?? 0);
12143
12147
  }
12144
- const { leftSide, rightSide, topSide, bottomSide } = schPortArrangement;
12145
- return Math.max(
12146
- ...leftSide?.pins ?? [],
12147
- ...rightSide?.pins ?? [],
12148
- ...topSide?.pins ?? [],
12149
- ...bottomSide?.pins ?? []
12150
- );
12148
+ const pins = getPinsFromPortArrangement(schPortArrangement);
12149
+ let maxPinNumber = 0;
12150
+ for (const pin of pins) {
12151
+ if (typeof pin === "number") {
12152
+ maxPinNumber = Math.max(maxPinNumber, pin);
12153
+ continue;
12154
+ }
12155
+ const directPinNumber = getPinNumberFromPinLabelsKey(pin);
12156
+ if (directPinNumber !== null) {
12157
+ maxPinNumber = Math.max(maxPinNumber, directPinNumber);
12158
+ continue;
12159
+ }
12160
+ const pinLabels = this._parsedProps.pinLabels;
12161
+ if (pinLabels) {
12162
+ maxPinNumber = Math.max(
12163
+ maxPinNumber,
12164
+ parsePinNumberFromLabelsOrThrow(pin, pinLabels)
12165
+ );
12166
+ }
12167
+ }
12168
+ return Math.max(maxPinNumber, pins.length);
12151
12169
  }
12152
12170
  _getPrimaryPinCount() {
12153
12171
  const schPortArrangement = this._getSchematicPortArrangement();
@@ -18755,6 +18773,14 @@ var Group6 = class extends NormalComponent3 {
18755
18773
  componentName: "Group"
18756
18774
  };
18757
18775
  }
18776
+ initPorts(opts = {}) {
18777
+ const schPinArrangement = this._getSchematicPortArrangement();
18778
+ const hasUnresolvedNamedPins = this._parsedProps?.showAsSchematicBox && !this._parsedProps.pinLabels && schPinArrangement && getPinsFromPortArrangement(schPinArrangement).some(
18779
+ (pin) => typeof pin === "string"
18780
+ );
18781
+ if (hasUnresolvedNamedPins) return;
18782
+ super.initPorts(opts);
18783
+ }
18758
18784
  _ensureSchematicBoxPortsFromConnections() {
18759
18785
  if (!this._parsedProps?.showAsSchematicBox) return;
18760
18786
  if (!this._parsedProps?.connections) return;
@@ -20476,7 +20502,7 @@ import { identity as identity5 } from "transformation-matrix";
20476
20502
  var package_default = {
20477
20503
  name: "@tscircuit/core",
20478
20504
  type: "module",
20479
- version: "0.0.1219",
20505
+ version: "0.0.1221",
20480
20506
  types: "dist/index.d.ts",
20481
20507
  main: "dist/index.js",
20482
20508
  module: "dist/index.js",
@@ -20508,7 +20534,7 @@ var package_default = {
20508
20534
  "@biomejs/biome": "^1.8.3",
20509
20535
  "@resvg/resvg-js": "^2.6.2",
20510
20536
  "@tscircuit/alphabet": "0.0.25",
20511
- "@tscircuit/capacity-autorouter": "^0.0.485",
20537
+ "@tscircuit/capacity-autorouter": "^0.0.500",
20512
20538
  "@tscircuit/checks": "0.0.125",
20513
20539
  "@tscircuit/circuit-json-util": "^0.0.94",
20514
20540
  "@tscircuit/common": "^0.0.20",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.1220",
4
+ "version": "0.0.1222",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "@biomejs/biome": "^1.8.3",
34
34
  "@resvg/resvg-js": "^2.6.2",
35
35
  "@tscircuit/alphabet": "0.0.25",
36
- "@tscircuit/capacity-autorouter": "^0.0.485",
36
+ "@tscircuit/capacity-autorouter": "^0.0.500",
37
37
  "@tscircuit/checks": "0.0.125",
38
38
  "@tscircuit/circuit-json-util": "^0.0.94",
39
39
  "@tscircuit/common": "^0.0.20",