@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/README.md +18 -0
- package/dist/index.d.ts +874 -1
- package/dist/index.js +179 -166
- package/dist/index.js.map +1 -1
- package/lib/components/pinout.ts +15 -0
- package/lib/components/symbol.ts +23 -0
- package/lib/index.ts +2 -0
- package/package.json +1 -1
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
|
|
1071
|
-
var capacity =
|
|
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:
|
|
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
|
|
1104
|
+
import { z as z51 } from "zod";
|
|
1094
1105
|
var pinHeaderProps = commonComponentProps.extend({
|
|
1095
|
-
pinCount:
|
|
1106
|
+
pinCount: z51.number(),
|
|
1096
1107
|
pitch: distance14.optional(),
|
|
1097
|
-
schFacingDirection:
|
|
1098
|
-
gender:
|
|
1099
|
-
showSilkscreenPinLabels:
|
|
1100
|
-
pcbPinLabels:
|
|
1101
|
-
doubleRow:
|
|
1102
|
-
rightAngle:
|
|
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:
|
|
1106
|
-
connections:
|
|
1107
|
-
facingDirection:
|
|
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
|
|
1128
|
+
import { z as z52 } from "zod";
|
|
1118
1129
|
import { rotation as rotation2 } from "circuit-json";
|
|
1119
|
-
var netAliasProps =
|
|
1120
|
-
net:
|
|
1121
|
-
connection:
|
|
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:
|
|
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
|
|
1141
|
+
import { z as z53 } from "zod";
|
|
1131
1142
|
import { rotation as rotation3 } from "circuit-json";
|
|
1132
|
-
var netLabelProps =
|
|
1133
|
-
net:
|
|
1134
|
-
connection:
|
|
1135
|
-
connectsTo:
|
|
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:
|
|
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
|
|
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:
|
|
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
|
|
1191
|
+
import { z as z56 } from "zod";
|
|
1181
1192
|
var mosfetProps = commonComponentProps.extend({
|
|
1182
|
-
channelType:
|
|
1183
|
-
mosfetMode:
|
|
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
|
|
1208
|
+
import { z as z57 } from "zod";
|
|
1198
1209
|
var inductorProps = commonComponentProps.extend({
|
|
1199
1210
|
inductance,
|
|
1200
|
-
maxCurrentRating:
|
|
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
|
|
1208
|
-
var diodeConnectionKeys =
|
|
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 =
|
|
1217
|
-
var connectionsProp2 =
|
|
1218
|
-
var diodeVariant =
|
|
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:
|
|
1230
|
-
schottky:
|
|
1231
|
-
zener:
|
|
1232
|
-
avalanche:
|
|
1233
|
-
photo:
|
|
1234
|
-
tvs:
|
|
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:
|
|
1258
|
+
code: z58.ZodIssueCode.custom,
|
|
1248
1259
|
message: "Exactly one diode variant must be enabled",
|
|
1249
1260
|
path: []
|
|
1250
1261
|
});
|
|
1251
|
-
return
|
|
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
|
|
1309
|
+
import { z as z59 } from "zod";
|
|
1299
1310
|
var ledProps = commonComponentProps.extend({
|
|
1300
|
-
color:
|
|
1301
|
-
wavelength:
|
|
1302
|
-
schDisplayValue:
|
|
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:
|
|
1316
|
+
laser: z59.boolean().optional()
|
|
1306
1317
|
});
|
|
1307
1318
|
var ledPins = lrPolarPins;
|
|
1308
1319
|
|
|
1309
1320
|
// lib/components/switch.ts
|
|
1310
|
-
import { z as
|
|
1321
|
+
import { z as z60 } from "zod";
|
|
1311
1322
|
var switchProps = commonComponentProps.extend({
|
|
1312
|
-
type:
|
|
1313
|
-
isNormallyClosed:
|
|
1314
|
-
spst:
|
|
1315
|
-
spdt:
|
|
1316
|
-
dpst:
|
|
1317
|
-
dpdt:
|
|
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
|
|
1360
|
+
import { z as z61 } from "zod";
|
|
1350
1361
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
1351
|
-
text:
|
|
1352
|
-
anchorAlignment:
|
|
1353
|
-
font:
|
|
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:
|
|
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
|
|
1371
|
+
import { z as z62 } from "zod";
|
|
1361
1372
|
var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
1362
|
-
route:
|
|
1373
|
+
route: z62.array(route_hint_point3),
|
|
1363
1374
|
strokeWidth: length4.optional(),
|
|
1364
|
-
color:
|
|
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
|
|
1370
|
-
var pcbTraceProps =
|
|
1371
|
-
layer:
|
|
1380
|
+
import { z as z63 } from "zod";
|
|
1381
|
+
var pcbTraceProps = z63.object({
|
|
1382
|
+
layer: z63.string().optional(),
|
|
1372
1383
|
thickness: distance15.optional(),
|
|
1373
|
-
route:
|
|
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
|
|
1389
|
+
import { z as z64 } from "zod";
|
|
1379
1390
|
var viaProps = commonLayoutProps.extend({
|
|
1380
|
-
name:
|
|
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:
|
|
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
|
|
1402
|
+
import { z as z65 } from "zod";
|
|
1392
1403
|
var testpointProps = commonComponentProps.extend({
|
|
1393
|
-
footprintVariant:
|
|
1394
|
-
padShape:
|
|
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
|
|
1417
|
+
import { z as z66 } from "zod";
|
|
1407
1418
|
var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
1408
|
-
connection:
|
|
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
|
|
1415
|
-
var pcbKeepoutProps =
|
|
1425
|
+
import { z as z67 } from "zod";
|
|
1426
|
+
var pcbKeepoutProps = z67.union([
|
|
1416
1427
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1417
|
-
shape:
|
|
1428
|
+
shape: z67.literal("circle"),
|
|
1418
1429
|
radius: distance18
|
|
1419
1430
|
}),
|
|
1420
1431
|
pcbLayoutProps.extend({
|
|
1421
|
-
shape:
|
|
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
|
|
1436
|
-
var percentage =
|
|
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
|
-
|
|
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:
|
|
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
|
|
1470
|
+
import { z as z70 } from "zod";
|
|
1460
1471
|
|
|
1461
1472
|
// lib/common/ninePointAnchor.ts
|
|
1462
|
-
import { z as
|
|
1463
|
-
var ninePointAnchor =
|
|
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 =
|
|
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:
|
|
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:
|
|
1498
|
+
title: z70.string().optional(),
|
|
1488
1499
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
1489
|
-
titleColor:
|
|
1500
|
+
titleColor: z70.string().optional(),
|
|
1490
1501
|
titleFontSize: distance19.optional(),
|
|
1491
|
-
titleInside:
|
|
1492
|
-
strokeStyle:
|
|
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
|
|
1508
|
-
var schematicLineProps =
|
|
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
|
|
1528
|
+
import { z as z73 } from "zod";
|
|
1518
1529
|
|
|
1519
1530
|
// lib/common/fivePointAnchor.ts
|
|
1520
|
-
import { z as
|
|
1521
|
-
var fivePointAnchor =
|
|
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 =
|
|
1541
|
+
var schematicTextProps = z73.object({
|
|
1531
1542
|
schX: distance21.optional(),
|
|
1532
1543
|
schY: distance21.optional(),
|
|
1533
|
-
text:
|
|
1534
|
-
fontSize:
|
|
1535
|
-
anchor:
|
|
1536
|
-
color:
|
|
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
|
|
1543
|
-
var schematicPathProps =
|
|
1544
|
-
points:
|
|
1545
|
-
isFilled:
|
|
1546
|
-
fillColor:
|
|
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
|
|
1552
|
-
var schematicTableProps =
|
|
1562
|
+
import { z as z75 } from "zod";
|
|
1563
|
+
var schematicTableProps = z75.object({
|
|
1553
1564
|
schX: distance22.optional(),
|
|
1554
1565
|
schY: distance22.optional(),
|
|
1555
|
-
children:
|
|
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
|
|
1566
|
-
var schematicRowProps =
|
|
1567
|
-
children:
|
|
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
|
|
1575
|
-
var schematicCellProps =
|
|
1576
|
-
children:
|
|
1577
|
-
horizontalAlign:
|
|
1578
|
-
verticalAlign:
|
|
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:
|
|
1581
|
-
colSpan:
|
|
1591
|
+
rowSpan: z77.number().optional(),
|
|
1592
|
+
colSpan: z77.number().optional(),
|
|
1582
1593
|
width: distance24.optional(),
|
|
1583
|
-
text:
|
|
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
|
|
1600
|
+
import { z as z78 } from "zod";
|
|
1590
1601
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
1591
|
-
text:
|
|
1602
|
+
text: z78.string(),
|
|
1592
1603
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
1593
|
-
font:
|
|
1604
|
+
font: z78.enum(["tscircuit2024"]).optional(),
|
|
1594
1605
|
fontSize: length5.optional(),
|
|
1595
|
-
layers:
|
|
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
|
|
1611
|
+
import { z as z79 } from "zod";
|
|
1601
1612
|
var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
1602
|
-
route:
|
|
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
|
|
1629
|
+
import { z as z80 } from "zod";
|
|
1619
1630
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1620
|
-
filled:
|
|
1621
|
-
stroke:
|
|
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
|
|
1640
|
+
import { z as z81 } from "zod";
|
|
1630
1641
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
1631
|
-
isFilled:
|
|
1632
|
-
isOutline:
|
|
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
|
|
1640
|
-
var routeHintPointProps =
|
|
1650
|
+
import { z as z82 } from "zod";
|
|
1651
|
+
var routeHintPointProps = z82.object({
|
|
1641
1652
|
x: distance28,
|
|
1642
1653
|
y: distance28,
|
|
1643
|
-
via:
|
|
1654
|
+
via: z82.boolean().optional(),
|
|
1644
1655
|
toLayer: layer_ref7.optional()
|
|
1645
1656
|
});
|
|
1646
|
-
var traceHintProps =
|
|
1647
|
-
for:
|
|
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:
|
|
1661
|
+
order: z82.number().optional(),
|
|
1651
1662
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
1652
|
-
offsets:
|
|
1653
|
-
traceWidth:
|
|
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
|
|
1668
|
+
import { z as z83 } from "zod";
|
|
1658
1669
|
var portProps = commonLayoutProps.extend({
|
|
1659
|
-
name:
|
|
1660
|
-
pinNumber:
|
|
1661
|
-
aliases:
|
|
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
|
|
1667
|
-
var unvalidatedCircuitJson =
|
|
1668
|
-
var pathToCircuitJsonFn =
|
|
1669
|
-
var platformConfig =
|
|
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:
|
|
1673
|
-
cloudAutorouterUrl:
|
|
1674
|
-
projectName:
|
|
1675
|
-
version:
|
|
1676
|
-
url:
|
|
1677
|
-
printBoardInformationToSilkscreen:
|
|
1678
|
-
localCacheEngine:
|
|
1679
|
-
pcbDisabled:
|
|
1680
|
-
schematicDisabled:
|
|
1681
|
-
partsEngineDisabled:
|
|
1682
|
-
footprintLibraryMap:
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
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,
|