@tscircuit/footprinter 0.0.286 → 0.0.288

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
@@ -519,25 +519,25 @@ var led = (parameters) => {
519
519
 
520
520
  // src/helpers/chipArray.ts
521
521
  var chipArray = (params) => {
522
- const { padSpacing: padSpacing6, padWidth: padWidth6, padHeight: padHeight6, padPitch: padPitch6, numRows, textbottom } = params;
522
+ const { padSpacing: padSpacing7, padWidth, padHeight, padPitch, numRows, textbottom } = params;
523
523
  const yPositions = [];
524
- const halfRange = (numRows - 1) * (padPitch6 / 2);
524
+ const halfRange = (numRows - 1) * (padPitch / 2);
525
525
  for (let i = 0; i < numRows; i++) {
526
- yPositions.push(halfRange - i * padPitch6);
526
+ yPositions.push(halfRange - i * padPitch);
527
527
  }
528
528
  const pads = [];
529
529
  yPositions.forEach((y, index) => {
530
- pads.push(rectpad(index + 1, -padSpacing6 / 2, y, padWidth6, padHeight6));
530
+ pads.push(rectpad(index + 1, -padSpacing7 / 2, y, padWidth, padHeight));
531
531
  });
532
532
  yPositions.slice().reverse().forEach((y, index) => {
533
533
  pads.push(
534
- rectpad(index + numRows + 1, padSpacing6 / 2, y, padWidth6, padHeight6)
534
+ rectpad(index + numRows + 1, padSpacing7 / 2, y, padWidth, padHeight)
535
535
  );
536
536
  });
537
- const top = Math.max(...yPositions) + padHeight6 / 2 + 0.4;
538
- const bottom = Math.min(...yPositions) - padHeight6 / 2 - 0.4;
539
- const left = -padSpacing6 / 2 - padWidth6 / 2 - 0.4;
540
- const right = padSpacing6 / 2 + padWidth6 / 2 + 0.4;
537
+ const top = Math.max(...yPositions) + padHeight / 2 + 0.4;
538
+ const bottom = Math.min(...yPositions) - padHeight / 2 - 0.4;
539
+ const left = -padSpacing7 / 2 - padWidth / 2 - 0.4;
540
+ const right = padSpacing7 / 2 + padWidth / 2 + 0.4;
541
541
  const silkscreenTop = {
542
542
  type: "pcb_silkscreen_path",
543
543
  layer: "top",
@@ -560,11 +560,11 @@ var chipArray = (params) => {
560
560
  stroke_width: 0.12,
561
561
  pcb_silkscreen_path_id: "silkscreen_bottom"
562
562
  };
563
- const pin1X = -padSpacing6 / 2;
563
+ const pin1X = -padSpacing7 / 2;
564
564
  const pin1Y = Math.max(...yPositions);
565
565
  const pin1MarkerSize = 0.2;
566
- const pin1Left = pin1X - padWidth6 / 2 - 0.1;
567
- const pin1Top = pin1Y + padHeight6 / 2 + 0.1;
566
+ const pin1Left = pin1X - padWidth / 2 - 0.1;
567
+ const pin1Top = pin1Y + padHeight / 2 + 0.1;
568
568
  const pin1Marker = {
569
569
  type: "pcb_silkscreen_path",
570
570
  layer: "top",
@@ -590,11 +590,20 @@ var chipArray = (params) => {
590
590
  };
591
591
 
592
592
  // src/helpers/res0402-array2.ts
593
+ import { z as z4 } from "zod";
594
+ import mm4 from "@tscircuit/mm";
595
+ var res0402Array2_def = base_def.extend({
596
+ pw: z4.string().default("0.5mm"),
597
+ ph: z4.string().default("0.4mm"),
598
+ p: z4.string().default("0.7mm"),
599
+ textbottom: z4.boolean().optional()
600
+ });
593
601
  var padSpacing = 1;
594
- var padWidth = 0.5;
595
- var padHeight = 0.4;
596
- var padPitch = 0.7;
597
- var res0402Array2 = (params) => {
602
+ var res0402Array2 = (rawParams) => {
603
+ const params = res0402Array2_def.parse(rawParams);
604
+ const padWidth = mm4(params.pw);
605
+ const padHeight = mm4(params.ph);
606
+ const padPitch = mm4(params.p);
598
607
  return chipArray({
599
608
  padSpacing,
600
609
  padWidth,
@@ -606,69 +615,130 @@ var res0402Array2 = (params) => {
606
615
  };
607
616
 
608
617
  // src/helpers/res0402-array4.ts
618
+ import { z as z5 } from "zod";
619
+ import mm5 from "@tscircuit/mm";
620
+ var res0402Array4_def = base_def.extend({
621
+ pw: z5.string().default("0.5mm"),
622
+ ph: z5.string().default("0.32mm"),
623
+ p: z5.string().default("0.5mm"),
624
+ textbottom: z5.boolean().optional()
625
+ });
609
626
  var padSpacing2 = 1;
610
- var padWidth2 = 0.5;
611
- var padHeight2 = 0.32;
612
- var padPitch2 = 0.5;
613
- var res0402Array4 = (params) => {
627
+ var res0402Array4 = (rawParams) => {
628
+ const params = res0402Array4_def.parse(rawParams);
629
+ const padWidth = mm5(params.pw);
630
+ const padHeight = mm5(params.ph);
631
+ const padPitch = mm5(params.p);
614
632
  return chipArray({
615
633
  padSpacing: padSpacing2,
616
- padWidth: padWidth2,
617
- padHeight: padHeight2,
618
- padPitch: padPitch2,
634
+ padWidth,
635
+ padHeight,
636
+ padPitch,
619
637
  numRows: 4,
620
638
  textbottom: params.textbottom
621
639
  });
622
640
  };
623
641
 
624
642
  // src/helpers/res0603-array2.ts
643
+ import { z as z6 } from "zod";
644
+ import mm6 from "@tscircuit/mm";
645
+ var res0603Array2_def = base_def.extend({
646
+ pw: z6.string().default("0.9mm"),
647
+ ph: z6.string().default("0.4mm"),
648
+ p: z6.string().default("0.8mm"),
649
+ textbottom: z6.boolean().optional()
650
+ });
625
651
  var padSpacing3 = 1.7;
626
- var padWidth3 = 0.9;
627
- var padHeight3 = 0.4;
628
- var padPitch3 = 0.8;
629
- var res0603Array2 = (params) => {
652
+ var res0603Array2 = (rawParams) => {
653
+ const params = res0603Array2_def.parse(rawParams);
654
+ const padWidth = mm6(params.pw);
655
+ const padHeight = mm6(params.ph);
656
+ const padPitch = mm6(params.p);
630
657
  return chipArray({
631
658
  padSpacing: padSpacing3,
632
- padWidth: padWidth3,
633
- padHeight: padHeight3,
634
- padPitch: padPitch3,
659
+ padWidth,
660
+ padHeight,
661
+ padPitch,
635
662
  numRows: 2,
636
663
  textbottom: params.textbottom
637
664
  });
638
665
  };
639
666
 
640
667
  // src/helpers/res0603-array4.ts
668
+ import { z as z7 } from "zod";
669
+ import mm7 from "@tscircuit/mm";
670
+ var res0603Array4_def = base_def.extend({
671
+ pw: z7.string().default("0.9mm"),
672
+ ph: z7.string().default("0.4mm"),
673
+ p: z7.string().default("0.8mm"),
674
+ textbottom: z7.boolean().optional()
675
+ });
641
676
  var padSpacing4 = 1.7;
642
- var padWidth4 = 0.9;
643
- var padHeight4 = 0.4;
644
- var padPitch4 = 0.8;
645
- var res0603Array4 = (params) => {
677
+ var res0603Array4 = (rawParams) => {
678
+ const params = res0603Array4_def.parse(rawParams);
679
+ const padWidth = mm7(params.pw);
680
+ const padHeight = mm7(params.ph);
681
+ const padPitch = mm7(params.p);
646
682
  return chipArray({
647
683
  padSpacing: padSpacing4,
648
- padWidth: padWidth4,
649
- padHeight: padHeight4,
650
- padPitch: padPitch4,
684
+ padWidth,
685
+ padHeight,
686
+ padPitch,
651
687
  numRows: 4,
652
688
  textbottom: params.textbottom
653
689
  });
654
690
  };
655
691
 
656
692
  // src/helpers/res0606-array2.ts
693
+ import { z as z8 } from "zod";
694
+ import mm8 from "@tscircuit/mm";
695
+ var res0606Array2_def = base_def.extend({
696
+ pw: z8.string().default("0.7mm"),
697
+ ph: z8.string().default("0.64mm"),
698
+ p: z8.string().default("0.94mm"),
699
+ textbottom: z8.boolean().optional()
700
+ });
657
701
  var padSpacing5 = 1.4;
658
- var padWidth5 = 0.7;
659
- var padHeight5 = 0.64;
660
- var padPitch5 = 0.94;
661
- var res0606Array2 = (params) => {
702
+ var res0606Array2 = (rawParams) => {
703
+ const params = res0606Array2_def.parse(rawParams);
704
+ const padWidth = mm8(params.pw);
705
+ const padHeight = mm8(params.ph);
706
+ const padPitch = mm8(params.p);
662
707
  return chipArray({
663
708
  padSpacing: padSpacing5,
664
- padWidth: padWidth5,
665
- padHeight: padHeight5,
666
- padPitch: padPitch5,
709
+ padWidth,
710
+ padHeight,
711
+ padPitch,
667
712
  numRows: 2,
668
713
  textbottom: params.textbottom
669
714
  });
670
715
  };
671
716
 
717
+ // src/helpers/res1206-array4.ts
718
+ import { z as z9 } from "zod";
719
+ import mm9 from "@tscircuit/mm";
720
+ var res1206Array4_def = base_def.extend({
721
+ pw: z9.string().default("0.9mm"),
722
+ ph: z9.string().default("0.9mm"),
723
+ p: z9.string().default("1.34mm"),
724
+ textbottom: z9.boolean().optional()
725
+ });
726
+ var padSpacing6 = 3;
727
+ var res1206Array4 = (rawParams) => {
728
+ const params = res1206Array4_def.parse(rawParams);
729
+ const padWidth = mm9(params.pw);
730
+ const padHeight = mm9(params.ph);
731
+ const padPitch = mm9(params.p);
732
+ return chipArray({
733
+ padSpacing: padSpacing6,
734
+ padWidth,
735
+ padHeight,
736
+ padPitch,
737
+ numRows: 4,
738
+ textbottom: params.textbottom
739
+ });
740
+ };
741
+
672
742
  // src/fn/res.ts
673
743
  var getArrayCount = (parameters) => {
674
744
  const arrayValue = parameters.array ?? parameters.x;
@@ -726,6 +796,12 @@ var res = (rawParameters) => {
726
796
  parameters: rawParameters
727
797
  };
728
798
  }
799
+ if (arrayCount === 4 && imperialBase === "1206") {
800
+ return {
801
+ circuitJson: res1206Array4(rawParameters),
802
+ parameters: rawParameters
803
+ };
804
+ }
729
805
  return { circuitJson: passive(rawParameters), parameters: rawParameters };
730
806
  };
731
807
 
@@ -747,27 +823,27 @@ var circlepad = (pn, { x, y, radius }) => {
747
823
  var ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
748
824
 
749
825
  // src/fn/bga.ts
750
- import { z as z6 } from "zod";
826
+ import { z as z12 } from "zod";
751
827
  import { length as length2, distance as distance2 } from "circuit-json";
752
828
 
753
829
  // src/helpers/zod/dim-2d.ts
754
- import { z as z4 } from "zod";
755
- var dim2d = z4.string().transform((a) => {
830
+ import { z as z10 } from "zod";
831
+ var dim2d = z10.string().transform((a) => {
756
832
  const [x, y] = a.split(/[x ]/);
757
833
  return {
758
834
  x: parseFloat(x),
759
835
  y: parseFloat(y)
760
836
  };
761
837
  }).pipe(
762
- z4.object({
763
- x: z4.number(),
764
- y: z4.number()
838
+ z10.object({
839
+ x: z10.number(),
840
+ y: z10.number()
765
841
  })
766
842
  );
767
843
 
768
844
  // src/helpers/zod/function-call.ts
769
- import { z as z5 } from "zod";
770
- var function_call = z5.string().or(z5.array(z5.any())).transform((a) => {
845
+ import { z as z11 } from "zod";
846
+ var function_call = z11.string().or(z11.array(z11.any())).transform((a) => {
771
847
  if (Array.isArray(a)) return a;
772
848
  if (a.startsWith("(") && a.endsWith(")")) {
773
849
  a = a.slice(1, -1);
@@ -776,24 +852,24 @@ var function_call = z5.string().or(z5.array(z5.any())).transform((a) => {
776
852
  const numVal = Number(v);
777
853
  return isNaN(numVal) ? v : numVal;
778
854
  });
779
- }).pipe(z5.array(z5.string().or(z5.number())));
855
+ }).pipe(z11.array(z11.string().or(z11.number())));
780
856
 
781
857
  // src/fn/bga.ts
782
858
  import "circuit-json";
783
859
  var bga_def = base_def.extend({
784
- fn: z6.string(),
785
- num_pins: z6.number().optional().default(64),
860
+ fn: z12.string(),
861
+ num_pins: z12.number().optional().default(64),
786
862
  grid: dim2d.optional(),
787
863
  p: distance2.default("0.8mm"),
788
864
  w: length2.optional(),
789
865
  h: length2.optional(),
790
866
  ball: length2.optional().describe("ball diameter"),
791
867
  pad: length2.optional().describe("pad width/height"),
792
- circularpads: z6.boolean().optional().describe("use circular pads"),
793
- tlorigin: z6.boolean().optional(),
794
- blorigin: z6.boolean().optional(),
795
- trorigin: z6.boolean().optional(),
796
- brorigin: z6.boolean().optional(),
868
+ circularpads: z12.boolean().optional().describe("use circular pads"),
869
+ tlorigin: z12.boolean().optional(),
870
+ blorigin: z12.boolean().optional(),
871
+ trorigin: z12.boolean().optional(),
872
+ brorigin: z12.boolean().optional(),
797
873
  missing: function_call.default([])
798
874
  }).transform((a) => {
799
875
  let origin = "tl";
@@ -963,7 +1039,7 @@ var bga = (raw_params) => {
963
1039
  };
964
1040
 
965
1041
  // src/fn/soic.ts
966
- import { z as z7 } from "zod";
1042
+ import { z as z13 } from "zod";
967
1043
  import { length as length3 } from "circuit-json";
968
1044
 
969
1045
  // src/helpers/pillpad.ts
@@ -984,15 +1060,15 @@ var pillpad = (pn, x, y, w, h) => {
984
1060
 
985
1061
  // src/fn/soic.ts
986
1062
  var extendSoicDef = (newDefaults) => base_def.extend({
987
- fn: z7.string(),
988
- num_pins: z7.number().optional().default(8),
1063
+ fn: z13.string(),
1064
+ num_pins: z13.number().optional().default(8),
989
1065
  w: length3.default(length3.parse(newDefaults.w ?? "5.3mm")),
990
1066
  p: length3.default(length3.parse(newDefaults.p ?? "1.27mm")),
991
1067
  pw: length3.default(length3.parse(newDefaults.pw ?? "0.6mm")),
992
1068
  pl: length3.default(length3.parse(newDefaults.pl ?? "1.0mm")),
993
- legsoutside: z7.boolean().optional().default(newDefaults.legsoutside ?? false),
994
- pillpads: z7.boolean().optional().default(newDefaults.pillpads ?? false),
995
- silkscreen_stroke_width: z7.number().optional().default(0.1)
1069
+ legsoutside: z13.boolean().optional().default(newDefaults.legsoutside ?? false),
1070
+ pillpads: z13.boolean().optional().default(newDefaults.pillpads ?? false),
1071
+ silkscreen_stroke_width: z13.number().optional().default(0.1)
996
1072
  }).transform((v) => {
997
1073
  if (!v.pw && !v.pl) {
998
1074
  v.pw = length3.parse("0.6mm");
@@ -1076,12 +1152,12 @@ var soicWithoutParsing = (parameters) => {
1076
1152
  };
1077
1153
 
1078
1154
  // src/fn/quad.ts
1079
- import { z as z9 } from "zod";
1155
+ import { z as z15 } from "zod";
1080
1156
  import { length as length4 } from "circuit-json";
1081
1157
 
1082
1158
  // src/helpers/zod/pin-order-specifier.ts
1083
- import { z as z8 } from "zod";
1084
- var pin_order_specifier = z8.enum([
1159
+ import { z as z14 } from "zod";
1160
+ var pin_order_specifier = z14.enum([
1085
1161
  "leftside",
1086
1162
  "topside",
1087
1163
  "rightside",
@@ -1157,18 +1233,18 @@ var getQuadPinMap = ({
1157
1233
 
1158
1234
  // src/fn/quad.ts
1159
1235
  var base_quad_def = base_def.extend({
1160
- fn: z9.string(),
1161
- cc: z9.boolean().default(true).optional(),
1162
- ccw: z9.boolean().default(true).optional(),
1163
- startingpin: z9.string().or(z9.array(pin_order_specifier)).transform((a) => typeof a === "string" ? a.slice(1, -1).split(",") : a).pipe(z9.array(pin_order_specifier)).optional(),
1164
- num_pins: z9.number().optional().default(64),
1236
+ fn: z15.string(),
1237
+ cc: z15.boolean().default(true).optional(),
1238
+ ccw: z15.boolean().default(true).optional(),
1239
+ startingpin: z15.string().or(z15.array(pin_order_specifier)).transform((a) => typeof a === "string" ? a.slice(1, -1).split(",") : a).pipe(z15.array(pin_order_specifier)).optional(),
1240
+ num_pins: z15.number().optional().default(64),
1165
1241
  w: length4.optional(),
1166
1242
  h: length4.optional(),
1167
1243
  p: length4.default(length4.parse("0.5mm")),
1168
1244
  pw: length4.optional(),
1169
1245
  pl: length4.optional(),
1170
- thermalpad: z9.union([z9.literal(true), dim2d]).optional(),
1171
- legsoutside: z9.boolean().default(false)
1246
+ thermalpad: z15.union([z15.literal(true), dim2d]).optional(),
1247
+ legsoutside: z15.boolean().default(false)
1172
1248
  });
1173
1249
  var quadTransform = (v) => {
1174
1250
  if (v.w && !v.h) {
@@ -1590,17 +1666,17 @@ var sot363 = (raw_params) => {
1590
1666
  };
1591
1667
 
1592
1668
  // src/fn/sot886.ts
1593
- import { z as z10 } from "zod";
1669
+ import { z as z16 } from "zod";
1594
1670
  import { length as length5 } from "circuit-json";
1595
1671
  var sot886_def = base_def.extend({
1596
- fn: z10.string(),
1597
- num_pins: z10.literal(6).default(6),
1598
- w: z10.string().default("1.01mm"),
1599
- h: z10.string().default("1.45mm"),
1600
- p: z10.string().default("0.5mm"),
1601
- pl: z10.string().default("0.33mm"),
1602
- pw: z10.string().default("0.27mm"),
1603
- string: z10.string().optional()
1672
+ fn: z16.string(),
1673
+ num_pins: z16.literal(6).default(6),
1674
+ w: z16.string().default("1.01mm"),
1675
+ h: z16.string().default("1.45mm"),
1676
+ p: z16.string().default("0.5mm"),
1677
+ pl: z16.string().default("0.33mm"),
1678
+ pw: z16.string().default("0.27mm"),
1679
+ string: z16.string().optional()
1604
1680
  });
1605
1681
  var sot886 = (raw_params) => {
1606
1682
  const parameters = sot886_def.parse({ fn: "sot886", ...raw_params });
@@ -1671,16 +1747,16 @@ var getSot886PadCoord = (pn, w, p, pl) => {
1671
1747
  };
1672
1748
 
1673
1749
  // src/fn/sot23.ts
1674
- import { z as z11 } from "zod";
1750
+ import { z as z17 } from "zod";
1675
1751
  var sot23_def = base_def.extend({
1676
- fn: z11.string(),
1677
- num_pins: z11.number().default(3),
1678
- w: z11.string().default("1.92mm"),
1679
- h: z11.string().default("2.74mm"),
1680
- pl: z11.string().default("1.32mm"),
1681
- pw: z11.string().default("0.6mm"),
1682
- p: z11.string().default("0.95mm"),
1683
- string: z11.string().optional()
1752
+ fn: z17.string(),
1753
+ num_pins: z17.number().default(3),
1754
+ w: z17.string().default("1.92mm"),
1755
+ h: z17.string().default("2.74mm"),
1756
+ pl: z17.string().default("1.32mm"),
1757
+ pw: z17.string().default("0.6mm"),
1758
+ p: z17.string().default("0.95mm"),
1759
+ string: z17.string().optional()
1684
1760
  });
1685
1761
  var sot23_6_or_8_def = extendSoicDef({
1686
1762
  p: "0.95mm",
@@ -1970,7 +2046,7 @@ var dfn = (raw_params) => {
1970
2046
  };
1971
2047
 
1972
2048
  // src/fn/pinrow.ts
1973
- import { z as z14 } from "zod";
2049
+ import { z as z20 } from "zod";
1974
2050
  import { length as length6 } from "circuit-json";
1975
2051
 
1976
2052
  // src/helpers/silkscreenPin.ts
@@ -2058,28 +2134,28 @@ function determinePinlabelAnchorSide({
2058
2134
 
2059
2135
  // src/fn/pinrow.ts
2060
2136
  var pinrow_def = base_def.extend({
2061
- fn: z14.string(),
2062
- num_pins: z14.number().optional().default(6),
2063
- rows: z14.union([z14.string(), z14.number()]).transform((val) => Number(val)).optional().default(1).describe("number of rows"),
2137
+ fn: z20.string(),
2138
+ num_pins: z20.number().optional().default(6),
2139
+ rows: z20.union([z20.string(), z20.number()]).transform((val) => Number(val)).optional().default(1).describe("number of rows"),
2064
2140
  p: length6.default("0.1in").describe("pitch"),
2065
2141
  id: length6.default("1.0mm").describe("inner diameter"),
2066
2142
  od: length6.default("1.5mm").describe("outer diameter"),
2067
- male: z14.boolean().optional().describe("for male pin headers"),
2068
- female: z14.boolean().optional().describe("for female pin headers"),
2069
- smd: z14.boolean().optional().describe("surface mount device"),
2070
- surfacemount: z14.boolean().optional().describe("surface mount device (verbose)"),
2071
- rightangle: z14.boolean().optional().describe("right angle"),
2143
+ male: z20.boolean().optional().describe("for male pin headers"),
2144
+ female: z20.boolean().optional().describe("for female pin headers"),
2145
+ smd: z20.boolean().optional().describe("surface mount device"),
2146
+ surfacemount: z20.boolean().optional().describe("surface mount device (verbose)"),
2147
+ rightangle: z20.boolean().optional().describe("right angle"),
2072
2148
  pw: length6.optional().default("1.0mm").describe("pad width for SMD"),
2073
2149
  pl: length6.optional().default("2.0mm").describe("pad length for SMD"),
2074
- pinlabeltextalignleft: z14.boolean().optional().default(false),
2075
- pinlabeltextaligncenter: z14.boolean().optional().default(false),
2076
- pinlabeltextalignright: z14.boolean().optional().default(false),
2077
- pinlabelverticallyinverted: z14.boolean().optional().default(false),
2078
- pinlabelorthogonal: z14.boolean().optional().default(false),
2079
- nosquareplating: z14.boolean().optional().default(false).describe("do not use rectangular pad for pin 1"),
2080
- nopinlabels: z14.boolean().optional().default(false).describe("omit silkscreen pin labels"),
2081
- doublesidedpinlabel: z14.boolean().optional().default(false).describe("add silkscreen pins in top and bottom layers"),
2082
- bottomsidepinlabel: z14.boolean().optional().default(false).describe(
2150
+ pinlabeltextalignleft: z20.boolean().optional().default(false),
2151
+ pinlabeltextaligncenter: z20.boolean().optional().default(false),
2152
+ pinlabeltextalignright: z20.boolean().optional().default(false),
2153
+ pinlabelverticallyinverted: z20.boolean().optional().default(false),
2154
+ pinlabelorthogonal: z20.boolean().optional().default(false),
2155
+ nosquareplating: z20.boolean().optional().default(false).describe("do not use rectangular pad for pin 1"),
2156
+ nopinlabels: z20.boolean().optional().default(false).describe("omit silkscreen pin labels"),
2157
+ doublesidedpinlabel: z20.boolean().optional().default(false).describe("add silkscreen pins in top and bottom layers"),
2158
+ bottomsidepinlabel: z20.boolean().optional().default(false).describe(
2083
2159
  "place the silkscreen reference text on the bottom layer instead of top"
2084
2160
  )
2085
2161
  }).transform((data) => {
@@ -2095,7 +2171,7 @@ var pinrow_def = base_def.extend({
2095
2171
  }).superRefine((data, ctx) => {
2096
2172
  if (data.male && data.female) {
2097
2173
  ctx.addIssue({
2098
- code: z14.ZodIssueCode.custom,
2174
+ code: z20.ZodIssueCode.custom,
2099
2175
  message: "'male' and 'female' cannot both be true; it should be male or female.",
2100
2176
  path: ["male", "female"]
2101
2177
  });
@@ -2326,17 +2402,17 @@ var pinrow = (raw_params) => {
2326
2402
  };
2327
2403
 
2328
2404
  // src/fn/sot563.ts
2329
- import { z as z15 } from "zod";
2405
+ import { z as z21 } from "zod";
2330
2406
  import { length as length7 } from "circuit-json";
2331
2407
  var sot563_def = base_def.extend({
2332
- fn: z15.string(),
2333
- num_pins: z15.literal(6).default(6),
2334
- w: z15.string().default("2.1mm"),
2335
- h: z15.string().default("2.45mm"),
2336
- p: z15.string().default("0.5mm"),
2337
- pl: z15.string().default("0.675mm"),
2338
- pw: z15.string().default("0.35mm"),
2339
- string: z15.string().optional()
2408
+ fn: z21.string(),
2409
+ num_pins: z21.literal(6).default(6),
2410
+ w: z21.string().default("2.1mm"),
2411
+ h: z21.string().default("2.45mm"),
2412
+ p: z21.string().default("0.5mm"),
2413
+ pl: z21.string().default("0.675mm"),
2414
+ pw: z21.string().default("0.35mm"),
2415
+ string: z21.string().optional()
2340
2416
  });
2341
2417
  var sot563 = (raw_params) => {
2342
2418
  const parameters = sot563_def.parse({ ...raw_params, fn: "sot563" });
@@ -2436,15 +2512,15 @@ var ms013 = (raw_params) => {
2436
2512
 
2437
2513
  // src/fn/sot723.ts
2438
2514
  import { length as length8 } from "circuit-json";
2439
- import { z as z16 } from "zod";
2515
+ import { z as z22 } from "zod";
2440
2516
  var sot723_def = base_def.extend({
2441
- fn: z16.string(),
2442
- num_pins: z16.literal(3).default(3),
2443
- w: z16.string().default("1.2mm"),
2444
- h: z16.string().default("1.2mm"),
2445
- pw: z16.string().default("0.40mm"),
2446
- pl: z16.string().default("0.45mm"),
2447
- p: z16.string().default("0.575mm")
2517
+ fn: z22.string(),
2518
+ num_pins: z22.literal(3).default(3),
2519
+ w: z22.string().default("1.2mm"),
2520
+ h: z22.string().default("1.2mm"),
2521
+ pw: z22.string().default("0.40mm"),
2522
+ pl: z22.string().default("0.45mm"),
2523
+ p: z22.string().default("0.575mm")
2448
2524
  });
2449
2525
  var sot723 = (raw_params) => {
2450
2526
  const parameters = sot723_def.parse(raw_params);
@@ -2494,16 +2570,16 @@ var sot723WithoutParsing = (parameters) => {
2494
2570
  };
2495
2571
 
2496
2572
  // src/fn/sod123.ts
2497
- import { z as z17 } from "zod";
2573
+ import { z as z23 } from "zod";
2498
2574
  import { length as length9 } from "circuit-json";
2499
2575
  var sod_def = base_def.extend({
2500
- fn: z17.string(),
2501
- num_pins: z17.literal(2).default(2),
2502
- w: z17.string().default("2.36mm"),
2503
- h: z17.string().default("1.22mm"),
2504
- pl: z17.string().default("0.9mm"),
2505
- pw: z17.string().default("1.2mm"),
2506
- p: z17.string().default("3.30mm")
2576
+ fn: z23.string(),
2577
+ num_pins: z23.literal(2).default(2),
2578
+ w: z23.string().default("2.36mm"),
2579
+ h: z23.string().default("1.22mm"),
2580
+ pl: z23.string().default("0.9mm"),
2581
+ pw: z23.string().default("1.2mm"),
2582
+ p: z23.string().default("3.30mm")
2507
2583
  });
2508
2584
  var sod123 = (raw_params) => {
2509
2585
  const parameters = sod_def.parse(raw_params);
@@ -2551,9 +2627,9 @@ var sodWithoutParsing = (parameters) => {
2551
2627
  import {
2552
2628
  length as length10
2553
2629
  } from "circuit-json";
2554
- import { z as z18 } from "zod";
2630
+ import { z as z24 } from "zod";
2555
2631
  var axial_def = base_def.extend({
2556
- fn: z18.string(),
2632
+ fn: z24.string(),
2557
2633
  p: length10.optional().default("2.54mm"),
2558
2634
  id: length10.optional().default("0.7mm"),
2559
2635
  od: length10.optional().default("1.4mm")
@@ -2591,7 +2667,7 @@ var axial = (raw_params) => {
2591
2667
  import {
2592
2668
  length as length11
2593
2669
  } from "circuit-json";
2594
- import { z as z19 } from "zod";
2670
+ import { z as z25 } from "zod";
2595
2671
 
2596
2672
  // src/helpers/generateCircleArcs.ts
2597
2673
  var generateCircleArcs = (centerX, centerY, radius, cut, cutHeight, segmentLength = 0.1) => {
@@ -2622,13 +2698,13 @@ var generateCircleArcs = (centerX, centerY, radius, cut, cutHeight, segmentLengt
2622
2698
 
2623
2699
  // src/fn/radial.ts
2624
2700
  var radial_def = base_def.extend({
2625
- fn: z19.string(),
2701
+ fn: z25.string(),
2626
2702
  p: length11.optional().default("5mm"),
2627
2703
  id: length11.optional().default("0.8mm"),
2628
2704
  od: length11.optional().default("1.6mm"),
2629
- ceramic: z19.boolean().optional(),
2630
- electrolytic: z19.boolean().optional(),
2631
- polarized: z19.boolean().optional()
2705
+ ceramic: z25.boolean().optional(),
2706
+ electrolytic: z25.boolean().optional(),
2707
+ polarized: z25.boolean().optional()
2632
2708
  });
2633
2709
  var radial = (raw_params) => {
2634
2710
  const parameters = radial_def.parse(raw_params);
@@ -2726,7 +2802,7 @@ var radial = (raw_params) => {
2726
2802
 
2727
2803
  // src/fn/pushbutton.ts
2728
2804
  import { length as length12 } from "circuit-json";
2729
- import { z as z20 } from "zod";
2805
+ import { z as z26 } from "zod";
2730
2806
 
2731
2807
  // src/helpers/silkscreenpath.ts
2732
2808
  var silkscreenpath = (route, options = {}) => {
@@ -2742,7 +2818,7 @@ var silkscreenpath = (route, options = {}) => {
2742
2818
 
2743
2819
  // src/fn/pushbutton.ts
2744
2820
  var pushbutton_def = base_def.extend({
2745
- fn: z20.literal("pushbutton"),
2821
+ fn: z26.literal("pushbutton"),
2746
2822
  w: length12.default(4.5),
2747
2823
  h: length12.default(6.5),
2748
2824
  id: length12.default(1),
@@ -2795,9 +2871,9 @@ var pushbutton = (raw_params) => {
2795
2871
  import {
2796
2872
  length as length13
2797
2873
  } from "circuit-json";
2798
- import { z as z21 } from "zod";
2874
+ import { z as z27 } from "zod";
2799
2875
  var stampboard_def = base_def.extend({
2800
- fn: z21.string(),
2876
+ fn: z27.string(),
2801
2877
  w: length13.default("22.58mm"),
2802
2878
  h: length13.optional(),
2803
2879
  left: length13.optional().default(20),
@@ -2807,9 +2883,9 @@ var stampboard_def = base_def.extend({
2807
2883
  p: length13.default(length13.parse("2.54mm")),
2808
2884
  pw: length13.default(length13.parse("1.6mm")),
2809
2885
  pl: length13.default(length13.parse("2.4mm")),
2810
- innerhole: z21.boolean().default(false),
2886
+ innerhole: z27.boolean().default(false),
2811
2887
  innerholeedgedistance: length13.default(length13.parse("1.61mm")),
2812
- silkscreenlabels: z21.boolean().default(false),
2888
+ silkscreenlabels: z27.boolean().default(false),
2813
2889
  silkscreenlabelmargin: length13.default(length13.parse("0.1mm"))
2814
2890
  });
2815
2891
  var getHeight = (parameters) => {
@@ -3221,9 +3297,9 @@ var stampboard = (raw_params) => {
3221
3297
  import {
3222
3298
  length as length14
3223
3299
  } from "circuit-json";
3224
- import { z as z22 } from "zod";
3300
+ import { z as z28 } from "zod";
3225
3301
  var stampreceiver_def = base_def.extend({
3226
- fn: z22.string(),
3302
+ fn: z28.string(),
3227
3303
  w: length14.default("22.58mm"),
3228
3304
  h: length14.optional(),
3229
3305
  left: length14.optional().default(20),
@@ -3233,7 +3309,7 @@ var stampreceiver_def = base_def.extend({
3233
3309
  p: length14.default(length14.parse("2.54mm")),
3234
3310
  pw: length14.default(length14.parse("1.6mm")),
3235
3311
  pl: length14.default(length14.parse("3.2mm")),
3236
- innerhole: z22.boolean().default(false),
3312
+ innerhole: z28.boolean().default(false),
3237
3313
  innerholeedgedistance: length14.default(length14.parse("1.61mm"))
3238
3314
  });
3239
3315
  var getHeight2 = (parameters) => {
@@ -3537,9 +3613,9 @@ var lqfp = (parameters) => {
3537
3613
  import {
3538
3614
  length as length15
3539
3615
  } from "circuit-json";
3540
- import { z as z23 } from "zod";
3616
+ import { z as z29 } from "zod";
3541
3617
  var breakoutheaders_def = base_def.extend({
3542
- fn: z23.string(),
3618
+ fn: z29.string(),
3543
3619
  w: length15.default("10mm"),
3544
3620
  h: length15.optional(),
3545
3621
  left: length15.optional().default(20),
@@ -3742,7 +3818,7 @@ var breakoutheaders = (raw_params) => {
3742
3818
  import {
3743
3819
  length as length16
3744
3820
  } from "circuit-json";
3745
- import { z as z24 } from "zod";
3821
+ import { z as z30 } from "zod";
3746
3822
  var generate_u_curve = (centerX, centerY, radius, direction) => {
3747
3823
  return Array.from({ length: 25 }, (_, i) => {
3748
3824
  const theta = i / 24 * Math.PI - Math.PI / 2;
@@ -3753,7 +3829,7 @@ var generate_u_curve = (centerX, centerY, radius, direction) => {
3753
3829
  });
3754
3830
  };
3755
3831
  var hc49_def = base_def.extend({
3756
- fn: z24.string(),
3832
+ fn: z30.string(),
3757
3833
  p: length16.optional().default("4.88mm"),
3758
3834
  id: length16.optional().default("0.8mm"),
3759
3835
  od: length16.optional().default("1.5mm"),
@@ -3800,15 +3876,15 @@ var hc49 = (raw_params) => {
3800
3876
  // src/fn/pad.ts
3801
3877
  import "zod";
3802
3878
  import { length as length17 } from "circuit-json";
3803
- import { mm as mm5 } from "@tscircuit/mm";
3879
+ import { mm as mm11 } from "@tscircuit/mm";
3804
3880
  var pad_def = base_def.extend({
3805
3881
  w: length17,
3806
3882
  h: length17
3807
3883
  });
3808
3884
  var pad = (params) => {
3809
3885
  const { w, h } = params;
3810
- const width = mm5(w);
3811
- const height = mm5(h);
3886
+ const width = mm11(w);
3887
+ const height = mm11(h);
3812
3888
  return {
3813
3889
  circuitJson: [
3814
3890
  rectpad(1, 0, 0, width, height),
@@ -3819,11 +3895,11 @@ var pad = (params) => {
3819
3895
  };
3820
3896
 
3821
3897
  // src/fn/to92.ts
3822
- import { z as z26 } from "zod";
3898
+ import { z as z32 } from "zod";
3823
3899
  import "@tscircuit/mm";
3824
3900
 
3825
3901
  // src/helpers/platedHolePill.ts
3826
- import { mm as mm6 } from "@tscircuit/mm";
3902
+ import { mm as mm12 } from "@tscircuit/mm";
3827
3903
  var platedHolePill = (pn, x, y, holeDiameter, outerWidth, outerHeight) => {
3828
3904
  return {
3829
3905
  pcb_plated_hole_id: "",
@@ -3831,10 +3907,10 @@ var platedHolePill = (pn, x, y, holeDiameter, outerWidth, outerHeight) => {
3831
3907
  shape: "pill",
3832
3908
  x,
3833
3909
  y,
3834
- outer_width: mm6(outerWidth),
3835
- outer_height: mm6(outerHeight),
3836
- hole_width: mm6(holeDiameter),
3837
- hole_height: mm6(holeDiameter),
3910
+ outer_width: mm12(outerWidth),
3911
+ outer_height: mm12(outerHeight),
3912
+ hole_width: mm12(holeDiameter),
3913
+ hole_height: mm12(holeDiameter),
3838
3914
  pcb_port_id: "",
3839
3915
  layers: ["top", "bottom"],
3840
3916
  port_hints: [pn.toString()],
@@ -3844,15 +3920,15 @@ var platedHolePill = (pn, x, y, holeDiameter, outerWidth, outerHeight) => {
3844
3920
 
3845
3921
  // src/fn/to92.ts
3846
3922
  var to92_def = base_def.extend({
3847
- fn: z26.string(),
3848
- num_pins: z26.union([z26.literal(3), z26.literal(2)]).default(3),
3849
- p: z26.string().default("1.27mm"),
3850
- id: z26.string().default("0.72mm"),
3851
- od: z26.string().default("0.95mm"),
3852
- w: z26.string().default("4.5mm"),
3853
- h: z26.string().default("4.5mm"),
3854
- inline: z26.boolean().default(false),
3855
- string: z26.string().optional()
3923
+ fn: z32.string(),
3924
+ num_pins: z32.union([z32.literal(3), z32.literal(2)]).default(3),
3925
+ p: z32.string().default("1.27mm"),
3926
+ id: z32.string().default("0.72mm"),
3927
+ od: z32.string().default("0.95mm"),
3928
+ w: z32.string().default("4.5mm"),
3929
+ h: z32.string().default("4.5mm"),
3930
+ inline: z32.boolean().default(false),
3931
+ string: z32.string().optional()
3856
3932
  });
3857
3933
  var generateSemicircle = (centerX, centerY, radius) => {
3858
3934
  return Array.from({ length: 25 }, (_, i) => {
@@ -3872,41 +3948,41 @@ var to92 = (raw_params) => {
3872
3948
  });
3873
3949
  const { p, id, od, w, h, inline } = parameters;
3874
3950
  const holeY = Number.parseFloat(h) / 2;
3875
- const padSpacing6 = Number.parseFloat(p);
3951
+ const padSpacing7 = Number.parseFloat(p);
3876
3952
  const holeDia = Number.parseFloat(id);
3877
3953
  const padDia = Number.parseFloat(od);
3878
- const padWidth6 = padDia;
3879
- const padHeight6 = padDia * (1.5 / 1.05);
3954
+ const padWidth = padDia;
3955
+ const padHeight = padDia * (1.5 / 1.05);
3880
3956
  let platedHoles = [];
3881
3957
  if (parameters.num_pins === 3) {
3882
3958
  if (inline) {
3883
3959
  platedHoles = [
3884
3960
  platedHoleWithRectPad(
3885
3961
  1,
3886
- -padSpacing6,
3887
- holeY - padSpacing6,
3962
+ -padSpacing7,
3963
+ holeY - padSpacing7,
3888
3964
  holeDia,
3889
3965
  padDia,
3890
- padHeight6,
3966
+ padHeight,
3891
3967
  0,
3892
3968
  0
3893
3969
  ),
3894
- platedHolePill(2, 0, holeY - padSpacing6, holeDia, padWidth6, padHeight6),
3970
+ platedHolePill(2, 0, holeY - padSpacing7, holeDia, padWidth, padHeight),
3895
3971
  platedHolePill(
3896
3972
  3,
3897
- padSpacing6,
3898
- holeY - padSpacing6,
3973
+ padSpacing7,
3974
+ holeY - padSpacing7,
3899
3975
  holeDia,
3900
- padWidth6,
3901
- padHeight6
3976
+ padWidth,
3977
+ padHeight
3902
3978
  )
3903
3979
  ];
3904
3980
  } else {
3905
3981
  platedHoles = [
3906
3982
  platedHoleWithRectPad(
3907
3983
  1,
3908
- -padSpacing6,
3909
- holeY - padSpacing6,
3984
+ -padSpacing7,
3985
+ holeY - padSpacing7,
3910
3986
  holeDia,
3911
3987
  padDia,
3912
3988
  padDia,
@@ -3914,28 +3990,28 @@ var to92 = (raw_params) => {
3914
3990
  0
3915
3991
  ),
3916
3992
  platedhole(2, 0, holeY, holeDia, padDia),
3917
- platedhole(3, padSpacing6, holeY - padSpacing6, holeDia, padDia)
3993
+ platedhole(3, padSpacing7, holeY - padSpacing7, holeDia, padDia)
3918
3994
  ];
3919
3995
  }
3920
3996
  } else if (parameters.num_pins === 2) {
3921
3997
  platedHoles = [
3922
3998
  platedHoleWithRectPad(
3923
3999
  1,
3924
- -padSpacing6,
3925
- holeY - padSpacing6,
4000
+ -padSpacing7,
4001
+ holeY - padSpacing7,
3926
4002
  holeDia,
3927
- padWidth6,
3928
- padHeight6,
4003
+ padWidth,
4004
+ padHeight,
3929
4005
  0,
3930
4006
  0
3931
4007
  ),
3932
4008
  platedHolePill(
3933
4009
  2,
3934
- padSpacing6,
3935
- holeY - padSpacing6,
4010
+ padSpacing7,
4011
+ holeY - padSpacing7,
3936
4012
  holeDia,
3937
- padWidth6,
3938
- padHeight6
4013
+ padWidth,
4014
+ padHeight
3939
4015
  )
3940
4016
  ];
3941
4017
  } else {
@@ -3968,16 +4044,16 @@ var to92 = (raw_params) => {
3968
4044
  };
3969
4045
 
3970
4046
  // src/fn/sod523.ts
3971
- import { z as z27 } from "zod";
4047
+ import { z as z33 } from "zod";
3972
4048
  import { length as length18 } from "circuit-json";
3973
4049
  var sod_def2 = base_def.extend({
3974
- fn: z27.string(),
3975
- num_pins: z27.literal(2).default(2),
3976
- w: z27.string().default("2.15mm"),
3977
- h: z27.string().default("1.20mm"),
3978
- pl: z27.string().default("0.5mm"),
3979
- pw: z27.string().default("0.6mm"),
3980
- p: z27.string().default("1.4mm")
4050
+ fn: z33.string(),
4051
+ num_pins: z33.literal(2).default(2),
4052
+ w: z33.string().default("2.15mm"),
4053
+ h: z33.string().default("1.20mm"),
4054
+ pl: z33.string().default("0.5mm"),
4055
+ pw: z33.string().default("0.6mm"),
4056
+ p: z33.string().default("1.4mm")
3981
4057
  });
3982
4058
  var sod523 = (raw_params) => {
3983
4059
  const parameters = sod_def2.parse(raw_params);
@@ -4093,16 +4169,16 @@ var sop8 = (raw_params) => {
4093
4169
  };
4094
4170
 
4095
4171
  // src/fn/sod80.ts
4096
- import { z as z28 } from "zod";
4172
+ import { z as z34 } from "zod";
4097
4173
  import { length as length19 } from "circuit-json";
4098
4174
  var sod80_def = base_def.extend({
4099
- fn: z28.string(),
4100
- num_pins: z28.literal(2).default(2),
4101
- w: z28.string().default("5.0mm"),
4102
- h: z28.string().default("2.30mm"),
4103
- pl: z28.string().default("1.25mm"),
4104
- pw: z28.string().default("2mm"),
4105
- p: z28.string().default("3.75mm")
4175
+ fn: z34.string(),
4176
+ num_pins: z34.literal(2).default(2),
4177
+ w: z34.string().default("5.0mm"),
4178
+ h: z34.string().default("2.30mm"),
4179
+ pl: z34.string().default("1.25mm"),
4180
+ pw: z34.string().default("2mm"),
4181
+ p: z34.string().default("3.75mm")
4106
4182
  });
4107
4183
  var sod80 = (raw_params) => {
4108
4184
  const parameters = sod80_def.parse(raw_params);
@@ -4169,16 +4245,16 @@ var sod80WithoutParsing = (parameters) => {
4169
4245
  };
4170
4246
 
4171
4247
  // src/fn/sod123w.ts
4172
- import { z as z29 } from "zod";
4248
+ import { z as z35 } from "zod";
4173
4249
  import { length as length20 } from "circuit-json";
4174
4250
  var sod_def3 = base_def.extend({
4175
- fn: z29.string(),
4176
- num_pins: z29.literal(2).default(2),
4177
- w: z29.string().default("4.4mm"),
4178
- h: z29.string().default("2.1mm"),
4179
- pl: z29.string().default("1.2mm"),
4180
- pw: z29.string().default("1.2mm"),
4181
- p: z29.string().default("2.9mm")
4251
+ fn: z35.string(),
4252
+ num_pins: z35.literal(2).default(2),
4253
+ w: z35.string().default("4.4mm"),
4254
+ h: z35.string().default("2.1mm"),
4255
+ pl: z35.string().default("1.2mm"),
4256
+ pw: z35.string().default("1.2mm"),
4257
+ p: z35.string().default("2.9mm")
4182
4258
  });
4183
4259
  var sod123w = (raw_params) => {
4184
4260
  const parameters = sod_def3.parse(raw_params);
@@ -4248,16 +4324,16 @@ var sodWithoutParsing3 = (parameters) => {
4248
4324
  };
4249
4325
 
4250
4326
  // src/fn/sod323.ts
4251
- import { z as z30 } from "zod";
4327
+ import { z as z36 } from "zod";
4252
4328
  import { length as length21 } from "circuit-json";
4253
4329
  var sod_def4 = base_def.extend({
4254
- fn: z30.string(),
4255
- num_pins: z30.literal(2).default(2),
4256
- w: z30.string().default("3.30mm"),
4257
- h: z30.string().default("1.80mm"),
4258
- pl: z30.string().default("0.60mm"),
4259
- pw: z30.string().default("0.45mm"),
4260
- p: z30.string().default("2.1mm")
4330
+ fn: z36.string(),
4331
+ num_pins: z36.literal(2).default(2),
4332
+ w: z36.string().default("3.30mm"),
4333
+ h: z36.string().default("1.80mm"),
4334
+ pl: z36.string().default("0.60mm"),
4335
+ pw: z36.string().default("0.45mm"),
4336
+ p: z36.string().default("2.1mm")
4261
4337
  });
4262
4338
  var sod323 = (raw_params) => {
4263
4339
  const parameters = sod_def4.parse(raw_params);
@@ -4327,16 +4403,16 @@ var sodWithoutParsing4 = (parameters) => {
4327
4403
  };
4328
4404
 
4329
4405
  // src/fn/sod923.ts
4330
- import { z as z31 } from "zod";
4406
+ import { z as z37 } from "zod";
4331
4407
  import { length as length22 } from "circuit-json";
4332
4408
  var sod_def5 = base_def.extend({
4333
- fn: z31.string(),
4334
- num_pins: z31.literal(2).default(2),
4335
- w: z31.string().default("1.4mm"),
4336
- h: z31.string().default("0.9mm"),
4337
- pl: z31.string().default("0.36mm"),
4338
- pw: z31.string().default("0.25mm"),
4339
- p: z31.string().default("0.85mm")
4409
+ fn: z37.string(),
4410
+ num_pins: z37.literal(2).default(2),
4411
+ w: z37.string().default("1.4mm"),
4412
+ h: z37.string().default("0.9mm"),
4413
+ pl: z37.string().default("0.36mm"),
4414
+ pw: z37.string().default("0.25mm"),
4415
+ p: z37.string().default("0.85mm")
4340
4416
  });
4341
4417
  var sod923 = (raw_params) => {
4342
4418
  const parameters = sod_def5.parse(raw_params);
@@ -4407,16 +4483,16 @@ var sodWithoutParsing5 = (parameters) => {
4407
4483
  };
4408
4484
 
4409
4485
  // src/fn/sod882.ts
4410
- import { z as z32 } from "zod";
4486
+ import { z as z38 } from "zod";
4411
4487
  import { length as length23 } from "circuit-json";
4412
4488
  var sod_def6 = base_def.extend({
4413
- fn: z32.string(),
4414
- num_pins: z32.literal(2).default(2),
4415
- w: z32.string().default("1.3mm"),
4416
- h: z32.string().default("0.9mm"),
4417
- pl: z32.string().default("0.4mm"),
4418
- pw: z32.string().default("0.7mm"),
4419
- p: z32.string().default("0.7mm")
4489
+ fn: z38.string(),
4490
+ num_pins: z38.literal(2).default(2),
4491
+ w: z38.string().default("1.3mm"),
4492
+ h: z38.string().default("0.9mm"),
4493
+ pl: z38.string().default("0.4mm"),
4494
+ pw: z38.string().default("0.7mm"),
4495
+ p: z38.string().default("0.7mm")
4420
4496
  });
4421
4497
  var sod882 = (raw_params) => {
4422
4498
  const parameters = sod_def6.parse(raw_params);
@@ -4487,16 +4563,16 @@ var sodWithoutParsing6 = (parameters) => {
4487
4563
  };
4488
4564
 
4489
4565
  // src/fn/sod323f.ts
4490
- import { z as z33 } from "zod";
4566
+ import { z as z39 } from "zod";
4491
4567
  import { length as length24 } from "circuit-json";
4492
4568
  var sod_def7 = base_def.extend({
4493
- fn: z33.string(),
4494
- num_pins: z33.literal(2).default(2),
4495
- w: z33.string().default("3,05mm"),
4496
- h: z33.string().default("1.65mm"),
4497
- pl: z33.string().default("0.6mm"),
4498
- pw: z33.string().default("0.6mm"),
4499
- pad_spacing: z33.string().default("2.2mm")
4569
+ fn: z39.string(),
4570
+ num_pins: z39.literal(2).default(2),
4571
+ w: z39.string().default("3,05mm"),
4572
+ h: z39.string().default("1.65mm"),
4573
+ pl: z39.string().default("0.6mm"),
4574
+ pw: z39.string().default("0.6mm"),
4575
+ pad_spacing: z39.string().default("2.2mm")
4500
4576
  });
4501
4577
  var sod323f = (raw_params) => {
4502
4578
  const parameters = sod_def7.parse(raw_params);
@@ -4567,16 +4643,16 @@ var sodWithoutParsing7 = (parameters) => {
4567
4643
  };
4568
4644
 
4569
4645
  // src/fn/sod123f.ts
4570
- import { z as z34 } from "zod";
4646
+ import { z as z40 } from "zod";
4571
4647
  import { length as length25 } from "circuit-json";
4572
4648
  var sod_def8 = base_def.extend({
4573
- fn: z34.string(),
4574
- num_pins: z34.literal(2).default(2),
4575
- w: z34.string().default("4.4mm"),
4576
- h: z34.string().default("2.1mm"),
4577
- pl: z34.string().default("1.2mm"),
4578
- pw: z34.string().default("1.2mm"),
4579
- p: z34.string().default("2.9mm")
4649
+ fn: z40.string(),
4650
+ num_pins: z40.literal(2).default(2),
4651
+ w: z40.string().default("4.4mm"),
4652
+ h: z40.string().default("2.1mm"),
4653
+ pl: z40.string().default("1.2mm"),
4654
+ pw: z40.string().default("1.2mm"),
4655
+ p: z40.string().default("2.9mm")
4580
4656
  });
4581
4657
  var sod123f = (raw_params) => {
4582
4658
  const parameters = sod_def8.parse(raw_params);
@@ -4647,16 +4723,16 @@ var sodWithoutParsing8 = (parameters) => {
4647
4723
  };
4648
4724
 
4649
4725
  // src/fn/sod123fl.ts
4650
- import { z as z35 } from "zod";
4726
+ import { z as z41 } from "zod";
4651
4727
  import { length as length26 } from "circuit-json";
4652
4728
  var sod123FL_def = base_def.extend({
4653
- fn: z35.string(),
4654
- num_pins: z35.literal(2).default(2),
4655
- w: z35.string().default("4.4mm"),
4656
- h: z35.string().default("2.1mm"),
4657
- pl: z35.string().default("0.91mm"),
4658
- pw: z35.string().default("1.22mm"),
4659
- p: z35.string().default("3.146mm")
4729
+ fn: z41.string(),
4730
+ num_pins: z41.literal(2).default(2),
4731
+ w: z41.string().default("4.4mm"),
4732
+ h: z41.string().default("2.1mm"),
4733
+ pl: z41.string().default("0.91mm"),
4734
+ pw: z41.string().default("1.22mm"),
4735
+ p: z41.string().default("3.146mm")
4660
4736
  });
4661
4737
  var sod123fl = (raw_params) => {
4662
4738
  const parameters = sod123FL_def.parse(raw_params);
@@ -4727,16 +4803,16 @@ var sodWithoutParsing9 = (parameters) => {
4727
4803
  };
4728
4804
 
4729
4805
  // src/fn/sod723.ts
4730
- import { z as z36 } from "zod";
4806
+ import { z as z42 } from "zod";
4731
4807
  import { length as length27 } from "circuit-json";
4732
4808
  var sod_def9 = base_def.extend({
4733
- fn: z36.string(),
4734
- num_pins: z36.literal(2).default(2),
4735
- w: z36.string().default("1.80mm"),
4736
- h: z36.string().default("1.00mm"),
4737
- pl: z36.string().default("0.66mm"),
4738
- pw: z36.string().default("0.5mm"),
4739
- p: z36.string().default("0.8mm")
4809
+ fn: z42.string(),
4810
+ num_pins: z42.literal(2).default(2),
4811
+ w: z42.string().default("1.80mm"),
4812
+ h: z42.string().default("1.00mm"),
4813
+ pl: z42.string().default("0.66mm"),
4814
+ pw: z42.string().default("0.5mm"),
4815
+ p: z42.string().default("0.8mm")
4740
4816
  });
4741
4817
  var sod723 = (raw_params) => {
4742
4818
  const parameters = sod_def9.parse(raw_params);
@@ -4807,16 +4883,16 @@ var sodWithoutParsing10 = (parameters) => {
4807
4883
  };
4808
4884
 
4809
4885
  // src/fn/sod128.ts
4810
- import { z as z37 } from "zod";
4886
+ import { z as z43 } from "zod";
4811
4887
  import { length as length28 } from "circuit-json";
4812
4888
  var sod_def10 = base_def.extend({
4813
- fn: z37.string(),
4814
- num_pins: z37.literal(2).default(2),
4815
- w: z37.string().default("6.2mm"),
4816
- h: z37.string().default("3.4mm"),
4817
- pl: z37.string().default("1.4mm"),
4818
- pw: z37.string().default("2.1mm"),
4819
- p: z37.string().default("4.4mm")
4889
+ fn: z43.string(),
4890
+ num_pins: z43.literal(2).default(2),
4891
+ w: z43.string().default("6.2mm"),
4892
+ h: z43.string().default("3.4mm"),
4893
+ pl: z43.string().default("1.4mm"),
4894
+ pw: z43.string().default("2.1mm"),
4895
+ p: z43.string().default("4.4mm")
4820
4896
  });
4821
4897
  var sod128 = (raw_params) => {
4822
4898
  const parameters = sod_def10.parse(raw_params);
@@ -4887,29 +4963,29 @@ var sodWithoutParsing11 = (parameters) => {
4887
4963
  };
4888
4964
 
4889
4965
  // src/fn/sot89.ts
4890
- import { z as z38 } from "zod";
4966
+ import { z as z44 } from "zod";
4891
4967
  var sot89_def = base_def.extend({
4892
- fn: z38.string(),
4893
- num_pins: z38.union([z38.literal(3), z38.literal(5)]).default(3),
4894
- w: z38.string().default("4.20mm"),
4895
- h: z38.string().default("4.80mm"),
4896
- pl: z38.string().default("1.3mm"),
4897
- pw: z38.string().default("0.9mm"),
4898
- p: z38.string().default("1.5mm"),
4899
- string: z38.string().optional()
4968
+ fn: z44.string(),
4969
+ num_pins: z44.union([z44.literal(3), z44.literal(5)]).default(3),
4970
+ w: z44.string().default("4.20mm"),
4971
+ h: z44.string().default("4.80mm"),
4972
+ pl: z44.string().default("1.3mm"),
4973
+ pw: z44.string().default("0.9mm"),
4974
+ p: z44.string().default("1.5mm"),
4975
+ string: z44.string().optional()
4900
4976
  });
4901
4977
  var sot89_3 = (parameters) => {
4902
4978
  const pads = [];
4903
4979
  const padGap = Number.parseFloat(parameters.p);
4904
- const padWidth6 = Number.parseFloat(parameters.pw);
4980
+ const padWidth = Number.parseFloat(parameters.pw);
4905
4981
  const length51 = Number.parseFloat(parameters.w);
4906
- const padHeight6 = Number.parseFloat(parameters.pl);
4982
+ const padHeight = Number.parseFloat(parameters.pl);
4907
4983
  const centerExtra = 0.175;
4908
- const outerPadXShift = (padHeight6 - (padHeight6 + centerExtra)) / 2;
4984
+ const outerPadXShift = (padHeight - (padHeight + centerExtra)) / 2;
4909
4985
  pads.push(
4910
- rectpad(1, -length51 / 2 + outerPadXShift, padGap, padHeight6, padWidth6),
4911
- rectpad(2, -length51 / 2, 0, padHeight6 + centerExtra, padWidth6),
4912
- rectpad(3, -length51 / 2 + outerPadXShift, -padGap, padHeight6, padWidth6)
4986
+ rectpad(1, -length51 / 2 + outerPadXShift, padGap, padHeight, padWidth),
4987
+ rectpad(2, -length51 / 2, 0, padHeight + centerExtra, padWidth),
4988
+ rectpad(3, -length51 / 2 + outerPadXShift, -padGap, padHeight, padWidth)
4913
4989
  );
4914
4990
  const silkscreenRefText = silkscreenRef(0, 0, 0.3);
4915
4991
  const width = Number.parseFloat(parameters.w) / 2 - 1;
@@ -4948,7 +5024,7 @@ var sot89_3 = (parameters) => {
4948
5024
  var sot89_5 = (parameters) => {
4949
5025
  const pads = [];
4950
5026
  const padGap = Number.parseFloat(parameters.p);
4951
- const padWidth6 = Number.parseFloat(parameters.pw);
5027
+ const padWidth = Number.parseFloat(parameters.pw);
4952
5028
  const length51 = Number.parseFloat(parameters.w);
4953
5029
  pads.push(
4954
5030
  rectpad(1, -1.85, -1.5, 1.5, 0.7),
@@ -5019,16 +5095,16 @@ var sot89 = (raw_params) => {
5019
5095
  import {
5020
5096
  length as length29
5021
5097
  } from "circuit-json";
5022
- import { z as z39 } from "zod";
5098
+ import { z as z45 } from "zod";
5023
5099
  var to220_def = base_def.extend({
5024
- fn: z39.string(),
5100
+ fn: z45.string(),
5025
5101
  p: length29.optional().default("5.0mm"),
5026
5102
  id: length29.optional().default("1.0mm"),
5027
5103
  od: length29.optional().default("1.9mm"),
5028
5104
  w: length29.optional().default("13mm"),
5029
5105
  h: length29.optional().default("7mm"),
5030
- num_pins: z39.number().optional(),
5031
- string: z39.string().optional()
5106
+ num_pins: z45.number().optional(),
5107
+ string: z45.string().optional()
5032
5108
  });
5033
5109
  var to220 = (raw_params) => {
5034
5110
  const parameters = to220_def.parse(raw_params);
@@ -5108,16 +5184,16 @@ var to220 = (raw_params) => {
5108
5184
  };
5109
5185
 
5110
5186
  // src/fn/minimelf.ts
5111
- import { z as z40 } from "zod";
5187
+ import { z as z46 } from "zod";
5112
5188
  import { length as length30 } from "circuit-json";
5113
5189
  var minimelf_def = base_def.extend({
5114
- fn: z40.string(),
5115
- num_pins: z40.literal(2).default(2),
5116
- w: z40.string().default("5.40mm"),
5117
- h: z40.string().default("2.30mm"),
5118
- pl: z40.string().default("1.30mm"),
5119
- pw: z40.string().default("1.70mm"),
5120
- p: z40.string().default("3.5mm")
5190
+ fn: z46.string(),
5191
+ num_pins: z46.literal(2).default(2),
5192
+ w: z46.string().default("5.40mm"),
5193
+ h: z46.string().default("2.30mm"),
5194
+ pl: z46.string().default("1.30mm"),
5195
+ pw: z46.string().default("1.70mm"),
5196
+ p: z46.string().default("3.5mm")
5121
5197
  });
5122
5198
  var minimelf = (raw_params) => {
5123
5199
  const parameters = minimelf_def.parse(raw_params);
@@ -5184,16 +5260,16 @@ var miniMelfWithoutParsing = (parameters) => {
5184
5260
  };
5185
5261
 
5186
5262
  // src/fn/sod882d.ts
5187
- import { z as z41 } from "zod";
5263
+ import { z as z47 } from "zod";
5188
5264
  import { length as length31 } from "circuit-json";
5189
5265
  var sod_def11 = base_def.extend({
5190
- fn: z41.string(),
5191
- num_pins: z41.literal(2).default(2),
5192
- w: z41.string().default("1.90mm"),
5193
- h: z41.string().default("1.33mm"),
5194
- pl: z41.string().default("0.5mm"),
5195
- pw: z41.string().default("0.7mm"),
5196
- p: z41.string().default("0.8mm")
5266
+ fn: z47.string(),
5267
+ num_pins: z47.literal(2).default(2),
5268
+ w: z47.string().default("1.90mm"),
5269
+ h: z47.string().default("1.33mm"),
5270
+ pl: z47.string().default("0.5mm"),
5271
+ pw: z47.string().default("0.7mm"),
5272
+ p: z47.string().default("0.8mm")
5197
5273
  });
5198
5274
  var sod882d = (raw_params) => {
5199
5275
  const parameters = sod_def11.parse(raw_params);
@@ -5264,16 +5340,16 @@ var sodWithoutParsing12 = (parameters) => {
5264
5340
  };
5265
5341
 
5266
5342
  // src/fn/melf.ts
5267
- import { z as z42 } from "zod";
5343
+ import { z as z48 } from "zod";
5268
5344
  import { length as length32 } from "circuit-json";
5269
5345
  var melf_def = base_def.extend({
5270
- fn: z42.string(),
5271
- num_pins: z42.literal(2).default(2),
5272
- w: z42.string().default("7.0mm"),
5273
- h: z42.string().default("3.35mm"),
5274
- pl: z42.string().default("1.50mm"),
5275
- pw: z42.string().default("2.70mm"),
5276
- p: z42.string().default("4.8mm")
5346
+ fn: z48.string(),
5347
+ num_pins: z48.literal(2).default(2),
5348
+ w: z48.string().default("7.0mm"),
5349
+ h: z48.string().default("3.35mm"),
5350
+ pl: z48.string().default("1.50mm"),
5351
+ pw: z48.string().default("2.70mm"),
5352
+ p: z48.string().default("4.8mm")
5277
5353
  });
5278
5354
  var melf = (raw_params) => {
5279
5355
  const parameters = melf_def.parse(raw_params);
@@ -5344,16 +5420,16 @@ var melfWithoutParsing = (parameters) => {
5344
5420
  };
5345
5421
 
5346
5422
  // src/fn/micromelf.ts
5347
- import { z as z43 } from "zod";
5423
+ import { z as z49 } from "zod";
5348
5424
  import { length as length33 } from "circuit-json";
5349
5425
  var micromelf_def = base_def.extend({
5350
- fn: z43.string(),
5351
- num_pins: z43.literal(2).default(2),
5352
- w: z43.string().default("3.0mm"),
5353
- h: z43.string().default("1.80mm"),
5354
- pl: z43.string().default("0.80mm"),
5355
- pw: z43.string().default("1.20mm"),
5356
- p: z43.string().default("1.6mm")
5426
+ fn: z49.string(),
5427
+ num_pins: z49.literal(2).default(2),
5428
+ w: z49.string().default("3.0mm"),
5429
+ h: z49.string().default("1.80mm"),
5430
+ pl: z49.string().default("0.80mm"),
5431
+ pw: z49.string().default("1.20mm"),
5432
+ p: z49.string().default("1.6mm")
5357
5433
  });
5358
5434
  var micromelf = (raw_params) => {
5359
5435
  const parameters = micromelf_def.parse(raw_params);
@@ -5424,16 +5500,16 @@ var microMelfWithoutParsing = (parameters) => {
5424
5500
  };
5425
5501
 
5426
5502
  // src/fn/sma.ts
5427
- import { z as z44 } from "zod";
5503
+ import { z as z50 } from "zod";
5428
5504
  import { length as length34 } from "circuit-json";
5429
5505
  var sma_def = base_def.extend({
5430
- fn: z44.string(),
5431
- num_pins: z44.literal(2).default(2),
5432
- w: z44.string().default("7.10mm"),
5433
- h: z44.string().default("3.40mm"),
5434
- pl: z44.string().default("2.45mm"),
5435
- pw: z44.string().default("1.80mm"),
5436
- p: z44.string().default("4.05mm")
5506
+ fn: z50.string(),
5507
+ num_pins: z50.literal(2).default(2),
5508
+ w: z50.string().default("7.10mm"),
5509
+ h: z50.string().default("3.40mm"),
5510
+ pl: z50.string().default("2.45mm"),
5511
+ pw: z50.string().default("1.80mm"),
5512
+ p: z50.string().default("4.05mm")
5437
5513
  });
5438
5514
  var sma = (raw_params) => {
5439
5515
  const parameters = sma_def.parse(raw_params);
@@ -5503,16 +5579,16 @@ var smaWithoutParsing = (parameters) => {
5503
5579
  };
5504
5580
 
5505
5581
  // src/fn/smf.ts
5506
- import { z as z45 } from "zod";
5582
+ import { z as z51 } from "zod";
5507
5583
  import { length as length35 } from "circuit-json";
5508
5584
  var smf_def = base_def.extend({
5509
- fn: z45.string(),
5510
- num_pins: z45.literal(2).default(2),
5511
- w: z45.string().default("4.80mm"),
5512
- h: z45.string().default("2.10mm"),
5513
- pl: z45.string().default("1.30mm"),
5514
- pw: z45.string().default("1.40mm"),
5515
- p: z45.string().default("2.9mm")
5585
+ fn: z51.string(),
5586
+ num_pins: z51.literal(2).default(2),
5587
+ w: z51.string().default("4.80mm"),
5588
+ h: z51.string().default("2.10mm"),
5589
+ pl: z51.string().default("1.30mm"),
5590
+ pw: z51.string().default("1.40mm"),
5591
+ p: z51.string().default("2.9mm")
5516
5592
  });
5517
5593
  var smf = (raw_params) => {
5518
5594
  const parameters = smf_def.parse(raw_params);
@@ -5583,16 +5659,16 @@ var smfWithoutParsing = (parameters) => {
5583
5659
  };
5584
5660
 
5585
5661
  // src/fn/smb.ts
5586
- import { z as z46 } from "zod";
5662
+ import { z as z52 } from "zod";
5587
5663
  import { length as length36 } from "circuit-json";
5588
5664
  var smb_def = base_def.extend({
5589
- fn: z46.string(),
5590
- num_pins: z46.literal(2).default(2),
5591
- w: z46.string().default("7.30mm"),
5592
- h: z46.string().default("4.40mm"),
5593
- pl: z46.string().default("2.50mm"),
5594
- pw: z46.string().default("2.30mm"),
5595
- p: z46.string().default("4.30mm")
5665
+ fn: z52.string(),
5666
+ num_pins: z52.literal(2).default(2),
5667
+ w: z52.string().default("7.30mm"),
5668
+ h: z52.string().default("4.40mm"),
5669
+ pl: z52.string().default("2.50mm"),
5670
+ pw: z52.string().default("2.30mm"),
5671
+ p: z52.string().default("4.30mm")
5596
5672
  });
5597
5673
  var smb = (raw_params) => {
5598
5674
  const parameters = smb_def.parse(raw_params);
@@ -5663,16 +5739,16 @@ var smbWithoutParsing = (parameters) => {
5663
5739
  };
5664
5740
 
5665
5741
  // src/fn/smc.ts
5666
- import { z as z47 } from "zod";
5742
+ import { z as z53 } from "zod";
5667
5743
  import { length as length37 } from "circuit-json";
5668
5744
  var smc_def = base_def.extend({
5669
- fn: z47.string(),
5670
- num_pins: z47.literal(2).default(2),
5671
- w: z47.string().default("10.70mm"),
5672
- h: z47.string().default("6.60mm"),
5673
- pl: z47.string().default("3.30mm"),
5674
- pw: z47.string().default("2.50mm"),
5675
- p: z47.string().default("6.80mm")
5745
+ fn: z53.string(),
5746
+ num_pins: z53.literal(2).default(2),
5747
+ w: z53.string().default("10.70mm"),
5748
+ h: z53.string().default("6.60mm"),
5749
+ pl: z53.string().default("3.30mm"),
5750
+ pw: z53.string().default("2.50mm"),
5751
+ p: z53.string().default("6.80mm")
5676
5752
  });
5677
5753
  var smc = (raw_params) => {
5678
5754
  const parameters = smc_def.parse(raw_params);
@@ -5738,16 +5814,16 @@ var smcWithoutParsing = (parameters) => {
5738
5814
  };
5739
5815
 
5740
5816
  // src/fn/sot223.ts
5741
- import { z as z48 } from "zod";
5817
+ import { z as z54 } from "zod";
5742
5818
  var sot223_def = base_def.extend({
5743
- fn: z48.string(),
5744
- num_pins: z48.number().default(4),
5745
- w: z48.string().default("8.50mm"),
5746
- h: z48.string().default("6.90mm"),
5747
- pl: z48.string().default("2mm"),
5748
- pw: z48.string().default("1.5mm"),
5749
- p: z48.string().default("2.30mm"),
5750
- string: z48.string().optional()
5819
+ fn: z54.string(),
5820
+ num_pins: z54.number().default(4),
5821
+ w: z54.string().default("8.50mm"),
5822
+ h: z54.string().default("6.90mm"),
5823
+ pl: z54.string().default("2mm"),
5824
+ pw: z54.string().default("1.5mm"),
5825
+ p: z54.string().default("2.30mm"),
5826
+ string: z54.string().optional()
5751
5827
  });
5752
5828
  var sot223 = (raw_params) => {
5753
5829
  const match = raw_params.string?.match(/^sot223_(\d+)/);
@@ -5993,16 +6069,16 @@ var sot223_6 = (parameters) => {
5993
6069
  };
5994
6070
 
5995
6071
  // src/fn/sot23w.ts
5996
- import { z as z49 } from "zod";
6072
+ import { z as z55 } from "zod";
5997
6073
  var sot23w_def = base_def.extend({
5998
- fn: z49.string(),
5999
- num_pins: z49.number().default(3),
6000
- w: z49.string().default("3.40mm"),
6001
- h: z49.string().default("3.30mm"),
6002
- pl: z49.string().default("1mm"),
6003
- pw: z49.string().default("0.7mm"),
6004
- p: z49.string().default("1.2mm"),
6005
- string: z49.string().optional()
6074
+ fn: z55.string(),
6075
+ num_pins: z55.number().default(3),
6076
+ w: z55.string().default("3.40mm"),
6077
+ h: z55.string().default("3.30mm"),
6078
+ pl: z55.string().default("1mm"),
6079
+ pw: z55.string().default("0.7mm"),
6080
+ p: z55.string().default("1.2mm"),
6081
+ string: z55.string().optional()
6006
6082
  });
6007
6083
  var sot23w = (raw_params) => {
6008
6084
  const match = raw_params.string?.match(/^sot23w_(\d+)/);
@@ -6090,34 +6166,34 @@ var sot23w_3 = (parameters) => {
6090
6166
  };
6091
6167
 
6092
6168
  // src/fn/to92s.ts
6093
- import { z as z50 } from "zod";
6169
+ import { z as z56 } from "zod";
6094
6170
  var to92s_def = base_def.extend({
6095
- fn: z50.string(),
6096
- num_pins: z50.union([z50.literal(3), z50.literal(2)]).default(3),
6097
- p: z50.string().default("1.27mm"),
6098
- id: z50.string().default("0.72mm"),
6099
- od: z50.string().default("0.95mm"),
6100
- w: z50.string().default("2.5mm"),
6101
- h: z50.string().default("4.2mm"),
6102
- string: z50.string().optional()
6171
+ fn: z56.string(),
6172
+ num_pins: z56.union([z56.literal(3), z56.literal(2)]).default(3),
6173
+ p: z56.string().default("1.27mm"),
6174
+ id: z56.string().default("0.72mm"),
6175
+ od: z56.string().default("0.95mm"),
6176
+ w: z56.string().default("2.5mm"),
6177
+ h: z56.string().default("4.2mm"),
6178
+ string: z56.string().optional()
6103
6179
  });
6104
6180
  var to92s_3 = (parameters) => {
6105
6181
  const { p, id, od, w, h } = parameters;
6106
6182
  const holeY = Number.parseFloat(h) / 2;
6107
- const padSpacing6 = Number.parseFloat(p);
6183
+ const padSpacing7 = Number.parseFloat(p);
6108
6184
  return [
6109
- platedhole(1, -padSpacing6, holeY - padSpacing6, id, od),
6110
- platedhole(2, 0, holeY - padSpacing6, id, od),
6111
- platedhole(3, padSpacing6, holeY - padSpacing6, id, od)
6185
+ platedhole(1, -padSpacing7, holeY - padSpacing7, id, od),
6186
+ platedhole(2, 0, holeY - padSpacing7, id, od),
6187
+ platedhole(3, padSpacing7, holeY - padSpacing7, id, od)
6112
6188
  ];
6113
6189
  };
6114
6190
  var to92s_2 = (parameters) => {
6115
6191
  const { p, id, od, h } = parameters;
6116
6192
  const holeY = Number.parseFloat(h) / 2;
6117
- const padSpacing6 = Number.parseFloat(p);
6193
+ const padSpacing7 = Number.parseFloat(p);
6118
6194
  return [
6119
- platedhole(1, -padSpacing6, holeY - padSpacing6, id, od),
6120
- platedhole(2, padSpacing6, holeY - padSpacing6, id, od)
6195
+ platedhole(1, -padSpacing7, holeY - padSpacing7, id, od),
6196
+ platedhole(2, padSpacing7, holeY - padSpacing7, id, od)
6121
6197
  ];
6122
6198
  };
6123
6199
  var to92s = (raw_params) => {
@@ -6136,19 +6212,19 @@ var to92s = (raw_params) => {
6136
6212
  throw new Error("Invalid number of pins for TO-92");
6137
6213
  }
6138
6214
  const holeY = Number.parseFloat(parameters.h) / 2;
6139
- const padSpacing6 = Number.parseFloat(parameters.p);
6215
+ const padSpacing7 = Number.parseFloat(parameters.p);
6140
6216
  const silkscreenBody = {
6141
6217
  type: "pcb_silkscreen_path",
6142
6218
  layer: "top",
6143
6219
  pcb_component_id: "",
6144
6220
  route: [
6145
- { x: -holeY, y: holeY - padSpacing6 },
6221
+ { x: -holeY, y: holeY - padSpacing7 },
6146
6222
  { x: -1.9, y: 0 },
6147
6223
  { x: 1.9, y: 0 },
6148
- { x: holeY, y: holeY - padSpacing6 },
6224
+ { x: holeY, y: holeY - padSpacing7 },
6149
6225
  { x: 1.5, y: Number.parseFloat(parameters.h) / 2 + 0.5 },
6150
6226
  { x: -1.5, y: Number.parseFloat(parameters.h) / 2 + 0.5 },
6151
- { x: -holeY, y: holeY - padSpacing6 }
6227
+ { x: -holeY, y: holeY - padSpacing7 }
6152
6228
  ],
6153
6229
  stroke_width: 0.1,
6154
6230
  pcb_silkscreen_path_id: ""
@@ -6168,16 +6244,16 @@ var to92s = (raw_params) => {
6168
6244
  import {
6169
6245
  length as length38
6170
6246
  } from "circuit-json";
6171
- import { z as z51 } from "zod";
6247
+ import { z as z57 } from "zod";
6172
6248
  var jst_def = base_def.extend({
6173
- fn: z51.string(),
6249
+ fn: z57.string(),
6174
6250
  p: length38.optional(),
6175
6251
  id: length38.optional(),
6176
6252
  pw: length38.optional(),
6177
6253
  pl: length38.optional(),
6178
6254
  w: length38.optional(),
6179
6255
  h: length38.optional(),
6180
- sh: z51.union([z51.boolean(), z51.string(), z51.number()]).optional().transform((v) => {
6256
+ sh: z57.union([z57.boolean(), z57.string(), z57.number()]).optional().transform((v) => {
6181
6257
  if (typeof v === "string") {
6182
6258
  const n = Number(v);
6183
6259
  return Number.isNaN(n) ? true : n;
@@ -6186,10 +6262,10 @@ var jst_def = base_def.extend({
6186
6262
  }).describe(
6187
6263
  'JST SH (Surface-mount) connector family. SH stands for "Super High-density".'
6188
6264
  ),
6189
- ph: z51.boolean().optional().describe(
6265
+ ph: z57.boolean().optional().describe(
6190
6266
  'JST PH (Through-hole) connector family. PH stands for "Pin Header".'
6191
6267
  ),
6192
- string: z51.string().optional()
6268
+ string: z57.string().optional()
6193
6269
  });
6194
6270
  var variantDefaults = {
6195
6271
  ph: {
@@ -6304,16 +6380,16 @@ var jst = (raw_params) => {
6304
6380
  };
6305
6381
 
6306
6382
  // src/fn/sod110.ts
6307
- import { z as z52 } from "zod";
6383
+ import { z as z58 } from "zod";
6308
6384
  import { length as length39 } from "circuit-json";
6309
6385
  var sod_def12 = base_def.extend({
6310
- fn: z52.string(),
6311
- num_pins: z52.literal(2).default(2),
6312
- w: z52.string().default("3.30mm"),
6313
- h: z52.string().default("1.70mm"),
6314
- pl: z52.string().default("0.80mm"),
6315
- pw: z52.string().default("1mm"),
6316
- p: z52.string().default("1.90mm")
6386
+ fn: z58.string(),
6387
+ num_pins: z58.literal(2).default(2),
6388
+ w: z58.string().default("3.30mm"),
6389
+ h: z58.string().default("1.70mm"),
6390
+ pl: z58.string().default("0.80mm"),
6391
+ pw: z58.string().default("1mm"),
6392
+ p: z58.string().default("1.90mm")
6317
6393
  });
6318
6394
  var sod110 = (raw_params) => {
6319
6395
  const parameters = sod_def12.parse(raw_params);
@@ -6383,7 +6459,7 @@ var sodWithoutParsing13 = (parameters) => {
6383
6459
  };
6384
6460
 
6385
6461
  // src/fn/vssop.ts
6386
- import { z as z53 } from "zod";
6462
+ import { z as z59 } from "zod";
6387
6463
  import { length as length40 } from "circuit-json";
6388
6464
  var getDefaultValues = (num_pins) => {
6389
6465
  switch (num_pins) {
@@ -6414,14 +6490,14 @@ var getDefaultValues = (num_pins) => {
6414
6490
  }
6415
6491
  };
6416
6492
  var vssop_def = base_def.extend({
6417
- fn: z53.string(),
6418
- num_pins: z53.union([z53.literal(8), z53.literal(10)]).default(8),
6419
- w: z53.string().optional(),
6420
- h: z53.string().optional(),
6421
- p: z53.string().optional(),
6422
- pl: z53.string().optional(),
6423
- pw: z53.string().optional(),
6424
- string: z53.string().optional()
6493
+ fn: z59.string(),
6494
+ num_pins: z59.union([z59.literal(8), z59.literal(10)]).default(8),
6495
+ w: z59.string().optional(),
6496
+ h: z59.string().optional(),
6497
+ p: z59.string().optional(),
6498
+ pl: z59.string().optional(),
6499
+ pw: z59.string().optional(),
6500
+ string: z59.string().optional()
6425
6501
  });
6426
6502
  var vssop = (raw_params) => {
6427
6503
  const parameters = vssop_def.parse(raw_params);
@@ -6513,7 +6589,7 @@ var getVssopPadCoord = (pinCount, pn, w, p) => {
6513
6589
  };
6514
6590
 
6515
6591
  // src/fn/msop.ts
6516
- import { z as z54 } from "zod";
6592
+ import { z as z60 } from "zod";
6517
6593
  import { length as length41 } from "circuit-json";
6518
6594
  var getDefaultValues2 = (num_pins) => {
6519
6595
  switch (num_pins) {
@@ -6552,14 +6628,14 @@ var getDefaultValues2 = (num_pins) => {
6552
6628
  }
6553
6629
  };
6554
6630
  var msop_def = base_def.extend({
6555
- fn: z54.string(),
6556
- num_pins: z54.union([z54.literal(8), z54.literal(10), z54.literal(12), z54.literal(16)]).default(8),
6557
- w: z54.string().optional(),
6558
- h: z54.string().optional(),
6559
- p: z54.string().optional(),
6560
- pl: z54.string().optional(),
6561
- pw: z54.string().optional(),
6562
- string: z54.string().optional()
6631
+ fn: z60.string(),
6632
+ num_pins: z60.union([z60.literal(8), z60.literal(10), z60.literal(12), z60.literal(16)]).default(8),
6633
+ w: z60.string().optional(),
6634
+ h: z60.string().optional(),
6635
+ p: z60.string().optional(),
6636
+ pl: z60.string().optional(),
6637
+ pw: z60.string().optional(),
6638
+ string: z60.string().optional()
6563
6639
  });
6564
6640
  var getMsopCoords = (pinCount, pn, w, p) => {
6565
6641
  const half = pinCount / 2;
@@ -6649,16 +6725,16 @@ var msop = (raw_params) => {
6649
6725
  };
6650
6726
 
6651
6727
  // src/fn/sod323w.ts
6652
- import { z as z55 } from "zod";
6728
+ import { z as z61 } from "zod";
6653
6729
  import { length as length42 } from "circuit-json";
6654
6730
  var sod323w_def = base_def.extend({
6655
- fn: z55.string(),
6656
- num_pins: z55.literal(2).default(2),
6657
- w: z55.string().default("3.8mm"),
6658
- h: z55.string().default("1.65mm"),
6659
- pl: z55.string().default("1.2mm"),
6660
- pw: z55.string().default("1.2mm"),
6661
- pad_spacing: z55.string().default("2.6mm")
6731
+ fn: z61.string(),
6732
+ num_pins: z61.literal(2).default(2),
6733
+ w: z61.string().default("3.8mm"),
6734
+ h: z61.string().default("1.65mm"),
6735
+ pl: z61.string().default("1.2mm"),
6736
+ pw: z61.string().default("1.2mm"),
6737
+ pad_spacing: z61.string().default("2.6mm")
6662
6738
  });
6663
6739
  var sod323w = (raw_params) => {
6664
6740
  const parameters = sod323w_def.parse(raw_params);
@@ -6729,16 +6805,16 @@ var sodWithoutParsing14 = (parameters) => {
6729
6805
  };
6730
6806
 
6731
6807
  // src/fn/sod323fl.ts
6732
- import { z as z56 } from "zod";
6808
+ import { z as z62 } from "zod";
6733
6809
  import { length as length43 } from "circuit-json";
6734
6810
  var sod323FL_def = base_def.extend({
6735
- fn: z56.string(),
6736
- num_pins: z56.literal(2).default(2),
6737
- w: z56.string().default("3.20mm"),
6738
- h: z56.string().default("1.65mm"),
6739
- pl: z56.string().default("0.8mm"),
6740
- pw: z56.string().default("0.9mm"),
6741
- pad_spacing: z56.string().default("2.1mm")
6811
+ fn: z62.string(),
6812
+ num_pins: z62.literal(2).default(2),
6813
+ w: z62.string().default("3.20mm"),
6814
+ h: z62.string().default("1.65mm"),
6815
+ pl: z62.string().default("0.8mm"),
6816
+ pw: z62.string().default("0.9mm"),
6817
+ pad_spacing: z62.string().default("2.1mm")
6742
6818
  });
6743
6819
  var sod323fl = (raw_params) => {
6744
6820
  const parameters = sod323FL_def.parse(raw_params);
@@ -6809,20 +6885,20 @@ var sodWithoutParsing15 = (parameters) => {
6809
6885
  };
6810
6886
 
6811
6887
  // src/fn/son.ts
6812
- import { z as z57 } from "zod";
6888
+ import { z as z63 } from "zod";
6813
6889
  import { length as length44 } from "circuit-json";
6814
6890
  var son_def = base_def.extend({
6815
- fn: z57.string(),
6816
- num_pins: z57.union([z57.literal(6), z57.literal(8)]).default(8),
6817
- w: z57.string().default("3mm"),
6818
- h: z57.string().default("3mm"),
6819
- p: z57.string().default("0.5mm"),
6820
- pl: z57.string().default("0.52mm"),
6821
- pw: z57.string().default("0.35mm"),
6822
- epw: z57.string().default("1.40mm"),
6823
- eph: z57.string().default("1.60mm"),
6824
- string: z57.string().optional(),
6825
- ep: z57.boolean().default(false)
6891
+ fn: z63.string(),
6892
+ num_pins: z63.union([z63.literal(6), z63.literal(8)]).default(8),
6893
+ w: z63.string().default("3mm"),
6894
+ h: z63.string().default("3mm"),
6895
+ p: z63.string().default("0.5mm"),
6896
+ pl: z63.string().default("0.52mm"),
6897
+ pw: z63.string().default("0.35mm"),
6898
+ epw: z63.string().default("1.40mm"),
6899
+ eph: z63.string().default("1.60mm"),
6900
+ string: z63.string().optional(),
6901
+ ep: z63.boolean().default(false)
6826
6902
  });
6827
6903
  var son = (raw_params) => {
6828
6904
  if (raw_params.string && raw_params.string.includes("_ep")) {
@@ -6927,13 +7003,13 @@ var getSonPadCoord = (num_pins, pn, w, p) => {
6927
7003
  import { length as length45 } from "circuit-json";
6928
7004
  var solderjumper = (params) => {
6929
7005
  const { num_pins, bridged, p = 2.54, pw = 1.5, ph = 1.5 } = params;
6930
- const padSpacing6 = length45.parse(p);
6931
- const padWidth6 = length45.parse(pw);
6932
- const padHeight6 = length45.parse(ph);
6933
- const traceWidth = Math.min(padHeight6 / 4, 0.5);
7006
+ const padSpacing7 = length45.parse(p);
7007
+ const padWidth = length45.parse(pw);
7008
+ const padHeight = length45.parse(ph);
7009
+ const traceWidth = Math.min(padHeight / 4, 0.5);
6934
7010
  const pads = [];
6935
7011
  for (let i = 0; i < num_pins; i++) {
6936
- pads.push(rectpad(i + 1, i * padSpacing6, 0, padWidth6, padHeight6));
7012
+ pads.push(rectpad(i + 1, i * padSpacing7, 0, padWidth, padHeight));
6937
7013
  }
6938
7014
  let traces = [];
6939
7015
  if (bridged) {
@@ -6943,11 +7019,11 @@ var solderjumper = (params) => {
6943
7019
  const from = pins[i];
6944
7020
  const to = pins[i + 1];
6945
7021
  if (typeof from === "number" && typeof to === "number" && !isNaN(from) && !isNaN(to)) {
6946
- const xCenterFrom = (from - 1) * padSpacing6;
6947
- const xCenterTo = (to - 1) * padSpacing6;
7022
+ const xCenterFrom = (from - 1) * padSpacing7;
7023
+ const xCenterTo = (to - 1) * padSpacing7;
6948
7024
  const directionMult = Math.sign(xCenterTo - xCenterFrom);
6949
- const x1 = xCenterFrom + directionMult * (padWidth6 / 2);
6950
- const x2 = xCenterTo - directionMult * (padWidth6 / 2);
7025
+ const x1 = xCenterFrom + directionMult * (padWidth / 2);
7026
+ const x2 = xCenterTo - directionMult * (padWidth / 2);
6951
7027
  traces.push({
6952
7028
  type: "pcb_trace",
6953
7029
  pcb_trace_id: "",
@@ -6974,9 +7050,9 @@ var solderjumper = (params) => {
6974
7050
  }
6975
7051
  }
6976
7052
  }
6977
- const outlineWidth = (num_pins - 1) * padSpacing6 + padWidth6 + 0.7;
6978
- const outlineHeight = padHeight6 + 1;
6979
- const outlineCenterX = (num_pins - 1) * padSpacing6 / 2;
7053
+ const outlineWidth = (num_pins - 1) * padSpacing7 + padWidth + 0.7;
7054
+ const outlineHeight = padHeight + 1;
7055
+ const outlineCenterX = (num_pins - 1) * padSpacing7 / 2;
6980
7056
  const outlineCenterY = 0;
6981
7057
  const silkscreenRect = {
6982
7058
  type: "pcb_silkscreen_path",
@@ -7017,34 +7093,34 @@ var solderjumper = (params) => {
7017
7093
  };
7018
7094
 
7019
7095
  // src/fn/sot457.ts
7020
- import { z as z58 } from "zod";
7096
+ import { z as z64 } from "zod";
7021
7097
  var commonSchema = {
7022
- fn: z58.literal("sot457"),
7023
- num_pins: z58.literal(6).default(6),
7024
- pillh: z58.string().default("0.45mm"),
7025
- pillw: z58.string().default("1.45mm"),
7026
- pl: z58.string(),
7027
- pw: z58.string(),
7028
- p: z58.string(),
7029
- wave: z58.boolean().optional(),
7030
- reflow: z58.boolean().optional()
7098
+ fn: z64.literal("sot457"),
7099
+ num_pins: z64.literal(6).default(6),
7100
+ pillh: z64.string().default("0.45mm"),
7101
+ pillw: z64.string().default("1.45mm"),
7102
+ pl: z64.string(),
7103
+ pw: z64.string(),
7104
+ p: z64.string(),
7105
+ wave: z64.boolean().optional(),
7106
+ reflow: z64.boolean().optional()
7031
7107
  };
7032
7108
  var sot457DefSchema = base_def.extend({
7033
7109
  ...commonSchema,
7034
- h: z58.string().default("2.5mm"),
7035
- w: z58.string().default("2.7mm"),
7036
- pl: z58.string().default("0.8mm"),
7037
- pw: z58.string().default("0.55mm"),
7038
- p: z58.string().default("0.95mm")
7110
+ h: z64.string().default("2.5mm"),
7111
+ w: z64.string().default("2.7mm"),
7112
+ pl: z64.string().default("0.8mm"),
7113
+ pw: z64.string().default("0.55mm"),
7114
+ p: z64.string().default("0.95mm")
7039
7115
  });
7040
7116
  var sot457WaveSchema = base_def.extend({
7041
7117
  ...commonSchema,
7042
- h: z58.string().default("3mm"),
7043
- w: z58.string().default("4mm"),
7044
- pillr: z58.string().default("0.225mm"),
7045
- pl: z58.string().default("1.45mm"),
7046
- pw: z58.string().default("1.5mm"),
7047
- p: z58.string().default("1.475mm")
7118
+ h: z64.string().default("3mm"),
7119
+ w: z64.string().default("4mm"),
7120
+ pillr: z64.string().default("0.225mm"),
7121
+ pl: z64.string().default("1.45mm"),
7122
+ pw: z64.string().default("1.5mm"),
7123
+ p: z64.string().default("1.475mm")
7048
7124
  }).transform((data) => ({
7049
7125
  ...data,
7050
7126
  wave: data.wave ?? (data.reflow === void 0 ? true : !data.reflow),
@@ -7077,40 +7153,40 @@ var generateSot457Elements = (params) => {
7077
7153
  const pads = [];
7078
7154
  const pitch = parseDimension(params.p);
7079
7155
  const padLength = parseDimension(params.pl);
7080
- const padWidth6 = parseDimension(params.pw);
7156
+ const padWidth = parseDimension(params.pw);
7081
7157
  const width = parseDimension(params.w);
7082
7158
  const height = parseDimension(params.h);
7083
7159
  if (params.wave) {
7084
7160
  const pinConfigs = {
7085
- 1: ({ padWidth: padWidth7, padHeight: padHeight6 }) => rectpad(1, -pitch, pitch, padHeight6, padWidth7),
7086
- 2: ({ padWidth: padWidth7, padHeight: padHeight6 }) => rectpad(2, -pitch, -pitch, padHeight6, padWidth7),
7087
- 3: ({ padWidth: padWidth7, padHeight: padHeight6 }) => pillpad(
7161
+ 1: ({ padWidth: padWidth2, padHeight }) => rectpad(1, -pitch, pitch, padHeight, padWidth2),
7162
+ 2: ({ padWidth: padWidth2, padHeight }) => rectpad(2, -pitch, -pitch, padHeight, padWidth2),
7163
+ 3: ({ padWidth: padWidth2, padHeight }) => pillpad(
7088
7164
  3,
7089
7165
  -pitch,
7090
7166
  0,
7091
7167
  parseDimension(params.pillw),
7092
7168
  parseDimension(params.pillh)
7093
7169
  ),
7094
- 4: ({ padWidth: padWidth7, padHeight: padHeight6 }) => pillpad(
7170
+ 4: ({ padWidth: padWidth2, padHeight }) => pillpad(
7095
7171
  4,
7096
7172
  pitch,
7097
7173
  0,
7098
7174
  parseDimension(params.pillw),
7099
7175
  parseDimension(params.pillh)
7100
7176
  ),
7101
- 5: ({ padWidth: padWidth7, padHeight: padHeight6 }) => rectpad(5, pitch, pitch, padHeight6, padWidth7),
7102
- 6: ({ padWidth: padWidth7, padHeight: padHeight6 }) => rectpad(6, pitch, -pitch, padHeight6, padWidth7)
7177
+ 5: ({ padWidth: padWidth2, padHeight }) => rectpad(5, pitch, pitch, padHeight, padWidth2),
7178
+ 6: ({ padWidth: padWidth2, padHeight }) => rectpad(6, pitch, -pitch, padHeight, padWidth2)
7103
7179
  };
7104
7180
  for (let i = 1; i <= params.num_pins; i++) {
7105
7181
  const config = pinConfigs[i];
7106
7182
  if (config) {
7107
- pads.push(config({ padWidth: padLength, padHeight: padWidth6 }));
7183
+ pads.push(config({ padWidth: padLength, padHeight: padWidth }));
7108
7184
  }
7109
7185
  }
7110
7186
  } else {
7111
7187
  for (let i = 1; i <= params.num_pins; i++) {
7112
7188
  const { x, y } = getCcwSot457Coords({ pitch, width, pinNumber: i });
7113
- pads.push(rectpad(i, x, y, padLength, padWidth6));
7189
+ pads.push(rectpad(i, x, y, padLength, padWidth));
7114
7190
  }
7115
7191
  }
7116
7192
  const silkscreenPath1 = {
@@ -7139,7 +7215,7 @@ var generateSot457Elements = (params) => {
7139
7215
  const pin1Position = getCcwSot457Coords({ pitch, width, pinNumber: 1 });
7140
7216
  const triangleHeight = params.wave ? 1 : 0.5;
7141
7217
  const triangleWidth = params.wave ? 0.7 : 0.3;
7142
- pin1Position.x -= params.wave ? padWidth6 : padWidth6 * 1.7;
7218
+ pin1Position.x -= params.wave ? padWidth : padWidth * 1.7;
7143
7219
  const pin1Indicator = {
7144
7220
  type: "pcb_silkscreen_path",
7145
7221
  layer: "top",
@@ -7183,17 +7259,17 @@ var sot457 = (rawParams) => {
7183
7259
  };
7184
7260
 
7185
7261
  // src/fn/sot963.ts
7186
- import { z as z59 } from "zod";
7262
+ import { z as z65 } from "zod";
7187
7263
  import { length as length46 } from "circuit-json";
7188
7264
  var sot963_def = base_def.extend({
7189
- fn: z59.string(),
7190
- num_pins: z59.literal(6).default(6),
7191
- w: z59.string().default("1.1mm"),
7192
- h: z59.string().default("1.45mm"),
7193
- p: z59.string().default("0.35mm"),
7194
- pl: z59.string().default("0.2mm"),
7195
- pw: z59.string().default("0.2mm"),
7196
- string: z59.string().optional()
7265
+ fn: z65.string(),
7266
+ num_pins: z65.literal(6).default(6),
7267
+ w: z65.string().default("1.1mm"),
7268
+ h: z65.string().default("1.45mm"),
7269
+ p: z65.string().default("0.35mm"),
7270
+ pl: z65.string().default("0.2mm"),
7271
+ pw: z65.string().default("0.2mm"),
7272
+ string: z65.string().optional()
7197
7273
  });
7198
7274
  var sot963 = (raw_params) => {
7199
7275
  const parameters = sot963_def.parse({ ...raw_params, fn: "sot963" });
@@ -7264,19 +7340,19 @@ var getSot963PadCoord = (pn, w, p, pl) => {
7264
7340
  };
7265
7341
 
7266
7342
  // src/fn/potentiometer.ts
7267
- import { z as z60 } from "zod";
7343
+ import { z as z66 } from "zod";
7268
7344
  var potentiometer_def = base_def.extend({
7269
- fn: z60.string(),
7270
- num_pins: z60.union([z60.literal(3), z60.literal(2)]).default(3),
7271
- p: z60.string().default("3.8mm"),
7272
- id: z60.string().default("1.25mm"),
7273
- od: z60.string().default("2.35mm"),
7274
- ca: z60.string().default("14mm").describe(
7345
+ fn: z66.string(),
7346
+ num_pins: z66.union([z66.literal(3), z66.literal(2)]).default(3),
7347
+ p: z66.string().default("3.8mm"),
7348
+ id: z66.string().default("1.25mm"),
7349
+ od: z66.string().default("2.35mm"),
7350
+ ca: z66.string().default("14mm").describe(
7275
7351
  "Caliper axis (width or diameter of the potentiometer body or adjustment knob)"
7276
7352
  ),
7277
- w: z60.string().default("5.35mm"),
7278
- h: z60.string().default("4mm"),
7279
- string: z60.string().optional()
7353
+ w: z66.string().default("5.35mm"),
7354
+ h: z66.string().default("4mm"),
7355
+ string: z66.string().optional()
7280
7356
  });
7281
7357
  var potentiometer_acp = (parameters) => {
7282
7358
  const { p, id, od, h, ca } = parameters;
@@ -7345,9 +7421,9 @@ var potentiometer = (raw_params) => {
7345
7421
  import {
7346
7422
  length as length47
7347
7423
  } from "circuit-json";
7348
- import { z as z61 } from "zod";
7424
+ import { z as z67 } from "zod";
7349
7425
  var electrolytic_def = base_def.extend({
7350
- fn: z61.string(),
7426
+ fn: z67.string(),
7351
7427
  p: length47.optional().default("7.5mm"),
7352
7428
  id: length47.optional().default("1mm"),
7353
7429
  od: length47.optional().default("2mm"),
@@ -7458,16 +7534,16 @@ var electrolytic = (raw_params) => {
7458
7534
  };
7459
7535
 
7460
7536
  // src/fn/smbf.ts
7461
- import { z as z62 } from "zod";
7537
+ import { z as z68 } from "zod";
7462
7538
  import { length as length48 } from "circuit-json";
7463
7539
  var smbf_def = base_def.extend({
7464
- fn: z62.string(),
7465
- num_pins: z62.literal(2).default(2),
7466
- w: z62.string().default("6.5mm"),
7467
- h: z62.string().default("3mm"),
7468
- pl: z62.string().default("1.75mm"),
7469
- pw: z62.string().default("2.40mm"),
7470
- p: z62.string().default("4.75mm")
7540
+ fn: z68.string(),
7541
+ num_pins: z68.literal(2).default(2),
7542
+ w: z68.string().default("6.5mm"),
7543
+ h: z68.string().default("3mm"),
7544
+ pl: z68.string().default("1.75mm"),
7545
+ pw: z68.string().default("2.40mm"),
7546
+ p: z68.string().default("4.75mm")
7471
7547
  });
7472
7548
  var smbf = (raw_params) => {
7473
7549
  const parameters = smbf_def.parse(raw_params);
@@ -7537,16 +7613,16 @@ var smbfWithoutParsing = (parameters) => {
7537
7613
  };
7538
7614
 
7539
7615
  // src/fn/sot323.ts
7540
- import { z as z63 } from "zod";
7616
+ import { z as z69 } from "zod";
7541
7617
  var sot323_def = base_def.extend({
7542
- fn: z63.string(),
7543
- num_pins: z63.number().default(3),
7544
- w: z63.string().default("2.45mm"),
7545
- h: z63.string().default("2.40mm"),
7546
- pl: z63.string().default("1.225mm"),
7547
- pw: z63.string().default("0.5mm"),
7548
- p: z63.string().default("0.95mm"),
7549
- string: z63.string().optional()
7618
+ fn: z69.string(),
7619
+ num_pins: z69.number().default(3),
7620
+ w: z69.string().default("2.45mm"),
7621
+ h: z69.string().default("2.40mm"),
7622
+ pl: z69.string().default("1.225mm"),
7623
+ pw: z69.string().default("0.5mm"),
7624
+ p: z69.string().default("0.95mm"),
7625
+ string: z69.string().optional()
7550
7626
  });
7551
7627
  var sot323 = (raw_params) => {
7552
7628
  const match = raw_params.string?.match(/^sot323_(\d+)/);
@@ -7634,15 +7710,15 @@ var sot323_3 = (parameters) => {
7634
7710
  };
7635
7711
 
7636
7712
  // src/fn/smtpad.ts
7637
- import { z as z64 } from "zod";
7713
+ import { z as z70 } from "zod";
7638
7714
  import { length as length49 } from "circuit-json";
7639
- import { mm as mm8 } from "@tscircuit/mm";
7715
+ import { mm as mm14 } from "@tscircuit/mm";
7640
7716
  var smtpad_def = base_def.extend({
7641
- fn: z64.string(),
7642
- circle: z64.boolean().optional(),
7643
- rect: z64.boolean().optional(),
7644
- square: z64.boolean().optional(),
7645
- pill: z64.boolean().optional(),
7717
+ fn: z70.string(),
7718
+ circle: z70.boolean().optional(),
7719
+ rect: z70.boolean().optional(),
7720
+ square: z70.boolean().optional(),
7721
+ pill: z70.boolean().optional(),
7646
7722
  d: length49.optional(),
7647
7723
  pd: length49.optional(),
7648
7724
  diameter: length49.optional(),
@@ -7657,7 +7733,7 @@ var smtpad_def = base_def.extend({
7657
7733
  height: length49.optional(),
7658
7734
  s: length49.optional(),
7659
7735
  size: length49.optional(),
7660
- string: z64.string().optional()
7736
+ string: z70.string().optional()
7661
7737
  }).transform((v) => {
7662
7738
  let shape = "rect";
7663
7739
  if (v.circle) shape = "circle";
@@ -7668,27 +7744,27 @@ var smtpad_def = base_def.extend({
7668
7744
  let width;
7669
7745
  let height;
7670
7746
  if (shape === "circle") {
7671
- if (v.r !== void 0) radius = mm8(v.r);
7672
- else if (v.pr !== void 0) radius = mm8(v.pr);
7673
- else if (v.radius !== void 0) radius = mm8(v.radius);
7674
- else if (v.d !== void 0) radius = mm8(v.d) / 2;
7675
- else if (v.pd !== void 0) radius = mm8(v.pd) / 2;
7676
- else if (v.diameter !== void 0) radius = mm8(v.diameter) / 2;
7677
- else radius = mm8("1mm") / 2;
7747
+ if (v.r !== void 0) radius = mm14(v.r);
7748
+ else if (v.pr !== void 0) radius = mm14(v.pr);
7749
+ else if (v.radius !== void 0) radius = mm14(v.radius);
7750
+ else if (v.d !== void 0) radius = mm14(v.d) / 2;
7751
+ else if (v.pd !== void 0) radius = mm14(v.pd) / 2;
7752
+ else if (v.diameter !== void 0) radius = mm14(v.diameter) / 2;
7753
+ else radius = mm14("1mm") / 2;
7678
7754
  } else {
7679
- if (v.w !== void 0) width = mm8(v.w);
7680
- else if (v.pw !== void 0) width = mm8(v.pw);
7681
- else if (v.width !== void 0) width = mm8(v.width);
7682
- else if (v.s !== void 0) width = mm8(v.s);
7683
- else if (v.size !== void 0) width = mm8(v.size);
7684
- else width = mm8("1mm");
7685
- if (v.h !== void 0) height = mm8(v.h);
7686
- else if (v.ph !== void 0) height = mm8(v.ph);
7687
- else if (v.height !== void 0) height = mm8(v.height);
7755
+ if (v.w !== void 0) width = mm14(v.w);
7756
+ else if (v.pw !== void 0) width = mm14(v.pw);
7757
+ else if (v.width !== void 0) width = mm14(v.width);
7758
+ else if (v.s !== void 0) width = mm14(v.s);
7759
+ else if (v.size !== void 0) width = mm14(v.size);
7760
+ else width = mm14("1mm");
7761
+ if (v.h !== void 0) height = mm14(v.h);
7762
+ else if (v.ph !== void 0) height = mm14(v.ph);
7763
+ else if (v.height !== void 0) height = mm14(v.height);
7688
7764
  else if (shape === "square") height = width;
7689
7765
  else if (shape === "rect")
7690
7766
  height = width;
7691
- else height = mm8("1mm");
7767
+ else height = mm14("1mm");
7692
7768
  }
7693
7769
  return {
7694
7770
  fn: v.fn,
@@ -7723,28 +7799,28 @@ var smtpad = (raw_params) => {
7723
7799
  };
7724
7800
 
7725
7801
  // src/fn/platedhole.ts
7726
- import { z as z65 } from "zod";
7802
+ import { z as z71 } from "zod";
7727
7803
  import { length as length50 } from "circuit-json";
7728
- import { mm as mm9 } from "@tscircuit/mm";
7804
+ import { mm as mm15 } from "@tscircuit/mm";
7729
7805
  var platedhole_def = base_def.extend({
7730
- fn: z65.string(),
7806
+ fn: z71.string(),
7731
7807
  d: length50.optional(),
7732
7808
  hd: length50.optional(),
7733
7809
  r: length50.optional(),
7734
7810
  hr: length50.optional(),
7735
7811
  pd: length50.optional(),
7736
7812
  pr: length50.optional(),
7737
- squarepad: z65.boolean().optional().default(false)
7813
+ squarepad: z71.boolean().optional().default(false)
7738
7814
  }).transform((v) => {
7739
7815
  let holeD;
7740
- if (v.d !== void 0) holeD = mm9(v.d);
7741
- else if (v.hd !== void 0) holeD = mm9(v.hd);
7742
- else if (v.r !== void 0) holeD = mm9(v.r) * 2;
7743
- else if (v.hr !== void 0) holeD = mm9(v.hr) * 2;
7744
- else holeD = mm9("1mm");
7816
+ if (v.d !== void 0) holeD = mm15(v.d);
7817
+ else if (v.hd !== void 0) holeD = mm15(v.hd);
7818
+ else if (v.r !== void 0) holeD = mm15(v.r) * 2;
7819
+ else if (v.hr !== void 0) holeD = mm15(v.hr) * 2;
7820
+ else holeD = mm15("1mm");
7745
7821
  let padD;
7746
- if (v.pd !== void 0) padD = mm9(v.pd);
7747
- else if (v.pr !== void 0) padD = mm9(v.pr) * 2;
7822
+ if (v.pd !== void 0) padD = mm15(v.pd);
7823
+ else if (v.pr !== void 0) padD = mm15(v.pr) * 2;
7748
7824
  else padD = holeD * (1.5 / 1);
7749
7825
  return {
7750
7826
  fn: v.fn,
@@ -7766,14 +7842,14 @@ var platedhole2 = (raw_params) => {
7766
7842
  };
7767
7843
 
7768
7844
  // src/fn/sot.ts
7769
- import { z as z66 } from "zod";
7845
+ import { z as z72 } from "zod";
7770
7846
  var sot_def = base_def.extend({
7771
- fn: z66.string(),
7772
- num_pins: z66.literal(6).default(6),
7773
- h: z66.string().default("1.6mm"),
7774
- pl: z66.string().default("1mm"),
7775
- pw: z66.string().default("0.7mm"),
7776
- p: z66.string().default("0.95mm")
7847
+ fn: z72.string(),
7848
+ num_pins: z72.literal(6).default(6),
7849
+ h: z72.string().default("1.6mm"),
7850
+ pl: z72.string().default("1mm"),
7851
+ pw: z72.string().default("0.7mm"),
7852
+ p: z72.string().default("0.95mm")
7777
7853
  });
7778
7854
  var sot = (raw_params) => {
7779
7855
  const parameters = sot_def.parse(raw_params);
@@ -7890,16 +7966,16 @@ var sotWithoutParsing = (parameters) => {
7890
7966
  };
7891
7967
 
7892
7968
  // src/fn/sot343.ts
7893
- import { z as z67 } from "zod";
7969
+ import { z as z73 } from "zod";
7894
7970
  var sot343_def = base_def.extend({
7895
- fn: z67.string(),
7896
- num_pins: z67.number().default(4),
7897
- w: z67.string().default("3.2mm"),
7898
- h: z67.string().default("2.6mm"),
7899
- pl: z67.string().default("1.35mm"),
7900
- pw: z67.string().default("0.50mm"),
7901
- p: z67.string().default("0.6mm"),
7902
- string: z67.string().optional()
7971
+ fn: z73.string(),
7972
+ num_pins: z73.number().default(4),
7973
+ w: z73.string().default("3.2mm"),
7974
+ h: z73.string().default("2.6mm"),
7975
+ pl: z73.string().default("1.35mm"),
7976
+ pw: z73.string().default("0.50mm"),
7977
+ p: z73.string().default("0.6mm"),
7978
+ string: z73.string().optional()
7903
7979
  });
7904
7980
  var sot343 = (raw_params) => {
7905
7981
  const match = raw_params.string?.match(/^sot343_(\d+)/);
@@ -7994,14 +8070,14 @@ var sot343_4 = (parameters) => {
7994
8070
  };
7995
8071
 
7996
8072
  // src/fn/m2host.ts
7997
- import { z as z68 } from "zod";
8073
+ import { z as z74 } from "zod";
7998
8074
  var m2host_def = base_def.extend({
7999
- fn: z68.string()
8075
+ fn: z74.string()
8000
8076
  });
8001
8077
  var m2host = (raw_params) => {
8002
8078
  const parameters = m2host_def.parse(raw_params);
8003
8079
  const pads = [];
8004
- const padWidth6 = 0.5 - 0.15;
8080
+ const padWidth = 0.5 - 0.15;
8005
8081
  const padLength = 1.5;
8006
8082
  const pitch = 0.5;
8007
8083
  const halfPitch = pitch / 2;
@@ -8016,7 +8092,7 @@ var m2host = (raw_params) => {
8016
8092
  const padLengthWithOffset = padLength + (isBottomLayer ? 0.25 : 0);
8017
8093
  const rightEdgeOffset = 0.5;
8018
8094
  const x = rightEdgeOffset - padLengthWithOffset / 2;
8019
- const pad2 = rectpad(pn, x, y, padLengthWithOffset, padWidth6);
8095
+ const pad2 = rectpad(pn, x, y, padLengthWithOffset, padWidth);
8020
8096
  pad2.layer = isBottomLayer ? "bottom" : "top";
8021
8097
  pads.push(pad2);
8022
8098
  }
@@ -8099,16 +8175,16 @@ var m2host = (raw_params) => {
8099
8175
  };
8100
8176
 
8101
8177
  // src/fn/to92l.ts
8102
- import { z as z69 } from "zod";
8178
+ import { z as z75 } from "zod";
8103
8179
  var to92l_def = base_def.extend({
8104
- fn: z69.string(),
8105
- num_pins: z69.number().default(3),
8106
- inline: z69.boolean().default(false),
8107
- p: z69.string().default("1.27mm"),
8108
- id: z69.string().default("0.75mm"),
8109
- od: z69.string().default("1.3mm"),
8110
- w: z69.string().default("4.8mm"),
8111
- h: z69.string().default("4.0mm")
8180
+ fn: z75.string(),
8181
+ num_pins: z75.number().default(3),
8182
+ inline: z75.boolean().default(false),
8183
+ p: z75.string().default("1.27mm"),
8184
+ id: z75.string().default("0.75mm"),
8185
+ od: z75.string().default("1.3mm"),
8186
+ w: z75.string().default("4.8mm"),
8187
+ h: z75.string().default("4.0mm")
8112
8188
  });
8113
8189
  var to92l = (raw_params) => {
8114
8190
  const parameters = to92l_def.parse(raw_params);