@tscircuit/props 0.0.291 → 0.0.293

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.js CHANGED
@@ -592,6 +592,10 @@ var chipProps = commonComponentProps.extend({
592
592
  var bugProps = chipProps;
593
593
  expectTypesMatch(true);
594
594
 
595
+ // lib/components/pinout.ts
596
+ var pinoutProps = chipProps;
597
+ expectTypesMatch(true);
598
+
595
599
  // lib/components/jumper.ts
596
600
  import { distance as distance8 } from "circuit-json";
597
601
 
@@ -1065,10 +1069,17 @@ var footprintProps = z48.object({
1065
1069
  });
1066
1070
  expectTypesMatch(true);
1067
1071
 
1072
+ // lib/components/symbol.ts
1073
+ import { z as z49 } from "zod";
1074
+ var symbolProps = z49.object({
1075
+ originalFacingDirection: z49.enum(["up", "down", "left", "right"]).default("right").optional()
1076
+ });
1077
+ expectTypesMatch(true);
1078
+
1068
1079
  // lib/components/battery.ts
1069
1080
  import { voltage as voltage2 } from "circuit-json";
1070
- import { z as z49 } from "zod";
1071
- var capacity = z49.number().or(z49.string().endsWith("mAh")).transform((v) => {
1081
+ import { z as z50 } from "zod";
1082
+ var capacity = z50.number().or(z50.string().endsWith("mAh")).transform((v) => {
1072
1083
  if (typeof v === "string") {
1073
1084
  const valString = v.replace("mAh", "");
1074
1085
  const num = Number.parseFloat(valString);
@@ -1082,7 +1093,7 @@ var capacity = z49.number().or(z49.string().endsWith("mAh")).transform((v) => {
1082
1093
  var batteryProps = commonComponentProps.extend({
1083
1094
  capacity: capacity.optional(),
1084
1095
  voltage: voltage2.optional(),
1085
- standard: z49.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
1096
+ standard: z50.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
1086
1097
  schOrientation: schematicOrientation.optional()
1087
1098
  });
1088
1099
  var batteryPins = lrPolarPins;
@@ -1090,21 +1101,21 @@ expectTypesMatch(true);
1090
1101
 
1091
1102
  // lib/components/pin-header.ts
1092
1103
  import { distance as distance14 } from "circuit-json";
1093
- import { z as z50 } from "zod";
1104
+ import { z as z51 } from "zod";
1094
1105
  var pinHeaderProps = commonComponentProps.extend({
1095
- pinCount: z50.number(),
1106
+ pinCount: z51.number(),
1096
1107
  pitch: distance14.optional(),
1097
- schFacingDirection: z50.enum(["up", "down", "left", "right"]).optional(),
1098
- gender: z50.enum(["male", "female", "unpopulated"]).optional().default("male"),
1099
- showSilkscreenPinLabels: z50.boolean().optional(),
1100
- pcbPinLabels: z50.record(z50.string(), z50.string()).optional(),
1101
- doubleRow: z50.boolean().optional(),
1102
- rightAngle: z50.boolean().optional(),
1108
+ schFacingDirection: z51.enum(["up", "down", "left", "right"]).optional(),
1109
+ gender: z51.enum(["male", "female", "unpopulated"]).optional().default("male"),
1110
+ showSilkscreenPinLabels: z51.boolean().optional(),
1111
+ pcbPinLabels: z51.record(z51.string(), z51.string()).optional(),
1112
+ doubleRow: z51.boolean().optional(),
1113
+ rightAngle: z51.boolean().optional(),
1103
1114
  holeDiameter: distance14.optional(),
1104
1115
  platedDiameter: distance14.optional(),
1105
- pinLabels: z50.record(z50.string(), schematicPinLabel).or(z50.array(schematicPinLabel)).optional(),
1106
- connections: z50.custom().pipe(z50.record(z50.string(), connectionTarget2)).optional(),
1107
- facingDirection: z50.enum(["left", "right"]).optional(),
1116
+ pinLabels: z51.record(z51.string(), schematicPinLabel).or(z51.array(schematicPinLabel)).optional(),
1117
+ connections: z51.custom().pipe(z51.record(z51.string(), connectionTarget2)).optional(),
1118
+ facingDirection: z51.enum(["left", "right"]).optional(),
1108
1119
  schPinArrangement: schematicPinArrangement.optional(),
1109
1120
  schPinStyle: schematicPinStyle.optional(),
1110
1121
  schPinSpacing: distance14.optional(),
@@ -1114,29 +1125,29 @@ var pinHeaderProps = commonComponentProps.extend({
1114
1125
  expectTypesMatch(true);
1115
1126
 
1116
1127
  // lib/components/netalias.ts
1117
- import { z as z51 } from "zod";
1128
+ import { z as z52 } from "zod";
1118
1129
  import { rotation as rotation2 } from "circuit-json";
1119
- var netAliasProps = z51.object({
1120
- net: z51.string().optional(),
1121
- connection: z51.string().optional(),
1130
+ var netAliasProps = z52.object({
1131
+ net: z52.string().optional(),
1132
+ connection: z52.string().optional(),
1122
1133
  schX: distance12.optional(),
1123
1134
  schY: distance12.optional(),
1124
1135
  schRotation: rotation2.optional(),
1125
- anchorSide: z51.enum(["left", "top", "right", "bottom"]).optional()
1136
+ anchorSide: z52.enum(["left", "top", "right", "bottom"]).optional()
1126
1137
  });
1127
1138
  expectTypesMatch(true);
1128
1139
 
1129
1140
  // lib/components/netlabel.ts
1130
- import { z as z52 } from "zod";
1141
+ import { z as z53 } from "zod";
1131
1142
  import { rotation as rotation3 } from "circuit-json";
1132
- var netLabelProps = z52.object({
1133
- net: z52.string().optional(),
1134
- connection: z52.string().optional(),
1135
- connectsTo: z52.string().or(z52.array(z52.string())).optional(),
1143
+ var netLabelProps = z53.object({
1144
+ net: z53.string().optional(),
1145
+ connection: z53.string().optional(),
1146
+ connectsTo: z53.string().or(z53.array(z53.string())).optional(),
1136
1147
  schX: distance12.optional(),
1137
1148
  schY: distance12.optional(),
1138
1149
  schRotation: rotation3.optional(),
1139
- anchorSide: z52.enum(["left", "top", "right", "bottom"]).optional()
1150
+ anchorSide: z53.enum(["left", "top", "right", "bottom"]).optional()
1140
1151
  });
1141
1152
  expectTypesMatch(true);
1142
1153
 
@@ -1150,7 +1161,7 @@ var subcircuitProps = subcircuitGroupProps;
1150
1161
  expectTypesMatch(true);
1151
1162
 
1152
1163
  // lib/components/transistor.ts
1153
- import { z as z54 } from "zod";
1164
+ import { z as z55 } from "zod";
1154
1165
  var transistorPinsLabels = [
1155
1166
  "pin1",
1156
1167
  "pin2",
@@ -1163,7 +1174,7 @@ var transistorPinsLabels = [
1163
1174
  "drain"
1164
1175
  ];
1165
1176
  var transistorProps = commonComponentProps.extend({
1166
- type: z54.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
1177
+ type: z55.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
1167
1178
  connections: createConnectionsProp(transistorPinsLabels).optional()
1168
1179
  });
1169
1180
  var transistorPins = [
@@ -1177,10 +1188,10 @@ var transistorPins = [
1177
1188
  expectTypesMatch(true);
1178
1189
 
1179
1190
  // lib/components/mosfet.ts
1180
- import { z as z55 } from "zod";
1191
+ import { z as z56 } from "zod";
1181
1192
  var mosfetProps = commonComponentProps.extend({
1182
- channelType: z55.enum(["n", "p"]),
1183
- mosfetMode: z55.enum(["enhancement", "depletion"])
1193
+ channelType: z56.enum(["n", "p"]),
1194
+ mosfetMode: z56.enum(["enhancement", "depletion"])
1184
1195
  });
1185
1196
  var mosfetPins = [
1186
1197
  "pin1",
@@ -1194,18 +1205,18 @@ expectTypesMatch(true);
1194
1205
 
1195
1206
  // lib/components/inductor.ts
1196
1207
  import { inductance } from "circuit-json";
1197
- import { z as z56 } from "zod";
1208
+ import { z as z57 } from "zod";
1198
1209
  var inductorProps = commonComponentProps.extend({
1199
1210
  inductance,
1200
- maxCurrentRating: z56.union([z56.string(), z56.number()]).optional(),
1211
+ maxCurrentRating: z57.union([z57.string(), z57.number()]).optional(),
1201
1212
  schOrientation: schematicOrientation.optional()
1202
1213
  });
1203
1214
  var inductorPins = lrPins;
1204
1215
  expectTypesMatch(true);
1205
1216
 
1206
1217
  // lib/components/diode.ts
1207
- import { z as z57 } from "zod";
1208
- var diodeConnectionKeys = z57.enum([
1218
+ import { z as z58 } from "zod";
1219
+ var diodeConnectionKeys = z58.enum([
1209
1220
  "anode",
1210
1221
  "cathode",
1211
1222
  "pin1",
@@ -1213,9 +1224,9 @@ var diodeConnectionKeys = z57.enum([
1213
1224
  "pos",
1214
1225
  "neg"
1215
1226
  ]);
1216
- var connectionTarget3 = z57.string().or(z57.array(z57.string()).readonly()).or(z57.array(z57.string()));
1217
- var connectionsProp2 = z57.record(diodeConnectionKeys, connectionTarget3);
1218
- var diodeVariant = z57.enum([
1227
+ var connectionTarget3 = z58.string().or(z58.array(z58.string()).readonly()).or(z58.array(z58.string()));
1228
+ var connectionsProp2 = z58.record(diodeConnectionKeys, connectionTarget3);
1229
+ var diodeVariant = z58.enum([
1219
1230
  "standard",
1220
1231
  "schottky",
1221
1232
  "zener",
@@ -1226,12 +1237,12 @@ var diodeVariant = z57.enum([
1226
1237
  var diodeProps = commonComponentProps.extend({
1227
1238
  connections: connectionsProp2.optional(),
1228
1239
  variant: diodeVariant.optional().default("standard"),
1229
- standard: z57.boolean().optional(),
1230
- schottky: z57.boolean().optional(),
1231
- zener: z57.boolean().optional(),
1232
- avalanche: z57.boolean().optional(),
1233
- photo: z57.boolean().optional(),
1234
- tvs: z57.boolean().optional(),
1240
+ standard: z58.boolean().optional(),
1241
+ schottky: z58.boolean().optional(),
1242
+ zener: z58.boolean().optional(),
1243
+ avalanche: z58.boolean().optional(),
1244
+ photo: z58.boolean().optional(),
1245
+ tvs: z58.boolean().optional(),
1235
1246
  schOrientation: schematicOrientation.optional()
1236
1247
  }).superRefine((data, ctx) => {
1237
1248
  const enabledFlags = [
@@ -1244,11 +1255,11 @@ var diodeProps = commonComponentProps.extend({
1244
1255
  ].filter(Boolean).length;
1245
1256
  if (enabledFlags > 1) {
1246
1257
  ctx.addIssue({
1247
- code: z57.ZodIssueCode.custom,
1258
+ code: z58.ZodIssueCode.custom,
1248
1259
  message: "Exactly one diode variant must be enabled",
1249
1260
  path: []
1250
1261
  });
1251
- return z57.INVALID;
1262
+ return z58.INVALID;
1252
1263
  }
1253
1264
  }).transform((data) => {
1254
1265
  const result = {
@@ -1295,26 +1306,26 @@ var diodePins = lrPolarPins;
1295
1306
  expectTypesMatch(true);
1296
1307
 
1297
1308
  // lib/components/led.ts
1298
- import { z as z58 } from "zod";
1309
+ import { z as z59 } from "zod";
1299
1310
  var ledProps = commonComponentProps.extend({
1300
- color: z58.string().optional(),
1301
- wavelength: z58.string().optional(),
1302
- schDisplayValue: z58.string().optional(),
1311
+ color: z59.string().optional(),
1312
+ wavelength: z59.string().optional(),
1313
+ schDisplayValue: z59.string().optional(),
1303
1314
  schOrientation: schematicOrientation.optional(),
1304
1315
  connections: createConnectionsProp(lrPolarPins).optional(),
1305
- laser: z58.boolean().optional()
1316
+ laser: z59.boolean().optional()
1306
1317
  });
1307
1318
  var ledPins = lrPolarPins;
1308
1319
 
1309
1320
  // lib/components/switch.ts
1310
- import { z as z59 } from "zod";
1321
+ import { z as z60 } from "zod";
1311
1322
  var switchProps = commonComponentProps.extend({
1312
- type: z59.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
1313
- isNormallyClosed: z59.boolean().optional().default(false),
1314
- spst: z59.boolean().optional(),
1315
- spdt: z59.boolean().optional(),
1316
- dpst: z59.boolean().optional(),
1317
- dpdt: z59.boolean().optional()
1323
+ type: z60.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
1324
+ isNormallyClosed: z60.boolean().optional().default(false),
1325
+ spst: z60.boolean().optional(),
1326
+ spdt: z60.boolean().optional(),
1327
+ dpst: z60.boolean().optional(),
1328
+ dpdt: z60.boolean().optional()
1318
1329
  }).transform((props) => {
1319
1330
  const updatedProps = { ...props };
1320
1331
  if (updatedProps.dpdt) {
@@ -1346,52 +1357,52 @@ expectTypesMatch(true);
1346
1357
 
1347
1358
  // lib/components/fabrication-note-text.ts
1348
1359
  import { length as length3 } from "circuit-json";
1349
- import { z as z60 } from "zod";
1360
+ import { z as z61 } from "zod";
1350
1361
  var fabricationNoteTextProps = pcbLayoutProps.extend({
1351
- text: z60.string(),
1352
- anchorAlignment: z60.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1353
- font: z60.enum(["tscircuit2024"]).optional(),
1362
+ text: z61.string(),
1363
+ anchorAlignment: z61.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1364
+ font: z61.enum(["tscircuit2024"]).optional(),
1354
1365
  fontSize: length3.optional(),
1355
- color: z60.string().optional()
1366
+ color: z61.string().optional()
1356
1367
  });
1357
1368
 
1358
1369
  // lib/components/fabrication-note-path.ts
1359
1370
  import { length as length4, route_hint_point as route_hint_point3 } from "circuit-json";
1360
- import { z as z61 } from "zod";
1371
+ import { z as z62 } from "zod";
1361
1372
  var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
1362
- route: z61.array(route_hint_point3),
1373
+ route: z62.array(route_hint_point3),
1363
1374
  strokeWidth: length4.optional(),
1364
- color: z61.string().optional()
1375
+ color: z62.string().optional()
1365
1376
  });
1366
1377
 
1367
1378
  // lib/components/pcb-trace.ts
1368
1379
  import { distance as distance15, route_hint_point as route_hint_point4 } from "circuit-json";
1369
- import { z as z62 } from "zod";
1370
- var pcbTraceProps = z62.object({
1371
- layer: z62.string().optional(),
1380
+ import { z as z63 } from "zod";
1381
+ var pcbTraceProps = z63.object({
1382
+ layer: z63.string().optional(),
1372
1383
  thickness: distance15.optional(),
1373
- route: z62.array(route_hint_point4)
1384
+ route: z63.array(route_hint_point4)
1374
1385
  });
1375
1386
 
1376
1387
  // lib/components/via.ts
1377
1388
  import { distance as distance16, layer_ref as layer_ref5 } from "circuit-json";
1378
- import { z as z63 } from "zod";
1389
+ import { z as z64 } from "zod";
1379
1390
  var viaProps = commonLayoutProps.extend({
1380
- name: z63.string().optional(),
1391
+ name: z64.string().optional(),
1381
1392
  fromLayer: layer_ref5,
1382
1393
  toLayer: layer_ref5,
1383
1394
  holeDiameter: distance16,
1384
1395
  outerDiameter: distance16,
1385
- connectsTo: z63.string().or(z63.array(z63.string())).optional()
1396
+ connectsTo: z64.string().or(z64.array(z64.string())).optional()
1386
1397
  });
1387
1398
  expectTypesMatch(true);
1388
1399
 
1389
1400
  // lib/components/testpoint.ts
1390
1401
  import { distance as distance17 } from "circuit-json";
1391
- import { z as z64 } from "zod";
1402
+ import { z as z65 } from "zod";
1392
1403
  var testpointProps = commonComponentProps.extend({
1393
- footprintVariant: z64.enum(["pad", "through_hole"]).optional(),
1394
- padShape: z64.enum(["rect", "circle"]).optional().default("circle"),
1404
+ footprintVariant: z65.enum(["pad", "through_hole"]).optional(),
1405
+ padShape: z65.enum(["rect", "circle"]).optional().default("circle"),
1395
1406
  padDiameter: distance17.optional(),
1396
1407
  holeDiameter: distance17.optional(),
1397
1408
  width: distance17.optional(),
@@ -1403,22 +1414,22 @@ var testpointProps = commonComponentProps.extend({
1403
1414
  expectTypesMatch(true);
1404
1415
 
1405
1416
  // lib/components/breakoutpoint.ts
1406
- import { z as z65 } from "zod";
1417
+ import { z as z66 } from "zod";
1407
1418
  var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
1408
- connection: z65.string()
1419
+ connection: z66.string()
1409
1420
  });
1410
1421
  expectTypesMatch(true);
1411
1422
 
1412
1423
  // lib/components/pcb-keepout.ts
1413
1424
  import { distance as distance18 } from "circuit-json";
1414
- import { z as z66 } from "zod";
1415
- var pcbKeepoutProps = z66.union([
1425
+ import { z as z67 } from "zod";
1426
+ var pcbKeepoutProps = z67.union([
1416
1427
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
1417
- shape: z66.literal("circle"),
1428
+ shape: z67.literal("circle"),
1418
1429
  radius: distance18
1419
1430
  }),
1420
1431
  pcbLayoutProps.extend({
1421
- shape: z66.literal("rect"),
1432
+ shape: z67.literal("rect"),
1422
1433
  width: distance18,
1423
1434
  height: distance18
1424
1435
  })
@@ -1432,8 +1443,8 @@ var powerSourceProps = commonComponentProps.extend({
1432
1443
 
1433
1444
  // lib/components/voltagesource.ts
1434
1445
  import { frequency as frequency3, rotation as rotation4, voltage as voltage4 } from "circuit-json";
1435
- import { z as z67 } from "zod";
1436
- var percentage = z67.union([z67.string(), z67.number()]).transform((val) => {
1446
+ import { z as z68 } from "zod";
1447
+ var percentage = z68.union([z68.string(), z68.number()]).transform((val) => {
1437
1448
  if (typeof val === "string") {
1438
1449
  if (val.endsWith("%")) {
1439
1450
  return parseFloat(val.slice(0, -1)) / 100;
@@ -1442,13 +1453,13 @@ var percentage = z67.union([z67.string(), z67.number()]).transform((val) => {
1442
1453
  }
1443
1454
  return val;
1444
1455
  }).pipe(
1445
- z67.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
1456
+ z68.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
1446
1457
  );
1447
1458
  var voltageSourceProps = commonComponentProps.extend({
1448
1459
  voltage: voltage4.optional(),
1449
1460
  frequency: frequency3.optional(),
1450
1461
  peakToPeakVoltage: voltage4.optional(),
1451
- waveShape: z67.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
1462
+ waveShape: z68.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
1452
1463
  phase: rotation4.optional(),
1453
1464
  dutyCycle: percentage.optional()
1454
1465
  });
@@ -1456,11 +1467,11 @@ expectTypesMatch(true);
1456
1467
 
1457
1468
  // lib/components/schematic-box.ts
1458
1469
  import { distance as distance19 } from "circuit-json";
1459
- import { z as z69 } from "zod";
1470
+ import { z as z70 } from "zod";
1460
1471
 
1461
1472
  // lib/common/ninePointAnchor.ts
1462
- import { z as z68 } from "zod";
1463
- var ninePointAnchor = z68.enum([
1473
+ import { z as z69 } from "zod";
1474
+ var ninePointAnchor = z69.enum([
1464
1475
  "top_left",
1465
1476
  "top_center",
1466
1477
  "top_right",
@@ -1473,23 +1484,23 @@ var ninePointAnchor = z68.enum([
1473
1484
  ]);
1474
1485
 
1475
1486
  // lib/components/schematic-box.ts
1476
- var schematicBoxProps = z69.object({
1487
+ var schematicBoxProps = z70.object({
1477
1488
  schX: distance19.optional(),
1478
1489
  schY: distance19.optional(),
1479
1490
  width: distance19.optional(),
1480
1491
  height: distance19.optional(),
1481
- overlay: z69.array(z69.string()).optional(),
1492
+ overlay: z70.array(z70.string()).optional(),
1482
1493
  padding: distance19.optional(),
1483
1494
  paddingLeft: distance19.optional(),
1484
1495
  paddingRight: distance19.optional(),
1485
1496
  paddingTop: distance19.optional(),
1486
1497
  paddingBottom: distance19.optional(),
1487
- title: z69.string().optional(),
1498
+ title: z70.string().optional(),
1488
1499
  titleAlignment: ninePointAnchor.default("top_left"),
1489
- titleColor: z69.string().optional(),
1500
+ titleColor: z70.string().optional(),
1490
1501
  titleFontSize: distance19.optional(),
1491
- titleInside: z69.boolean().default(false),
1492
- strokeStyle: z69.enum(["solid", "dashed"]).default("solid")
1502
+ titleInside: z70.boolean().default(false),
1503
+ strokeStyle: z70.enum(["solid", "dashed"]).default("solid")
1493
1504
  }).refine(
1494
1505
  (elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
1495
1506
  {
@@ -1504,8 +1515,8 @@ var schematicBoxProps = z69.object({
1504
1515
 
1505
1516
  // lib/components/schematic-line.ts
1506
1517
  import { distance as distance20 } from "circuit-json";
1507
- import { z as z70 } from "zod";
1508
- var schematicLineProps = z70.object({
1518
+ import { z as z71 } from "zod";
1519
+ var schematicLineProps = z71.object({
1509
1520
  x1: distance20,
1510
1521
  y1: distance20,
1511
1522
  x2: distance20,
@@ -1514,11 +1525,11 @@ var schematicLineProps = z70.object({
1514
1525
 
1515
1526
  // lib/components/schematic-text.ts
1516
1527
  import { distance as distance21, rotation as rotation5 } from "circuit-json";
1517
- import { z as z72 } from "zod";
1528
+ import { z as z73 } from "zod";
1518
1529
 
1519
1530
  // lib/common/fivePointAnchor.ts
1520
- import { z as z71 } from "zod";
1521
- var fivePointAnchor = z71.enum([
1531
+ import { z as z72 } from "zod";
1532
+ var fivePointAnchor = z72.enum([
1522
1533
  "center",
1523
1534
  "left",
1524
1535
  "right",
@@ -1527,32 +1538,32 @@ var fivePointAnchor = z71.enum([
1527
1538
  ]);
1528
1539
 
1529
1540
  // lib/components/schematic-text.ts
1530
- var schematicTextProps = z72.object({
1541
+ var schematicTextProps = z73.object({
1531
1542
  schX: distance21.optional(),
1532
1543
  schY: distance21.optional(),
1533
- text: z72.string(),
1534
- fontSize: z72.number().default(1),
1535
- anchor: z72.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1536
- color: z72.string().default("#000000"),
1544
+ text: z73.string(),
1545
+ fontSize: z73.number().default(1),
1546
+ anchor: z73.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1547
+ color: z73.string().default("#000000"),
1537
1548
  schRotation: rotation5.default(0)
1538
1549
  });
1539
1550
 
1540
1551
  // lib/components/schematic-path.ts
1541
1552
  import { point as point5 } from "circuit-json";
1542
- import { z as z73 } from "zod";
1543
- var schematicPathProps = z73.object({
1544
- points: z73.array(point5),
1545
- isFilled: z73.boolean().optional().default(false),
1546
- fillColor: z73.enum(["red", "blue"]).optional()
1553
+ import { z as z74 } from "zod";
1554
+ var schematicPathProps = z74.object({
1555
+ points: z74.array(point5),
1556
+ isFilled: z74.boolean().optional().default(false),
1557
+ fillColor: z74.enum(["red", "blue"]).optional()
1547
1558
  });
1548
1559
 
1549
1560
  // lib/components/schematic-table.ts
1550
1561
  import { distance as distance22 } from "circuit-json";
1551
- import { z as z74 } from "zod";
1552
- var schematicTableProps = z74.object({
1562
+ import { z as z75 } from "zod";
1563
+ var schematicTableProps = z75.object({
1553
1564
  schX: distance22.optional(),
1554
1565
  schY: distance22.optional(),
1555
- children: z74.any().optional(),
1566
+ children: z75.any().optional(),
1556
1567
  cellPadding: distance22.optional(),
1557
1568
  borderWidth: distance22.optional(),
1558
1569
  anchor: ninePointAnchor.optional(),
@@ -1562,44 +1573,44 @@ expectTypesMatch(true);
1562
1573
 
1563
1574
  // lib/components/schematic-row.ts
1564
1575
  import { distance as distance23 } from "circuit-json";
1565
- import { z as z75 } from "zod";
1566
- var schematicRowProps = z75.object({
1567
- children: z75.any().optional(),
1576
+ import { z as z76 } from "zod";
1577
+ var schematicRowProps = z76.object({
1578
+ children: z76.any().optional(),
1568
1579
  height: distance23.optional()
1569
1580
  });
1570
1581
  expectTypesMatch(true);
1571
1582
 
1572
1583
  // lib/components/schematic-cell.ts
1573
1584
  import { distance as distance24 } from "circuit-json";
1574
- import { z as z76 } from "zod";
1575
- var schematicCellProps = z76.object({
1576
- children: z76.string().optional(),
1577
- horizontalAlign: z76.enum(["left", "center", "right"]).optional(),
1578
- verticalAlign: z76.enum(["top", "middle", "bottom"]).optional(),
1585
+ import { z as z77 } from "zod";
1586
+ var schematicCellProps = z77.object({
1587
+ children: z77.string().optional(),
1588
+ horizontalAlign: z77.enum(["left", "center", "right"]).optional(),
1589
+ verticalAlign: z77.enum(["top", "middle", "bottom"]).optional(),
1579
1590
  fontSize: distance24.optional(),
1580
- rowSpan: z76.number().optional(),
1581
- colSpan: z76.number().optional(),
1591
+ rowSpan: z77.number().optional(),
1592
+ colSpan: z77.number().optional(),
1582
1593
  width: distance24.optional(),
1583
- text: z76.string().optional()
1594
+ text: z77.string().optional()
1584
1595
  });
1585
1596
  expectTypesMatch(true);
1586
1597
 
1587
1598
  // lib/components/silkscreen-text.ts
1588
1599
  import { layer_ref as layer_ref6, length as length5 } from "circuit-json";
1589
- import { z as z77 } from "zod";
1600
+ import { z as z78 } from "zod";
1590
1601
  var silkscreenTextProps = pcbLayoutProps.extend({
1591
- text: z77.string(),
1602
+ text: z78.string(),
1592
1603
  anchorAlignment: ninePointAnchor.default("center"),
1593
- font: z77.enum(["tscircuit2024"]).optional(),
1604
+ font: z78.enum(["tscircuit2024"]).optional(),
1594
1605
  fontSize: length5.optional(),
1595
- layers: z77.array(layer_ref6).optional()
1606
+ layers: z78.array(layer_ref6).optional()
1596
1607
  });
1597
1608
 
1598
1609
  // lib/components/silkscreen-path.ts
1599
1610
  import { length as length6, route_hint_point as route_hint_point5 } from "circuit-json";
1600
- import { z as z78 } from "zod";
1611
+ import { z as z79 } from "zod";
1601
1612
  var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
1602
- route: z78.array(route_hint_point5),
1613
+ route: z79.array(route_hint_point5),
1603
1614
  strokeWidth: length6.optional()
1604
1615
  });
1605
1616
 
@@ -1615,10 +1626,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotat
1615
1626
 
1616
1627
  // lib/components/silkscreen-rect.ts
1617
1628
  import { distance as distance26 } from "circuit-json";
1618
- import { z as z79 } from "zod";
1629
+ import { z as z80 } from "zod";
1619
1630
  var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1620
- filled: z79.boolean().default(true).optional(),
1621
- stroke: z79.enum(["dashed", "solid", "none"]).optional(),
1631
+ filled: z80.boolean().default(true).optional(),
1632
+ stroke: z80.enum(["dashed", "solid", "none"]).optional(),
1622
1633
  strokeWidth: distance26.optional(),
1623
1634
  width: distance26,
1624
1635
  height: distance26
@@ -1626,64 +1637,64 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1626
1637
 
1627
1638
  // lib/components/silkscreen-circle.ts
1628
1639
  import { distance as distance27 } from "circuit-json";
1629
- import { z as z80 } from "zod";
1640
+ import { z as z81 } from "zod";
1630
1641
  var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1631
- isFilled: z80.boolean().optional(),
1632
- isOutline: z80.boolean().optional(),
1642
+ isFilled: z81.boolean().optional(),
1643
+ isOutline: z81.boolean().optional(),
1633
1644
  strokeWidth: distance27.optional(),
1634
1645
  radius: distance27
1635
1646
  });
1636
1647
 
1637
1648
  // lib/components/trace-hint.ts
1638
1649
  import { distance as distance28, layer_ref as layer_ref7, route_hint_point as route_hint_point6 } from "circuit-json";
1639
- import { z as z81 } from "zod";
1640
- var routeHintPointProps = z81.object({
1650
+ import { z as z82 } from "zod";
1651
+ var routeHintPointProps = z82.object({
1641
1652
  x: distance28,
1642
1653
  y: distance28,
1643
- via: z81.boolean().optional(),
1654
+ via: z82.boolean().optional(),
1644
1655
  toLayer: layer_ref7.optional()
1645
1656
  });
1646
- var traceHintProps = z81.object({
1647
- for: z81.string().optional().describe(
1657
+ var traceHintProps = z82.object({
1658
+ for: z82.string().optional().describe(
1648
1659
  "Selector for the port you're targeting, not required if you're inside a trace"
1649
1660
  ),
1650
- order: z81.number().optional(),
1661
+ order: z82.number().optional(),
1651
1662
  offset: route_hint_point6.or(routeHintPointProps).optional(),
1652
- offsets: z81.array(route_hint_point6).or(z81.array(routeHintPointProps)).optional(),
1653
- traceWidth: z81.number().optional()
1663
+ offsets: z82.array(route_hint_point6).or(z82.array(routeHintPointProps)).optional(),
1664
+ traceWidth: z82.number().optional()
1654
1665
  });
1655
1666
 
1656
1667
  // lib/components/port.ts
1657
- import { z as z82 } from "zod";
1668
+ import { z as z83 } from "zod";
1658
1669
  var portProps = commonLayoutProps.extend({
1659
- name: z82.string(),
1660
- pinNumber: z82.number().optional(),
1661
- aliases: z82.array(z82.string()).optional(),
1670
+ name: z83.string(),
1671
+ pinNumber: z83.number().optional(),
1672
+ aliases: z83.array(z83.string()).optional(),
1662
1673
  direction
1663
1674
  });
1664
1675
 
1665
1676
  // lib/platformConfig.ts
1666
- import { z as z83 } from "zod";
1667
- var unvalidatedCircuitJson = z83.array(z83.any()).describe("Circuit JSON");
1668
- var pathToCircuitJsonFn = z83.function().args(z83.string()).returns(z83.promise(z83.object({ footprintCircuitJson: z83.array(z83.any()) }))).describe("A function that takes a path and returns Circuit JSON");
1669
- var platformConfig = z83.object({
1677
+ import { z as z84 } from "zod";
1678
+ var unvalidatedCircuitJson = z84.array(z84.any()).describe("Circuit JSON");
1679
+ var pathToCircuitJsonFn = z84.function().args(z84.string()).returns(z84.promise(z84.object({ footprintCircuitJson: z84.array(z84.any()) }))).describe("A function that takes a path and returns Circuit JSON");
1680
+ var platformConfig = z84.object({
1670
1681
  partsEngine: partsEngine.optional(),
1671
1682
  autorouter: autorouterProp.optional(),
1672
- registryApiUrl: z83.string().optional(),
1673
- cloudAutorouterUrl: z83.string().optional(),
1674
- projectName: z83.string().optional(),
1675
- version: z83.string().optional(),
1676
- url: z83.string().optional(),
1677
- printBoardInformationToSilkscreen: z83.boolean().optional(),
1678
- localCacheEngine: z83.any().optional(),
1679
- pcbDisabled: z83.boolean().optional(),
1680
- schematicDisabled: z83.boolean().optional(),
1681
- partsEngineDisabled: z83.boolean().optional(),
1682
- footprintLibraryMap: z83.record(
1683
- z83.string(),
1684
- z83.record(
1685
- z83.string(),
1686
- z83.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
1683
+ registryApiUrl: z84.string().optional(),
1684
+ cloudAutorouterUrl: z84.string().optional(),
1685
+ projectName: z84.string().optional(),
1686
+ version: z84.string().optional(),
1687
+ url: z84.string().optional(),
1688
+ printBoardInformationToSilkscreen: z84.boolean().optional(),
1689
+ localCacheEngine: z84.any().optional(),
1690
+ pcbDisabled: z84.boolean().optional(),
1691
+ schematicDisabled: z84.boolean().optional(),
1692
+ partsEngineDisabled: z84.boolean().optional(),
1693
+ footprintLibraryMap: z84.record(
1694
+ z84.string(),
1695
+ z84.record(
1696
+ z84.string(),
1697
+ z84.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
1687
1698
  )
1688
1699
  ).optional()
1689
1700
  });
@@ -1773,6 +1784,7 @@ export {
1773
1784
  pinCompatibleVariant,
1774
1785
  pinHeaderProps,
1775
1786
  pinLabelsProp,
1787
+ pinoutProps,
1776
1788
  platedHoleProps,
1777
1789
  platformConfig,
1778
1790
  point3,
@@ -1820,6 +1832,7 @@ export {
1820
1832
  subcircuitProps,
1821
1833
  supplierProps,
1822
1834
  switchProps,
1835
+ symbolProps,
1823
1836
  testpointProps,
1824
1837
  traceHintProps,
1825
1838
  traceProps,