@tscircuit/props 0.0.102 → 0.0.104
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 +494 -2
- package/dist/index.js +99 -72
- package/dist/index.js.map +1 -1
- package/lib/components/smtpad.ts +30 -2
- package/lib/index.ts +1 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -42,6 +42,8 @@ __export(lib_exports, {
|
|
|
42
42
|
componentProps: () => componentProps,
|
|
43
43
|
constrainedLayoutProps: () => constrainedLayoutProps,
|
|
44
44
|
constraintProps: () => constraintProps,
|
|
45
|
+
crystalPins: () => crystalPins,
|
|
46
|
+
crystalProps: () => crystalProps,
|
|
45
47
|
diodePins: () => diodePins,
|
|
46
48
|
diodeProps: () => diodeProps,
|
|
47
49
|
direction: () => direction,
|
|
@@ -85,6 +87,7 @@ __export(lib_exports, {
|
|
|
85
87
|
rectSolderPasteProps: () => rectSolderPasteProps,
|
|
86
88
|
resistorPins: () => resistorPins,
|
|
87
89
|
resistorProps: () => resistorProps,
|
|
90
|
+
rotatedRectSmtPadProps: () => rotatedRectSmtPadProps,
|
|
88
91
|
rotationPoint3: () => rotationPoint3,
|
|
89
92
|
routeHintPointProps: () => routeHintPointProps,
|
|
90
93
|
schematicBoxProps: () => schematicBoxProps,
|
|
@@ -110,7 +113,7 @@ __export(lib_exports, {
|
|
|
110
113
|
viaProps: () => viaProps
|
|
111
114
|
});
|
|
112
115
|
module.exports = __toCommonJS(lib_exports);
|
|
113
|
-
var
|
|
116
|
+
var import_circuit_json19 = require("circuit-json");
|
|
114
117
|
var import_zod30 = require("zod");
|
|
115
118
|
|
|
116
119
|
// lib/typecheck.ts
|
|
@@ -425,11 +428,20 @@ var potentiometerProps = commonComponentProps.extend({
|
|
|
425
428
|
var potentiometerPins = lrPins;
|
|
426
429
|
expectTypesMatch(true);
|
|
427
430
|
|
|
428
|
-
// lib/components/
|
|
431
|
+
// lib/components/crystal.ts
|
|
429
432
|
var import_circuit_json12 = require("circuit-json");
|
|
433
|
+
var crystalProps = commonComponentProps.extend({
|
|
434
|
+
frequency: import_circuit_json12.frequency,
|
|
435
|
+
loadCapacitance: import_circuit_json12.capacitance
|
|
436
|
+
});
|
|
437
|
+
var crystalPins = lrPins;
|
|
438
|
+
expectTypesMatch(true);
|
|
439
|
+
|
|
440
|
+
// lib/components/capacitor.ts
|
|
441
|
+
var import_circuit_json13 = require("circuit-json");
|
|
430
442
|
var import_zod16 = require("zod");
|
|
431
443
|
var capacitorProps = commonComponentProps.extend({
|
|
432
|
-
capacitance:
|
|
444
|
+
capacitance: import_circuit_json13.capacitance,
|
|
433
445
|
polarized: import_zod16.z.boolean().optional().default(false),
|
|
434
446
|
decouplingFor: import_zod16.z.string().optional(),
|
|
435
447
|
decouplingTo: import_zod16.z.string().optional(),
|
|
@@ -457,13 +469,13 @@ expectTypesMatch(true);
|
|
|
457
469
|
|
|
458
470
|
// lib/common/distance.ts
|
|
459
471
|
var import_zod19 = require("zod");
|
|
460
|
-
var
|
|
472
|
+
var import_circuit_json14 = require("circuit-json");
|
|
461
473
|
|
|
462
474
|
// lib/components/constraint.ts
|
|
463
475
|
var import_zod20 = require("zod");
|
|
464
476
|
var pcbXDistConstraintProps = import_zod20.z.object({
|
|
465
477
|
pcb: import_zod20.z.literal(true).optional(),
|
|
466
|
-
xDist:
|
|
478
|
+
xDist: import_circuit_json14.distance,
|
|
467
479
|
left: import_zod20.z.string(),
|
|
468
480
|
right: import_zod20.z.string(),
|
|
469
481
|
edgeToEdge: import_zod20.z.literal(true).optional(),
|
|
@@ -474,7 +486,7 @@ expectTypesMatch(
|
|
|
474
486
|
);
|
|
475
487
|
var pcbYDistConstraintProps = import_zod20.z.object({
|
|
476
488
|
pcb: import_zod20.z.literal(true).optional(),
|
|
477
|
-
yDist:
|
|
489
|
+
yDist: import_circuit_json14.distance,
|
|
478
490
|
top: import_zod20.z.string(),
|
|
479
491
|
bottom: import_zod20.z.string(),
|
|
480
492
|
edgeToEdge: import_zod20.z.literal(true).optional(),
|
|
@@ -511,31 +523,43 @@ expectTypesMatch(true);
|
|
|
511
523
|
var import_zod21 = require("zod");
|
|
512
524
|
var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
513
525
|
shape: import_zod21.z.literal("rect"),
|
|
514
|
-
width:
|
|
515
|
-
height:
|
|
526
|
+
width: import_circuit_json14.distance,
|
|
527
|
+
height: import_circuit_json14.distance,
|
|
528
|
+
portHints: portHints.optional()
|
|
529
|
+
});
|
|
530
|
+
expectTypesMatch(true);
|
|
531
|
+
var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
532
|
+
shape: import_zod21.z.literal("rotated_rect"),
|
|
533
|
+
width: import_circuit_json14.distance,
|
|
534
|
+
height: import_circuit_json14.distance,
|
|
535
|
+
ccwRotation: import_zod21.z.number(),
|
|
516
536
|
portHints: portHints.optional()
|
|
517
537
|
});
|
|
518
538
|
expectTypesMatch(true);
|
|
519
539
|
var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
520
540
|
shape: import_zod21.z.literal("circle"),
|
|
521
|
-
radius:
|
|
541
|
+
radius: import_circuit_json14.distance,
|
|
522
542
|
portHints: portHints.optional()
|
|
523
543
|
});
|
|
524
544
|
expectTypesMatch(true);
|
|
525
|
-
var smtPadProps = import_zod21.z.union([
|
|
545
|
+
var smtPadProps = import_zod21.z.union([
|
|
546
|
+
circleSmtPadProps,
|
|
547
|
+
rectSmtPadProps,
|
|
548
|
+
rotatedRectSmtPadProps
|
|
549
|
+
]);
|
|
526
550
|
expectTypesMatch(true);
|
|
527
551
|
|
|
528
552
|
// lib/components/solderpaste.ts
|
|
529
553
|
var import_zod22 = require("zod");
|
|
530
554
|
var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
531
555
|
shape: import_zod22.z.literal("rect"),
|
|
532
|
-
width:
|
|
533
|
-
height:
|
|
556
|
+
width: import_circuit_json14.distance,
|
|
557
|
+
height: import_circuit_json14.distance
|
|
534
558
|
});
|
|
535
559
|
expectTypesMatch(true);
|
|
536
560
|
var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
537
561
|
shape: import_zod22.z.literal("circle"),
|
|
538
|
-
radius:
|
|
562
|
+
radius: import_circuit_json14.distance
|
|
539
563
|
});
|
|
540
564
|
expectTypesMatch(true);
|
|
541
565
|
var solderPasteProps = import_zod22.z.union([
|
|
@@ -548,8 +572,8 @@ expectTypesMatch(true);
|
|
|
548
572
|
var import_zod23 = require("zod");
|
|
549
573
|
var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
550
574
|
name: import_zod23.z.string().optional(),
|
|
551
|
-
diameter:
|
|
552
|
-
radius:
|
|
575
|
+
diameter: import_circuit_json14.distance.optional(),
|
|
576
|
+
radius: import_circuit_json14.distance.optional()
|
|
553
577
|
}).transform((d) => ({
|
|
554
578
|
...d,
|
|
555
579
|
diameter: d.diameter ?? 2 * d.radius,
|
|
@@ -558,7 +582,7 @@ var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
558
582
|
expectTypesMatch(true);
|
|
559
583
|
|
|
560
584
|
// lib/components/trace.ts
|
|
561
|
-
var
|
|
585
|
+
var import_circuit_json15 = require("circuit-json");
|
|
562
586
|
var import_zod24 = require("zod");
|
|
563
587
|
var portRef = import_zod24.z.union([
|
|
564
588
|
import_zod24.z.string(),
|
|
@@ -568,9 +592,9 @@ var portRef = import_zod24.z.union([
|
|
|
568
592
|
]);
|
|
569
593
|
var baseTraceProps = import_zod24.z.object({
|
|
570
594
|
key: import_zod24.z.string().optional(),
|
|
571
|
-
thickness:
|
|
595
|
+
thickness: import_circuit_json15.distance.optional(),
|
|
572
596
|
schematicRouteHints: import_zod24.z.array(point).optional(),
|
|
573
|
-
pcbRouteHints: import_zod24.z.array(
|
|
597
|
+
pcbRouteHints: import_zod24.z.array(import_circuit_json15.route_hint_point).optional()
|
|
574
598
|
});
|
|
575
599
|
var traceProps = import_zod24.z.union([
|
|
576
600
|
baseTraceProps.extend({
|
|
@@ -583,10 +607,10 @@ var traceProps = import_zod24.z.union([
|
|
|
583
607
|
]);
|
|
584
608
|
|
|
585
609
|
// lib/components/footprint.ts
|
|
586
|
-
var
|
|
610
|
+
var import_circuit_json16 = require("circuit-json");
|
|
587
611
|
var import_zod25 = require("zod");
|
|
588
612
|
var footprintProps = import_zod25.z.object({
|
|
589
|
-
originalLayer:
|
|
613
|
+
originalLayer: import_circuit_json16.layer_ref.default("top").optional()
|
|
590
614
|
});
|
|
591
615
|
expectTypesMatch(true);
|
|
592
616
|
|
|
@@ -610,16 +634,16 @@ var batteryPins = lrPolarPins;
|
|
|
610
634
|
expectTypesMatch(true);
|
|
611
635
|
|
|
612
636
|
// lib/components/pin-header.ts
|
|
613
|
-
var
|
|
637
|
+
var import_circuit_json17 = require("circuit-json");
|
|
614
638
|
var import_zod27 = require("zod");
|
|
615
639
|
var pinHeaderProps = commonComponentProps.extend({
|
|
616
640
|
pinCount: import_zod27.z.number(),
|
|
617
|
-
pitch:
|
|
641
|
+
pitch: import_circuit_json17.distance.optional(),
|
|
618
642
|
gender: import_zod27.z.enum(["male", "female"]).optional(),
|
|
619
643
|
showSilkscreenPinLabels: import_zod27.z.boolean().optional(),
|
|
620
644
|
doubleRow: import_zod27.z.boolean().optional(),
|
|
621
|
-
holeDiameter:
|
|
622
|
-
platedDiameter:
|
|
645
|
+
holeDiameter: import_circuit_json17.distance.optional(),
|
|
646
|
+
platedDiameter: import_circuit_json17.distance.optional(),
|
|
623
647
|
pinLabels: import_zod27.z.array(import_zod27.z.string()).optional(),
|
|
624
648
|
facingDirection: import_zod27.z.enum(["left", "right"]).optional()
|
|
625
649
|
});
|
|
@@ -627,12 +651,12 @@ expectTypesMatch(true);
|
|
|
627
651
|
|
|
628
652
|
// lib/components/netalias.ts
|
|
629
653
|
var import_zod28 = require("zod");
|
|
630
|
-
var
|
|
654
|
+
var import_circuit_json18 = require("circuit-json");
|
|
631
655
|
var netAliasProps = import_zod28.z.object({
|
|
632
656
|
net: import_zod28.z.string().optional(),
|
|
633
|
-
schX:
|
|
634
|
-
schY:
|
|
635
|
-
schRotation:
|
|
657
|
+
schX: import_circuit_json14.distance.optional(),
|
|
658
|
+
schY: import_circuit_json14.distance.optional(),
|
|
659
|
+
schRotation: import_circuit_json18.rotation.optional(),
|
|
636
660
|
anchorSide: import_zod28.z.enum(["left", "up", "right", "down"]).optional()
|
|
637
661
|
});
|
|
638
662
|
expectTypesMatch(true);
|
|
@@ -647,7 +671,7 @@ expectTypesMatch(true);
|
|
|
647
671
|
|
|
648
672
|
// lib/index.ts
|
|
649
673
|
var inductorProps = commonComponentProps.extend({
|
|
650
|
-
inductance:
|
|
674
|
+
inductance: import_circuit_json19.inductance
|
|
651
675
|
});
|
|
652
676
|
var inductorPins = lrPins;
|
|
653
677
|
var diodeProps = commonComponentProps.extend({});
|
|
@@ -661,49 +685,49 @@ var switchProps = commonComponentProps.extend({
|
|
|
661
685
|
switchType: import_zod30.z.enum(["spst"]).default("spst"),
|
|
662
686
|
isNormallyClosed: import_zod30.z.boolean().default(false)
|
|
663
687
|
});
|
|
664
|
-
var distanceOrMultiplier2 =
|
|
688
|
+
var distanceOrMultiplier2 = import_circuit_json19.distance.or(import_zod30.z.enum(["2x", "3x", "4x"]));
|
|
665
689
|
var viaProps = commonLayoutProps.extend({
|
|
666
|
-
fromLayer:
|
|
667
|
-
toLayer:
|
|
668
|
-
holeDiameter:
|
|
669
|
-
outerDiameter:
|
|
690
|
+
fromLayer: import_circuit_json19.layer_ref,
|
|
691
|
+
toLayer: import_circuit_json19.layer_ref,
|
|
692
|
+
holeDiameter: import_circuit_json19.distance,
|
|
693
|
+
outerDiameter: import_circuit_json19.distance
|
|
670
694
|
});
|
|
671
695
|
var pcbKeepoutProps = import_zod30.z.union([
|
|
672
696
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
673
697
|
shape: import_zod30.z.literal("circle"),
|
|
674
|
-
radius:
|
|
698
|
+
radius: import_circuit_json19.distance
|
|
675
699
|
}),
|
|
676
700
|
pcbLayoutProps.extend({
|
|
677
701
|
shape: import_zod30.z.literal("rect"),
|
|
678
|
-
width:
|
|
679
|
-
height:
|
|
702
|
+
width: import_circuit_json19.distance,
|
|
703
|
+
height: import_circuit_json19.distance
|
|
680
704
|
})
|
|
681
705
|
]);
|
|
682
706
|
var schematicBoxProps = import_zod30.z.object({
|
|
683
|
-
schX:
|
|
684
|
-
schY:
|
|
685
|
-
width:
|
|
686
|
-
height:
|
|
707
|
+
schX: import_circuit_json19.distance,
|
|
708
|
+
schY: import_circuit_json19.distance,
|
|
709
|
+
width: import_circuit_json19.distance,
|
|
710
|
+
height: import_circuit_json19.distance
|
|
687
711
|
});
|
|
688
712
|
var schematicTextProps = import_zod30.z.object({
|
|
689
|
-
schX:
|
|
690
|
-
schY:
|
|
713
|
+
schX: import_circuit_json19.distance,
|
|
714
|
+
schY: import_circuit_json19.distance,
|
|
691
715
|
text: import_zod30.z.string()
|
|
692
716
|
});
|
|
693
717
|
var schematicLineProps = import_zod30.z.object({
|
|
694
|
-
x1:
|
|
695
|
-
y1:
|
|
696
|
-
x2:
|
|
697
|
-
y2:
|
|
718
|
+
x1: import_circuit_json19.distance,
|
|
719
|
+
y1: import_circuit_json19.distance,
|
|
720
|
+
x2: import_circuit_json19.distance,
|
|
721
|
+
y2: import_circuit_json19.distance
|
|
698
722
|
});
|
|
699
723
|
var schematicPathProps = import_zod30.z.object({
|
|
700
|
-
points: import_zod30.z.array(
|
|
724
|
+
points: import_zod30.z.array(import_circuit_json19.point),
|
|
701
725
|
isFilled: import_zod30.z.boolean().optional().default(false),
|
|
702
726
|
fillColor: import_zod30.z.enum(["red", "blue"]).optional()
|
|
703
727
|
});
|
|
704
728
|
var componentProps = commonComponentProps;
|
|
705
729
|
var powerSourceProps = commonComponentProps.extend({
|
|
706
|
-
voltage:
|
|
730
|
+
voltage: import_circuit_json19.voltage
|
|
707
731
|
});
|
|
708
732
|
var portProps = commonLayoutProps.extend({
|
|
709
733
|
name: import_zod30.z.string(),
|
|
@@ -715,62 +739,62 @@ var silkscreenTextProps = pcbLayoutProps.extend({
|
|
|
715
739
|
text: import_zod30.z.string(),
|
|
716
740
|
anchorAlignment: import_zod30.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
717
741
|
font: import_zod30.z.enum(["tscircuit2024"]).optional(),
|
|
718
|
-
fontSize:
|
|
742
|
+
fontSize: import_circuit_json19.length.optional()
|
|
719
743
|
});
|
|
720
744
|
var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
721
|
-
route: import_zod30.z.array(
|
|
722
|
-
strokeWidth:
|
|
745
|
+
route: import_zod30.z.array(import_circuit_json19.route_hint_point),
|
|
746
|
+
strokeWidth: import_circuit_json19.length.optional()
|
|
723
747
|
});
|
|
724
748
|
var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
725
|
-
strokeWidth:
|
|
726
|
-
x1:
|
|
727
|
-
y1:
|
|
728
|
-
x2:
|
|
729
|
-
y2:
|
|
749
|
+
strokeWidth: import_circuit_json19.distance,
|
|
750
|
+
x1: import_circuit_json19.distance,
|
|
751
|
+
y1: import_circuit_json19.distance,
|
|
752
|
+
x2: import_circuit_json19.distance,
|
|
753
|
+
y2: import_circuit_json19.distance
|
|
730
754
|
});
|
|
731
755
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
732
756
|
isFilled: import_zod30.z.boolean().optional(),
|
|
733
757
|
isOutline: import_zod30.z.boolean().optional(),
|
|
734
|
-
strokeWidth:
|
|
735
|
-
width:
|
|
736
|
-
height:
|
|
758
|
+
strokeWidth: import_circuit_json19.distance.optional(),
|
|
759
|
+
width: import_circuit_json19.distance,
|
|
760
|
+
height: import_circuit_json19.distance
|
|
737
761
|
});
|
|
738
762
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
739
763
|
isFilled: import_zod30.z.boolean().optional(),
|
|
740
764
|
isOutline: import_zod30.z.boolean().optional(),
|
|
741
|
-
strokeWidth:
|
|
742
|
-
radius:
|
|
765
|
+
strokeWidth: import_circuit_json19.distance.optional(),
|
|
766
|
+
radius: import_circuit_json19.distance
|
|
743
767
|
});
|
|
744
768
|
var routeHintPointProps = import_zod30.z.object({
|
|
745
|
-
x:
|
|
746
|
-
y:
|
|
769
|
+
x: import_circuit_json19.distance,
|
|
770
|
+
y: import_circuit_json19.distance,
|
|
747
771
|
via: import_zod30.z.boolean().optional(),
|
|
748
|
-
toLayer:
|
|
772
|
+
toLayer: import_circuit_json19.layer_ref.optional()
|
|
749
773
|
});
|
|
750
774
|
var traceHintProps = import_zod30.z.object({
|
|
751
775
|
for: import_zod30.z.string().optional().describe(
|
|
752
776
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
753
777
|
),
|
|
754
778
|
order: import_zod30.z.number().optional(),
|
|
755
|
-
offset:
|
|
756
|
-
offsets: import_zod30.z.array(
|
|
779
|
+
offset: import_circuit_json19.route_hint_point.or(routeHintPointProps).optional(),
|
|
780
|
+
offsets: import_zod30.z.array(import_circuit_json19.route_hint_point).or(import_zod30.z.array(routeHintPointProps)).optional(),
|
|
757
781
|
traceWidth: import_zod30.z.number().optional()
|
|
758
782
|
});
|
|
759
783
|
var pcbTraceProps = import_zod30.z.object({
|
|
760
784
|
layer: import_zod30.z.string().optional(),
|
|
761
|
-
thickness:
|
|
762
|
-
route: import_zod30.z.array(
|
|
785
|
+
thickness: import_circuit_json19.distance.optional(),
|
|
786
|
+
route: import_zod30.z.array(import_circuit_json19.route_hint_point)
|
|
763
787
|
});
|
|
764
788
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
765
789
|
text: import_zod30.z.string(),
|
|
766
790
|
anchorAlignment: import_zod30.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
767
791
|
font: import_zod30.z.enum(["tscircuit2024"]).optional(),
|
|
768
|
-
fontSize:
|
|
792
|
+
fontSize: import_circuit_json19.length.optional(),
|
|
769
793
|
color: import_zod30.z.string().optional()
|
|
770
794
|
});
|
|
771
795
|
var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
772
|
-
route: import_zod30.z.array(
|
|
773
|
-
strokeWidth:
|
|
796
|
+
route: import_zod30.z.array(import_circuit_json19.route_hint_point),
|
|
797
|
+
strokeWidth: import_circuit_json19.length.optional(),
|
|
774
798
|
color: import_zod30.z.string().optional()
|
|
775
799
|
});
|
|
776
800
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -797,6 +821,8 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
|
|
|
797
821
|
componentProps,
|
|
798
822
|
constrainedLayoutProps,
|
|
799
823
|
constraintProps,
|
|
824
|
+
crystalPins,
|
|
825
|
+
crystalProps,
|
|
800
826
|
diodePins,
|
|
801
827
|
diodeProps,
|
|
802
828
|
direction,
|
|
@@ -840,6 +866,7 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
|
|
|
840
866
|
rectSolderPasteProps,
|
|
841
867
|
resistorPins,
|
|
842
868
|
resistorProps,
|
|
869
|
+
rotatedRectSmtPadProps,
|
|
843
870
|
rotationPoint3,
|
|
844
871
|
routeHintPointProps,
|
|
845
872
|
schematicBoxProps,
|