@tscircuit/props 0.0.74 → 0.0.76
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 +167 -79
- package/dist/index.js +216 -200
- package/dist/index.js.map +1 -1
- package/lib/components/board.ts +7 -0
- package/lib/components/group.ts +8 -0
- package/lib/components/platedhole.ts +73 -0
- package/lib/index.ts +1 -20
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -101,8 +101,8 @@ __export(lib_exports, {
|
|
|
101
101
|
viaProps: () => viaProps
|
|
102
102
|
});
|
|
103
103
|
module.exports = __toCommonJS(lib_exports);
|
|
104
|
-
var
|
|
105
|
-
var
|
|
104
|
+
var import_soup15 = require("@tscircuit/soup");
|
|
105
|
+
var import_zod27 = require("zod");
|
|
106
106
|
|
|
107
107
|
// lib/typecheck.ts
|
|
108
108
|
var expectTypesMatch = (shouldBe) => {
|
|
@@ -279,7 +279,8 @@ var boardProps = import_zod10.z.object({
|
|
|
279
279
|
layout: import_zod10.z.any().optional(),
|
|
280
280
|
routingDisabled: import_zod10.z.boolean().optional(),
|
|
281
281
|
children: import_zod10.z.any(),
|
|
282
|
-
defaultTraceWidth: import_soup5.distance.optional()
|
|
282
|
+
defaultTraceWidth: import_soup5.distance.optional(),
|
|
283
|
+
schAutoLayoutEnabled: import_zod10.z.boolean().optional()
|
|
283
284
|
});
|
|
284
285
|
expectTypesMatch(true);
|
|
285
286
|
|
|
@@ -313,111 +314,144 @@ var jumperProps = commonComponentProps.extend({
|
|
|
313
314
|
});
|
|
314
315
|
expectTypesMatch(true);
|
|
315
316
|
|
|
316
|
-
// lib/components/
|
|
317
|
+
// lib/components/platedhole.ts
|
|
317
318
|
var import_zod13 = require("zod");
|
|
318
319
|
var import_soup8 = require("@tscircuit/soup");
|
|
320
|
+
var platedHoleProps = import_zod13.z.discriminatedUnion("shape", [
|
|
321
|
+
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
322
|
+
name: import_zod13.z.string().optional(),
|
|
323
|
+
shape: import_zod13.z.literal("circle"),
|
|
324
|
+
holeDiameter: import_soup8.distance,
|
|
325
|
+
outerDiameter: import_soup8.distance,
|
|
326
|
+
portHints: portHints.optional()
|
|
327
|
+
}),
|
|
328
|
+
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
329
|
+
name: import_zod13.z.string().optional(),
|
|
330
|
+
shape: import_zod13.z.literal("oval"),
|
|
331
|
+
outerWidth: import_soup8.distance,
|
|
332
|
+
outerHeight: import_soup8.distance,
|
|
333
|
+
innerWidth: import_soup8.distance,
|
|
334
|
+
innerHeight: import_soup8.distance,
|
|
335
|
+
portHints: portHints.optional()
|
|
336
|
+
}),
|
|
337
|
+
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
338
|
+
name: import_zod13.z.string().optional(),
|
|
339
|
+
shape: import_zod13.z.literal("pill"),
|
|
340
|
+
outerWidth: import_soup8.distance,
|
|
341
|
+
outerHeight: import_soup8.distance,
|
|
342
|
+
innerWidth: import_soup8.distance,
|
|
343
|
+
innerHeight: import_soup8.distance,
|
|
344
|
+
portHints: portHints.optional()
|
|
345
|
+
})
|
|
346
|
+
]);
|
|
347
|
+
expectTypesMatch(true);
|
|
348
|
+
|
|
349
|
+
// lib/components/resistor.ts
|
|
350
|
+
var import_zod14 = require("zod");
|
|
351
|
+
var import_soup9 = require("@tscircuit/soup");
|
|
319
352
|
var resistorProps = commonComponentProps.extend({
|
|
320
|
-
resistance:
|
|
321
|
-
pullupFor:
|
|
322
|
-
pullupTo:
|
|
323
|
-
pulldownFor:
|
|
324
|
-
pulldownTo:
|
|
353
|
+
resistance: import_soup9.resistance,
|
|
354
|
+
pullupFor: import_zod14.z.string().optional(),
|
|
355
|
+
pullupTo: import_zod14.z.string().optional(),
|
|
356
|
+
pulldownFor: import_zod14.z.string().optional(),
|
|
357
|
+
pulldownTo: import_zod14.z.string().optional()
|
|
325
358
|
});
|
|
326
359
|
var resistorPins = lrPins;
|
|
327
360
|
expectTypesMatch(true);
|
|
328
361
|
|
|
329
362
|
// lib/components/capacitor.ts
|
|
330
|
-
var
|
|
331
|
-
var
|
|
363
|
+
var import_zod15 = require("zod");
|
|
364
|
+
var import_soup10 = require("@tscircuit/soup");
|
|
332
365
|
var capacitorProps = commonComponentProps.extend({
|
|
333
|
-
capacitance:
|
|
334
|
-
decouplingFor:
|
|
335
|
-
decouplingTo:
|
|
336
|
-
bypassFor:
|
|
337
|
-
bypassTo:
|
|
366
|
+
capacitance: import_soup10.capacitance,
|
|
367
|
+
decouplingFor: import_zod15.z.string().optional(),
|
|
368
|
+
decouplingTo: import_zod15.z.string().optional(),
|
|
369
|
+
bypassFor: import_zod15.z.string().optional(),
|
|
370
|
+
bypassTo: import_zod15.z.string().optional()
|
|
338
371
|
});
|
|
339
372
|
var capacitorPins = lrPolarPins;
|
|
340
373
|
expectTypesMatch(true);
|
|
341
374
|
|
|
342
375
|
// lib/components/group.ts
|
|
343
|
-
var
|
|
344
|
-
var
|
|
376
|
+
var import_zod16 = require("zod");
|
|
377
|
+
var import_soup11 = require("@tscircuit/soup");
|
|
345
378
|
var baseGroupProps = commonLayoutProps.extend({
|
|
346
|
-
name:
|
|
347
|
-
children:
|
|
379
|
+
name: import_zod16.z.string().optional(),
|
|
380
|
+
children: import_zod16.z.any().optional()
|
|
348
381
|
});
|
|
349
382
|
var subcircuitGroupProps = baseGroupProps.extend({
|
|
350
|
-
subcircuit:
|
|
351
|
-
layout:
|
|
352
|
-
|
|
353
|
-
|
|
383
|
+
subcircuit: import_zod16.z.literal(true),
|
|
384
|
+
layout: import_zod16.z.custom((v) => true).optional(),
|
|
385
|
+
schAutoLayoutEnabled: import_zod16.z.boolean().optional(),
|
|
386
|
+
routingDisabled: import_zod16.z.boolean().optional(),
|
|
387
|
+
defaultTraceWidth: import_soup11.length.optional()
|
|
354
388
|
});
|
|
355
|
-
var groupProps =
|
|
389
|
+
var groupProps = import_zod16.z.union([baseGroupProps, subcircuitGroupProps]);
|
|
356
390
|
expectTypesMatch(true);
|
|
357
391
|
expectTypesMatch(true);
|
|
358
392
|
expectTypesMatch(true);
|
|
359
393
|
|
|
360
394
|
// lib/components/net.ts
|
|
361
|
-
var
|
|
362
|
-
var netProps =
|
|
363
|
-
name:
|
|
395
|
+
var import_zod17 = require("zod");
|
|
396
|
+
var netProps = import_zod17.z.object({
|
|
397
|
+
name: import_zod17.z.string()
|
|
364
398
|
});
|
|
365
399
|
expectTypesMatch(true);
|
|
366
400
|
|
|
367
401
|
// lib/components/constrainedlayout.ts
|
|
368
|
-
var
|
|
369
|
-
var constrainedLayoutProps =
|
|
370
|
-
name:
|
|
371
|
-
pcbOnly:
|
|
372
|
-
schOnly:
|
|
402
|
+
var import_zod18 = require("zod");
|
|
403
|
+
var constrainedLayoutProps = import_zod18.z.object({
|
|
404
|
+
name: import_zod18.z.string().optional(),
|
|
405
|
+
pcbOnly: import_zod18.z.boolean().optional(),
|
|
406
|
+
schOnly: import_zod18.z.boolean().optional()
|
|
373
407
|
});
|
|
374
408
|
expectTypesMatch(true);
|
|
375
409
|
|
|
376
410
|
// lib/common/distance.ts
|
|
377
|
-
var
|
|
378
|
-
var
|
|
411
|
+
var import_zod19 = require("zod");
|
|
412
|
+
var import_soup12 = require("@tscircuit/soup");
|
|
379
413
|
|
|
380
414
|
// lib/components/constraint.ts
|
|
381
|
-
var
|
|
382
|
-
var pcbXDistConstraintProps =
|
|
383
|
-
pcb:
|
|
384
|
-
xDist:
|
|
385
|
-
left:
|
|
386
|
-
right:
|
|
387
|
-
edgeToEdge:
|
|
388
|
-
centerToCenter:
|
|
415
|
+
var import_zod20 = require("zod");
|
|
416
|
+
var pcbXDistConstraintProps = import_zod20.z.object({
|
|
417
|
+
pcb: import_zod20.z.literal(true).optional(),
|
|
418
|
+
xDist: import_soup12.distance,
|
|
419
|
+
left: import_zod20.z.string(),
|
|
420
|
+
right: import_zod20.z.string(),
|
|
421
|
+
edgeToEdge: import_zod20.z.literal(true).optional(),
|
|
422
|
+
centerToCenter: import_zod20.z.literal(true).optional()
|
|
389
423
|
});
|
|
390
424
|
expectTypesMatch(
|
|
391
425
|
true
|
|
392
426
|
);
|
|
393
|
-
var pcbYDistConstraintProps =
|
|
394
|
-
pcb:
|
|
395
|
-
yDist:
|
|
396
|
-
top:
|
|
397
|
-
bottom:
|
|
398
|
-
edgeToEdge:
|
|
399
|
-
centerToCenter:
|
|
427
|
+
var pcbYDistConstraintProps = import_zod20.z.object({
|
|
428
|
+
pcb: import_zod20.z.literal(true).optional(),
|
|
429
|
+
yDist: import_soup12.distance,
|
|
430
|
+
top: import_zod20.z.string(),
|
|
431
|
+
bottom: import_zod20.z.string(),
|
|
432
|
+
edgeToEdge: import_zod20.z.literal(true).optional(),
|
|
433
|
+
centerToCenter: import_zod20.z.literal(true).optional()
|
|
400
434
|
});
|
|
401
435
|
expectTypesMatch(
|
|
402
436
|
true
|
|
403
437
|
);
|
|
404
|
-
var pcbSameYConstraintProps =
|
|
405
|
-
pcb:
|
|
406
|
-
sameY:
|
|
407
|
-
for:
|
|
438
|
+
var pcbSameYConstraintProps = import_zod20.z.object({
|
|
439
|
+
pcb: import_zod20.z.literal(true).optional(),
|
|
440
|
+
sameY: import_zod20.z.literal(true).optional(),
|
|
441
|
+
for: import_zod20.z.array(import_zod20.z.string())
|
|
408
442
|
});
|
|
409
443
|
expectTypesMatch(
|
|
410
444
|
true
|
|
411
445
|
);
|
|
412
|
-
var pcbSameXConstraintProps =
|
|
413
|
-
pcb:
|
|
414
|
-
sameX:
|
|
415
|
-
for:
|
|
446
|
+
var pcbSameXConstraintProps = import_zod20.z.object({
|
|
447
|
+
pcb: import_zod20.z.literal(true).optional(),
|
|
448
|
+
sameX: import_zod20.z.literal(true).optional(),
|
|
449
|
+
for: import_zod20.z.array(import_zod20.z.string())
|
|
416
450
|
});
|
|
417
451
|
expectTypesMatch(
|
|
418
452
|
true
|
|
419
453
|
);
|
|
420
|
-
var constraintProps =
|
|
454
|
+
var constraintProps = import_zod20.z.union([
|
|
421
455
|
pcbXDistConstraintProps,
|
|
422
456
|
pcbYDistConstraintProps,
|
|
423
457
|
pcbSameYConstraintProps,
|
|
@@ -426,48 +460,48 @@ var constraintProps = import_zod19.z.union([
|
|
|
426
460
|
expectTypesMatch(true);
|
|
427
461
|
|
|
428
462
|
// lib/components/smtpad.ts
|
|
429
|
-
var
|
|
463
|
+
var import_zod21 = require("zod");
|
|
430
464
|
var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
431
|
-
shape:
|
|
432
|
-
width:
|
|
433
|
-
height:
|
|
465
|
+
shape: import_zod21.z.literal("rect"),
|
|
466
|
+
width: import_soup12.distance,
|
|
467
|
+
height: import_soup12.distance,
|
|
434
468
|
portHints: portHints.optional()
|
|
435
469
|
});
|
|
436
470
|
expectTypesMatch(true);
|
|
437
471
|
var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
438
|
-
shape:
|
|
439
|
-
radius:
|
|
472
|
+
shape: import_zod21.z.literal("circle"),
|
|
473
|
+
radius: import_soup12.distance,
|
|
440
474
|
portHints: portHints.optional()
|
|
441
475
|
});
|
|
442
476
|
expectTypesMatch(true);
|
|
443
|
-
var smtPadProps =
|
|
477
|
+
var smtPadProps = import_zod21.z.union([circleSmtPadProps, rectSmtPadProps]);
|
|
444
478
|
expectTypesMatch(true);
|
|
445
479
|
|
|
446
480
|
// lib/components/solderpaste.ts
|
|
447
|
-
var
|
|
481
|
+
var import_zod22 = require("zod");
|
|
448
482
|
var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
449
|
-
shape:
|
|
450
|
-
width:
|
|
451
|
-
height:
|
|
483
|
+
shape: import_zod22.z.literal("rect"),
|
|
484
|
+
width: import_soup12.distance,
|
|
485
|
+
height: import_soup12.distance
|
|
452
486
|
});
|
|
453
487
|
expectTypesMatch(true);
|
|
454
488
|
var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
455
|
-
shape:
|
|
456
|
-
radius:
|
|
489
|
+
shape: import_zod22.z.literal("circle"),
|
|
490
|
+
radius: import_soup12.distance
|
|
457
491
|
});
|
|
458
492
|
expectTypesMatch(true);
|
|
459
|
-
var solderPasteProps =
|
|
493
|
+
var solderPasteProps = import_zod22.z.union([
|
|
460
494
|
circleSolderPasteProps,
|
|
461
495
|
rectSolderPasteProps
|
|
462
496
|
]);
|
|
463
497
|
expectTypesMatch(true);
|
|
464
498
|
|
|
465
499
|
// lib/components/hole.ts
|
|
466
|
-
var
|
|
500
|
+
var import_zod23 = require("zod");
|
|
467
501
|
var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
468
|
-
name:
|
|
469
|
-
diameter:
|
|
470
|
-
radius:
|
|
502
|
+
name: import_zod23.z.string().optional(),
|
|
503
|
+
diameter: import_soup12.distance.optional(),
|
|
504
|
+
radius: import_soup12.distance.optional()
|
|
471
505
|
}).transform((d) => ({
|
|
472
506
|
...d,
|
|
473
507
|
diameter: d.diameter ?? 2 * d.radius,
|
|
@@ -476,23 +510,23 @@ var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
476
510
|
expectTypesMatch(true);
|
|
477
511
|
|
|
478
512
|
// lib/components/trace.ts
|
|
479
|
-
var
|
|
480
|
-
var
|
|
481
|
-
var portRef =
|
|
482
|
-
|
|
483
|
-
|
|
513
|
+
var import_zod24 = require("zod");
|
|
514
|
+
var import_soup13 = require("@tscircuit/soup");
|
|
515
|
+
var portRef = import_zod24.z.union([
|
|
516
|
+
import_zod24.z.string(),
|
|
517
|
+
import_zod24.z.custom(
|
|
484
518
|
(v) => Boolean(v.getPortSelector)
|
|
485
519
|
)
|
|
486
520
|
]);
|
|
487
|
-
var baseTraceProps =
|
|
488
|
-
key:
|
|
489
|
-
thickness:
|
|
490
|
-
schematicRouteHints:
|
|
491
|
-
pcbRouteHints:
|
|
521
|
+
var baseTraceProps = import_zod24.z.object({
|
|
522
|
+
key: import_zod24.z.string().optional(),
|
|
523
|
+
thickness: import_soup13.distance.optional(),
|
|
524
|
+
schematicRouteHints: import_zod24.z.array(point).optional(),
|
|
525
|
+
pcbRouteHints: import_zod24.z.array(import_soup13.route_hint_point).optional()
|
|
492
526
|
});
|
|
493
|
-
var traceProps =
|
|
527
|
+
var traceProps = import_zod24.z.union([
|
|
494
528
|
baseTraceProps.extend({
|
|
495
|
-
path:
|
|
529
|
+
path: import_zod24.z.array(portRef)
|
|
496
530
|
}),
|
|
497
531
|
baseTraceProps.extend({
|
|
498
532
|
from: portRef,
|
|
@@ -501,16 +535,16 @@ var traceProps = import_zod23.z.union([
|
|
|
501
535
|
]);
|
|
502
536
|
|
|
503
537
|
// lib/components/footprint.ts
|
|
504
|
-
var
|
|
505
|
-
var
|
|
506
|
-
var footprintProps =
|
|
507
|
-
originalLayer:
|
|
538
|
+
var import_soup14 = require("@tscircuit/soup");
|
|
539
|
+
var import_zod25 = require("zod");
|
|
540
|
+
var footprintProps = import_zod25.z.object({
|
|
541
|
+
originalLayer: import_soup14.layer_ref.default("top").optional()
|
|
508
542
|
});
|
|
509
543
|
expectTypesMatch(true);
|
|
510
544
|
|
|
511
545
|
// lib/components/battery.ts
|
|
512
|
-
var
|
|
513
|
-
var capacity =
|
|
546
|
+
var import_zod26 = require("zod");
|
|
547
|
+
var capacity = import_zod26.z.number().or(import_zod26.z.string().endsWith("mAh")).transform((v) => {
|
|
514
548
|
if (typeof v === "string") {
|
|
515
549
|
const valString = v.replace("mAh", "");
|
|
516
550
|
const num = Number.parseFloat(valString);
|
|
@@ -529,152 +563,134 @@ expectTypesMatch(true);
|
|
|
529
563
|
|
|
530
564
|
// lib/index.ts
|
|
531
565
|
var inductorProps = commonComponentProps.extend({
|
|
532
|
-
inductance:
|
|
566
|
+
inductance: import_soup15.inductance
|
|
533
567
|
});
|
|
534
568
|
var inductorPins = lrPins;
|
|
535
569
|
var diodeProps = commonComponentProps.extend({});
|
|
536
570
|
var diodePins = lrPolarPins;
|
|
537
571
|
var ledProps = commonComponentProps.extend({
|
|
538
|
-
color:
|
|
572
|
+
color: import_zod27.z.string().optional()
|
|
539
573
|
});
|
|
540
574
|
var ledPins = lrPolarPins;
|
|
541
575
|
var switchProps = commonComponentProps.extend({
|
|
542
|
-
ftype:
|
|
543
|
-
switchType:
|
|
544
|
-
isNormallyClosed:
|
|
576
|
+
ftype: import_zod27.z.literal("switch"),
|
|
577
|
+
switchType: import_zod27.z.enum(["spst"]).default("spst"),
|
|
578
|
+
isNormallyClosed: import_zod27.z.boolean().default(false)
|
|
545
579
|
});
|
|
546
|
-
var distanceOrMultiplier2 =
|
|
580
|
+
var distanceOrMultiplier2 = import_soup15.distance.or(import_zod27.z.enum(["2x", "3x", "4x"]));
|
|
547
581
|
var viaProps = commonLayoutProps.extend({
|
|
548
|
-
fromLayer:
|
|
549
|
-
toLayer:
|
|
550
|
-
holeDiameter:
|
|
551
|
-
outerDiameter:
|
|
582
|
+
fromLayer: import_soup15.layer_ref,
|
|
583
|
+
toLayer: import_soup15.layer_ref,
|
|
584
|
+
holeDiameter: import_soup15.distance,
|
|
585
|
+
outerDiameter: import_soup15.distance
|
|
552
586
|
});
|
|
553
587
|
var netAliasProps = commonLayoutProps.extend({
|
|
554
|
-
net:
|
|
588
|
+
net: import_zod27.z.string().optional()
|
|
555
589
|
});
|
|
556
|
-
var
|
|
557
|
-
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
558
|
-
name: import_zod26.z.string().optional(),
|
|
559
|
-
shape: import_zod26.z.literal("circle"),
|
|
560
|
-
holeDiameter: import_soup14.distance,
|
|
561
|
-
outerDiameter: import_soup14.distance,
|
|
562
|
-
portHints: portHints.optional()
|
|
563
|
-
}),
|
|
564
|
-
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
565
|
-
name: import_zod26.z.string().optional(),
|
|
566
|
-
shape: import_zod26.z.literal("oval"),
|
|
567
|
-
outerWidth: import_soup14.distance,
|
|
568
|
-
outerHeight: import_soup14.distance,
|
|
569
|
-
innerWidth: import_soup14.distance,
|
|
570
|
-
innerHeight: import_soup14.distance,
|
|
571
|
-
portHints: portHints.optional()
|
|
572
|
-
})
|
|
573
|
-
]);
|
|
574
|
-
var pcbKeepoutProps = import_zod26.z.union([
|
|
590
|
+
var pcbKeepoutProps = import_zod27.z.union([
|
|
575
591
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
576
|
-
shape:
|
|
577
|
-
radius:
|
|
592
|
+
shape: import_zod27.z.literal("circle"),
|
|
593
|
+
radius: import_soup15.distance
|
|
578
594
|
}),
|
|
579
595
|
pcbLayoutProps.extend({
|
|
580
|
-
shape:
|
|
581
|
-
width:
|
|
582
|
-
height:
|
|
596
|
+
shape: import_zod27.z.literal("rect"),
|
|
597
|
+
width: import_soup15.distance,
|
|
598
|
+
height: import_soup15.distance
|
|
583
599
|
})
|
|
584
600
|
]);
|
|
585
|
-
var schematicBoxProps =
|
|
586
|
-
schX:
|
|
587
|
-
schY:
|
|
588
|
-
width:
|
|
589
|
-
height:
|
|
590
|
-
});
|
|
591
|
-
var schematicTextProps =
|
|
592
|
-
schX:
|
|
593
|
-
schY:
|
|
594
|
-
text:
|
|
595
|
-
});
|
|
596
|
-
var schematicLineProps =
|
|
597
|
-
x1:
|
|
598
|
-
y1:
|
|
599
|
-
x2:
|
|
600
|
-
y2:
|
|
601
|
-
});
|
|
602
|
-
var schematicPathProps =
|
|
603
|
-
points:
|
|
604
|
-
isFilled:
|
|
605
|
-
fillColor:
|
|
601
|
+
var schematicBoxProps = import_zod27.z.object({
|
|
602
|
+
schX: import_soup15.distance,
|
|
603
|
+
schY: import_soup15.distance,
|
|
604
|
+
width: import_soup15.distance,
|
|
605
|
+
height: import_soup15.distance
|
|
606
|
+
});
|
|
607
|
+
var schematicTextProps = import_zod27.z.object({
|
|
608
|
+
schX: import_soup15.distance,
|
|
609
|
+
schY: import_soup15.distance,
|
|
610
|
+
text: import_zod27.z.string()
|
|
611
|
+
});
|
|
612
|
+
var schematicLineProps = import_zod27.z.object({
|
|
613
|
+
x1: import_soup15.distance,
|
|
614
|
+
y1: import_soup15.distance,
|
|
615
|
+
x2: import_soup15.distance,
|
|
616
|
+
y2: import_soup15.distance
|
|
617
|
+
});
|
|
618
|
+
var schematicPathProps = import_zod27.z.object({
|
|
619
|
+
points: import_zod27.z.array(import_soup15.point),
|
|
620
|
+
isFilled: import_zod27.z.boolean().optional().default(false),
|
|
621
|
+
fillColor: import_zod27.z.enum(["red", "blue"]).optional()
|
|
606
622
|
});
|
|
607
623
|
var componentProps = commonComponentProps;
|
|
608
624
|
var powerSourceProps = commonComponentProps.extend({
|
|
609
|
-
voltage:
|
|
625
|
+
voltage: import_soup15.voltage
|
|
610
626
|
});
|
|
611
627
|
var portProps = commonLayoutProps.extend({
|
|
612
|
-
name:
|
|
613
|
-
pinNumber:
|
|
614
|
-
aliases:
|
|
628
|
+
name: import_zod27.z.string(),
|
|
629
|
+
pinNumber: import_zod27.z.number().optional(),
|
|
630
|
+
aliases: import_zod27.z.array(import_zod27.z.string()).optional(),
|
|
615
631
|
direction
|
|
616
632
|
});
|
|
617
633
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
618
|
-
text:
|
|
619
|
-
anchorAlignment:
|
|
620
|
-
font:
|
|
621
|
-
fontSize:
|
|
634
|
+
text: import_zod27.z.string(),
|
|
635
|
+
anchorAlignment: import_zod27.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
636
|
+
font: import_zod27.z.enum(["tscircuit2024"]).optional(),
|
|
637
|
+
fontSize: import_soup15.length.optional()
|
|
622
638
|
});
|
|
623
639
|
var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
624
|
-
route:
|
|
625
|
-
strokeWidth:
|
|
640
|
+
route: import_zod27.z.array(import_soup15.route_hint_point),
|
|
641
|
+
strokeWidth: import_soup15.length.optional()
|
|
626
642
|
});
|
|
627
643
|
var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
628
|
-
strokeWidth:
|
|
629
|
-
x1:
|
|
630
|
-
y1:
|
|
631
|
-
x2:
|
|
632
|
-
y2:
|
|
644
|
+
strokeWidth: import_soup15.distance,
|
|
645
|
+
x1: import_soup15.distance,
|
|
646
|
+
y1: import_soup15.distance,
|
|
647
|
+
x2: import_soup15.distance,
|
|
648
|
+
y2: import_soup15.distance
|
|
633
649
|
});
|
|
634
650
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
635
|
-
isFilled:
|
|
636
|
-
isOutline:
|
|
637
|
-
strokeWidth:
|
|
638
|
-
width:
|
|
639
|
-
height:
|
|
651
|
+
isFilled: import_zod27.z.boolean().optional(),
|
|
652
|
+
isOutline: import_zod27.z.boolean().optional(),
|
|
653
|
+
strokeWidth: import_soup15.distance.optional(),
|
|
654
|
+
width: import_soup15.distance,
|
|
655
|
+
height: import_soup15.distance
|
|
640
656
|
});
|
|
641
657
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
642
|
-
isFilled:
|
|
643
|
-
isOutline:
|
|
644
|
-
strokeWidth:
|
|
645
|
-
radius:
|
|
646
|
-
});
|
|
647
|
-
var routeHintPointProps =
|
|
648
|
-
x:
|
|
649
|
-
y:
|
|
650
|
-
via:
|
|
651
|
-
toLayer:
|
|
652
|
-
});
|
|
653
|
-
var traceHintProps =
|
|
654
|
-
for:
|
|
658
|
+
isFilled: import_zod27.z.boolean().optional(),
|
|
659
|
+
isOutline: import_zod27.z.boolean().optional(),
|
|
660
|
+
strokeWidth: import_soup15.distance.optional(),
|
|
661
|
+
radius: import_soup15.distance
|
|
662
|
+
});
|
|
663
|
+
var routeHintPointProps = import_zod27.z.object({
|
|
664
|
+
x: import_soup15.distance,
|
|
665
|
+
y: import_soup15.distance,
|
|
666
|
+
via: import_zod27.z.boolean().optional(),
|
|
667
|
+
toLayer: import_soup15.layer_ref.optional()
|
|
668
|
+
});
|
|
669
|
+
var traceHintProps = import_zod27.z.object({
|
|
670
|
+
for: import_zod27.z.string().optional().describe(
|
|
655
671
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
656
672
|
),
|
|
657
|
-
order:
|
|
658
|
-
offset:
|
|
659
|
-
offsets:
|
|
660
|
-
traceWidth:
|
|
673
|
+
order: import_zod27.z.number().optional(),
|
|
674
|
+
offset: import_soup15.route_hint_point.or(routeHintPointProps).optional(),
|
|
675
|
+
offsets: import_zod27.z.array(import_soup15.route_hint_point).or(import_zod27.z.array(routeHintPointProps)).optional(),
|
|
676
|
+
traceWidth: import_zod27.z.number().optional()
|
|
661
677
|
});
|
|
662
|
-
var pcbTraceProps =
|
|
663
|
-
layer:
|
|
664
|
-
thickness:
|
|
665
|
-
route:
|
|
678
|
+
var pcbTraceProps = import_zod27.z.object({
|
|
679
|
+
layer: import_zod27.z.string().optional(),
|
|
680
|
+
thickness: import_soup15.distance.optional(),
|
|
681
|
+
route: import_zod27.z.array(import_soup15.route_hint_point)
|
|
666
682
|
});
|
|
667
683
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
668
|
-
text:
|
|
669
|
-
anchorAlignment:
|
|
670
|
-
font:
|
|
671
|
-
fontSize:
|
|
672
|
-
color:
|
|
684
|
+
text: import_zod27.z.string(),
|
|
685
|
+
anchorAlignment: import_zod27.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
686
|
+
font: import_zod27.z.enum(["tscircuit2024"]).optional(),
|
|
687
|
+
fontSize: import_soup15.length.optional(),
|
|
688
|
+
color: import_zod27.z.string().optional()
|
|
673
689
|
});
|
|
674
690
|
var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
675
|
-
route:
|
|
676
|
-
strokeWidth:
|
|
677
|
-
color:
|
|
691
|
+
route: import_zod27.z.array(import_soup15.route_hint_point),
|
|
692
|
+
strokeWidth: import_soup15.length.optional(),
|
|
693
|
+
color: import_zod27.z.string().optional()
|
|
678
694
|
});
|
|
679
695
|
// Annotate the CommonJS export names for ESM import in node:
|
|
680
696
|
0 && (module.exports = {
|