jscad-electronics 0.0.125 → 0.0.126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -433,4 +433,13 @@ interface ScreenProps {
433
433
  declare const Screen: ({ width, height, thickness, bezelInset, bezelDepth, screenColor, bezelColor, screenWidth, screenHeight, offset, }: ScreenProps) => react_jsx_runtime.JSX.Element;
434
434
  declare const Display: ({ width, height, thickness, bezelInset, bezelDepth, screenColor, bezelColor, screenWidth, screenHeight, offset, }: ScreenProps) => react_jsx_runtime.JSX.Element;
435
435
 
436
- export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, AxialCapacitor, BGA, ChipBody, type ChipBodyProps, DFN, Display, ExtrudedPads, FemaleHeader, FemaleHeaderRow, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, LQFP, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MS013, MSOP, MicroMELF, type MicroMELFProps, MountedPcbModule, PinHeader, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD123W, SOD128, SOD323, SOD323F, SOD323FL, SOD523, SOD723, SOD882, SOD923, SOT223, SOT233P, SOT23W, SOT323, SOT363, SOT457, SOT563, SOT723, SOT886, SOT963, Screen, type ScreenProps, SmdChipLead, type SmdChipLeadProps, StampBoard, TO220, TO92, TQFP, Tssop, VSSOP };
436
+ interface JSTZH1_5mmProps {
437
+ numPins?: number;
438
+ showPins?: boolean;
439
+ showFootprint?: boolean;
440
+ bodyColor?: string;
441
+ pinColor?: string;
442
+ }
443
+ declare const JSTZH1_5mm: ({ numPins, showPins, showFootprint, bodyColor, pinColor, }: JSTZH1_5mmProps) => react_jsx_runtime.JSX.Element;
444
+
445
+ export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, AxialCapacitor, BGA, ChipBody, type ChipBodyProps, DFN, Display, ExtrudedPads, FemaleHeader, FemaleHeaderRow, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, JSTZH1_5mm, LQFP, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MS013, MSOP, MicroMELF, type MicroMELFProps, MountedPcbModule, PinHeader, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD123W, SOD128, SOD323, SOD323F, SOD323FL, SOD523, SOD723, SOD882, SOD923, SOT223, SOT233P, SOT23W, SOT323, SOT363, SOT457, SOT563, SOT723, SOT886, SOT963, Screen, type ScreenProps, SmdChipLead, type SmdChipLeadProps, StampBoard, TO220, TO92, TQFP, Tssop, VSSOP };
package/dist/index.js CHANGED
@@ -4690,17 +4690,170 @@ var SOD723 = () => {
4690
4690
  };
4691
4691
  var SOD723_default = SOD723;
4692
4692
 
4693
+ // lib/JSTZH1_5mm.tsx
4694
+ import {
4695
+ Colorize as Colorize36,
4696
+ Cuboid as Cuboid44,
4697
+ Cylinder as Cylinder12,
4698
+ Rotate as Rotate12,
4699
+ Subtract as Subtract9,
4700
+ Translate as Translate30
4701
+ } from "jscad-fiber";
4702
+ import { Fragment as Fragment61, jsx as jsx67, jsxs as jsxs63 } from "react/jsx-runtime";
4703
+ var JSTZH1_5mm = ({
4704
+ numPins = 7,
4705
+ showPins = true,
4706
+ showFootprint = true,
4707
+ bodyColor = "#f5f5f5",
4708
+ pinColor = "#635959"
4709
+ }) => {
4710
+ const pitch = 1.5;
4711
+ const bodyHeight = 6;
4712
+ const bodyDepth = 3.5;
4713
+ const wallThickness = 0.5;
4714
+ const hollowHeight = bodyHeight * 0.6;
4715
+ const pinLength = 6;
4716
+ const bodyWidth = (numPins - 1) * pitch + 4;
4717
+ const startX = -((numPins - 1) * pitch) / 2;
4718
+ return /* @__PURE__ */ jsxs63(Fragment61, { children: [
4719
+ /* @__PURE__ */ jsx67(Translate30, { offset: [0, 0, bodyHeight], children: /* @__PURE__ */ jsx67(Rotate12, { angles: [Math.PI, 0, 0], children: /* @__PURE__ */ jsx67(Colorize36, { color: bodyColor, children: /* @__PURE__ */ jsxs63(Subtract9, { children: [
4720
+ /* @__PURE__ */ jsx67(
4721
+ Cuboid44,
4722
+ {
4723
+ size: [bodyWidth, bodyDepth, bodyHeight],
4724
+ center: [0, 0, bodyHeight / 2]
4725
+ }
4726
+ ),
4727
+ /* @__PURE__ */ jsx67(
4728
+ Cuboid44,
4729
+ {
4730
+ size: [
4731
+ bodyWidth - wallThickness * 2,
4732
+ bodyDepth - wallThickness * 2,
4733
+ hollowHeight
4734
+ ],
4735
+ center: [0, 0, hollowHeight / 2]
4736
+ }
4737
+ ),
4738
+ /* @__PURE__ */ jsx67(
4739
+ Cuboid44,
4740
+ {
4741
+ size: [bodyWidth, bodyDepth / 3, hollowHeight],
4742
+ center: [0, 0, hollowHeight / 6]
4743
+ }
4744
+ ),
4745
+ /* @__PURE__ */ jsx67(
4746
+ Cuboid44,
4747
+ {
4748
+ size: [
4749
+ bodyWidth - wallThickness * 2,
4750
+ wallThickness / 2,
4751
+ hollowHeight
4752
+ ],
4753
+ center: [
4754
+ 0,
4755
+ bodyDepth / 2 - wallThickness / 4,
4756
+ hollowHeight / 2
4757
+ ]
4758
+ }
4759
+ ),
4760
+ /* @__PURE__ */ jsx67(
4761
+ Cuboid44,
4762
+ {
4763
+ size: [
4764
+ bodyWidth - wallThickness * 2,
4765
+ wallThickness / 2,
4766
+ hollowHeight
4767
+ ],
4768
+ center: [
4769
+ 0,
4770
+ -bodyDepth / 2 + wallThickness / 4,
4771
+ hollowHeight / 2
4772
+ ]
4773
+ }
4774
+ ),
4775
+ /* @__PURE__ */ jsx67(
4776
+ Cuboid44,
4777
+ {
4778
+ size: [1, wallThickness + 2, 1],
4779
+ center: [-bodyWidth / 4, bodyDepth / 2, bodyHeight / 2]
4780
+ }
4781
+ ),
4782
+ /* @__PURE__ */ jsx67(
4783
+ Cuboid44,
4784
+ {
4785
+ size: [1, wallThickness + 3, 1],
4786
+ center: [bodyWidth / 4, bodyDepth / 2, bodyHeight / 2]
4787
+ }
4788
+ ),
4789
+ /* @__PURE__ */ jsx67(
4790
+ Cuboid44,
4791
+ {
4792
+ size: [1, wallThickness + 2, 1],
4793
+ center: [-bodyWidth / 4, -bodyDepth / 2, bodyHeight / 2]
4794
+ }
4795
+ ),
4796
+ /* @__PURE__ */ jsx67(
4797
+ Cuboid44,
4798
+ {
4799
+ size: [1, wallThickness + 3, 1],
4800
+ center: [bodyWidth / 4, -bodyDepth / 2, bodyHeight / 2]
4801
+ }
4802
+ )
4803
+ ] }) }) }) }),
4804
+ showPins && Array.from({ length: numPins }).map((_, i) => /* @__PURE__ */ jsx67(Colorize36, { color: pinColor, children: /* @__PURE__ */ jsx67(
4805
+ Cylinder12,
4806
+ {
4807
+ height: pinLength,
4808
+ radius: 0.35,
4809
+ center: [startX + i * pitch, 0, 2.5]
4810
+ }
4811
+ ) }, i)),
4812
+ showFootprint && Array.from({ length: numPins }).map((_, i) => {
4813
+ const hole = {
4814
+ type: "pcb_plated_hole",
4815
+ pcb_plated_hole_id: `jstzh_${i}`,
4816
+ shape: "circular_hole_with_rect_pad",
4817
+ x: startX + i * pitch,
4818
+ y: 0,
4819
+ hole_diameter: 0.73,
4820
+ hole_shape: "circle",
4821
+ pad_shape: "rect",
4822
+ rect_pad_width: 1.03,
4823
+ rect_pad_height: 1.73,
4824
+ layers: ["top", "bottom"],
4825
+ port_hints: [`${i + 1}`]
4826
+ };
4827
+ const isPin1 = i === 0;
4828
+ return /* @__PURE__ */ jsx67(
4829
+ FootprintPlatedHole,
4830
+ {
4831
+ hole,
4832
+ isPin1
4833
+ },
4834
+ `footprint_${i}`
4835
+ );
4836
+ })
4837
+ ] });
4838
+ };
4839
+
4693
4840
  // lib/Footprinter3d.tsx
4694
- import { jsx as jsx67 } from "react/jsx-runtime";
4841
+ import { jsx as jsx68 } from "react/jsx-runtime";
4695
4842
  var Footprinter3d = ({ footprint }) => {
4696
- const fpJson = fp3.string(footprint).json();
4843
+ let normalizedFootprint = footprint;
4844
+ if (footprint.startsWith("jstzh1_5mm")) {
4845
+ const pinMatch = footprint.match(/jstzh1_5mm(\d+)?/);
4846
+ const numPins = pinMatch && pinMatch[1] ? pinMatch[1] : "7";
4847
+ normalizedFootprint = `zh${numPins}`;
4848
+ }
4849
+ const fpJson = fp3.string(normalizedFootprint).json();
4697
4850
  switch (fpJson.fn) {
4698
4851
  case "dip":
4699
- return /* @__PURE__ */ jsx67(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
4852
+ return /* @__PURE__ */ jsx68(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
4700
4853
  case "axial":
4701
- return /* @__PURE__ */ jsx67(AxialCapacitor, { pitch: fpJson.p });
4854
+ return /* @__PURE__ */ jsx68(AxialCapacitor, { pitch: fpJson.p });
4702
4855
  case "tssop":
4703
- return /* @__PURE__ */ jsx67(
4856
+ return /* @__PURE__ */ jsx68(
4704
4857
  Tssop,
4705
4858
  {
4706
4859
  pinCount: fpJson.num_pins,
@@ -4711,7 +4864,7 @@ var Footprinter3d = ({ footprint }) => {
4711
4864
  }
4712
4865
  );
4713
4866
  case "msop":
4714
- return /* @__PURE__ */ jsx67(
4867
+ return /* @__PURE__ */ jsx68(
4715
4868
  MSOP,
4716
4869
  {
4717
4870
  pinCount: fpJson.num_pins,
@@ -4722,7 +4875,7 @@ var Footprinter3d = ({ footprint }) => {
4722
4875
  }
4723
4876
  );
4724
4877
  case "vssop":
4725
- return /* @__PURE__ */ jsx67(
4878
+ return /* @__PURE__ */ jsx68(
4726
4879
  VSSOP,
4727
4880
  {
4728
4881
  pinCount: fpJson.num_pins,
@@ -4734,7 +4887,7 @@ var Footprinter3d = ({ footprint }) => {
4734
4887
  }
4735
4888
  );
4736
4889
  case "qfp":
4737
- return /* @__PURE__ */ jsx67(
4890
+ return /* @__PURE__ */ jsx68(
4738
4891
  QFP,
4739
4892
  {
4740
4893
  pinCount: fpJson.num_pins,
@@ -4745,12 +4898,12 @@ var Footprinter3d = ({ footprint }) => {
4745
4898
  }
4746
4899
  );
4747
4900
  case "tqfp":
4748
- return /* @__PURE__ */ jsx67(tqfp_default, {});
4901
+ return /* @__PURE__ */ jsx68(tqfp_default, {});
4749
4902
  case "lqfp":
4750
- return /* @__PURE__ */ jsx67(LQFP, { pinCount: fpJson.num_pins });
4903
+ return /* @__PURE__ */ jsx68(LQFP, { pinCount: fpJson.num_pins });
4751
4904
  case "qfn": {
4752
4905
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
4753
- return /* @__PURE__ */ jsx67(
4906
+ return /* @__PURE__ */ jsx68(
4754
4907
  qfn_default,
4755
4908
  {
4756
4909
  num_pins: fpJson.num_pins,
@@ -4768,7 +4921,7 @@ var Footprinter3d = ({ footprint }) => {
4768
4921
  }
4769
4922
  case "dfn": {
4770
4923
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
4771
- return /* @__PURE__ */ jsx67(
4924
+ return /* @__PURE__ */ jsx68(
4772
4925
  DFN,
4773
4926
  {
4774
4927
  num_pins: fpJson.num_pins,
@@ -4788,7 +4941,7 @@ var Footprinter3d = ({ footprint }) => {
4788
4941
  const rowsMatch = footprint.match(/_rows(\d+)/);
4789
4942
  const rows = rowsMatch && rowsMatch[1] ? parseInt(rowsMatch[1], 10) : 1;
4790
4943
  if (fpJson.male)
4791
- return /* @__PURE__ */ jsx67(
4944
+ return /* @__PURE__ */ jsx68(
4792
4945
  PinRow,
4793
4946
  {
4794
4947
  numberOfPins: fpJson.num_pins,
@@ -4801,7 +4954,7 @@ var Footprinter3d = ({ footprint }) => {
4801
4954
  }
4802
4955
  );
4803
4956
  if (fpJson.female)
4804
- return /* @__PURE__ */ jsx67(
4957
+ return /* @__PURE__ */ jsx68(
4805
4958
  FemaleHeaderRow,
4806
4959
  {
4807
4960
  numberOfPins: fpJson.num_pins,
@@ -4813,47 +4966,47 @@ var Footprinter3d = ({ footprint }) => {
4813
4966
  case "cap": {
4814
4967
  switch (fpJson.imperial) {
4815
4968
  case "0402":
4816
- return /* @__PURE__ */ jsx67(A0402, { color: "#856c4d" });
4969
+ return /* @__PURE__ */ jsx68(A0402, { color: "#856c4d" });
4817
4970
  case "0603":
4818
- return /* @__PURE__ */ jsx67(A0603, { color: "#856c4d" });
4971
+ return /* @__PURE__ */ jsx68(A0603, { color: "#856c4d" });
4819
4972
  case "0805":
4820
- return /* @__PURE__ */ jsx67(A0805, { color: "#856c4d" });
4973
+ return /* @__PURE__ */ jsx68(A0805, { color: "#856c4d" });
4821
4974
  case "0201":
4822
- return /* @__PURE__ */ jsx67(A0201, { color: "#856c4d" });
4975
+ return /* @__PURE__ */ jsx68(A0201, { color: "#856c4d" });
4823
4976
  case "01005":
4824
- return /* @__PURE__ */ jsx67(A01005, { color: "#856c4d" });
4977
+ return /* @__PURE__ */ jsx68(A01005, { color: "#856c4d" });
4825
4978
  case "1206":
4826
- return /* @__PURE__ */ jsx67(A1206, { color: "#856c4d" });
4979
+ return /* @__PURE__ */ jsx68(A1206, { color: "#856c4d" });
4827
4980
  case "1210":
4828
- return /* @__PURE__ */ jsx67(A1210, { color: "#856c4d" });
4981
+ return /* @__PURE__ */ jsx68(A1210, { color: "#856c4d" });
4829
4982
  case "2010":
4830
- return /* @__PURE__ */ jsx67(A2010, { color: "#856c4d" });
4983
+ return /* @__PURE__ */ jsx68(A2010, { color: "#856c4d" });
4831
4984
  case "2512":
4832
- return /* @__PURE__ */ jsx67(A2512, { color: "#856c4d" });
4985
+ return /* @__PURE__ */ jsx68(A2512, { color: "#856c4d" });
4833
4986
  }
4834
4987
  }
4835
4988
  case "sot235":
4836
- return /* @__PURE__ */ jsx67(SOT_235_default, {});
4989
+ return /* @__PURE__ */ jsx68(SOT_235_default, {});
4837
4990
  case "sot457":
4838
- return /* @__PURE__ */ jsx67(SOT457, {});
4991
+ return /* @__PURE__ */ jsx68(SOT457, {});
4839
4992
  case "sot223":
4840
- return /* @__PURE__ */ jsx67(SOT223, {});
4993
+ return /* @__PURE__ */ jsx68(SOT223, {});
4841
4994
  case "sot23w":
4842
- return /* @__PURE__ */ jsx67(SOT23W, {});
4995
+ return /* @__PURE__ */ jsx68(SOT23W, {});
4843
4996
  case "sot323":
4844
- return /* @__PURE__ */ jsx67(SOT323, {});
4997
+ return /* @__PURE__ */ jsx68(SOT323, {});
4845
4998
  case "sod323f":
4846
- return /* @__PURE__ */ jsx67(SOD323F, {});
4999
+ return /* @__PURE__ */ jsx68(SOD323F, {});
4847
5000
  case "sod323fl":
4848
- return /* @__PURE__ */ jsx67(SOD323FL, {});
5001
+ return /* @__PURE__ */ jsx68(SOD323FL, {});
4849
5002
  case "sot363":
4850
- return /* @__PURE__ */ jsx67(SOT_363_default, {});
5003
+ return /* @__PURE__ */ jsx68(SOT_363_default, {});
4851
5004
  case "sot886":
4852
- return /* @__PURE__ */ jsx67(SOT886, {});
5005
+ return /* @__PURE__ */ jsx68(SOT886, {});
4853
5006
  case "sot963":
4854
- return /* @__PURE__ */ jsx67(SOT963, {});
5007
+ return /* @__PURE__ */ jsx68(SOT963, {});
4855
5008
  case "pushbutton":
4856
- return /* @__PURE__ */ jsx67(
5009
+ return /* @__PURE__ */ jsx68(
4857
5010
  PushButton,
4858
5011
  {
4859
5012
  width: fpJson.w,
@@ -4861,8 +5014,13 @@ var Footprinter3d = ({ footprint }) => {
4861
5014
  innerDiameter: fpJson.id
4862
5015
  }
4863
5016
  );
5017
+ case "jst":
5018
+ if (fpJson.zh) {
5019
+ return /* @__PURE__ */ jsx68(JSTZH1_5mm, { numPins: fpJson.num_pins });
5020
+ }
5021
+ break;
4864
5022
  case "soic":
4865
- return /* @__PURE__ */ jsx67(
5023
+ return /* @__PURE__ */ jsx68(
4866
5024
  SOIC,
4867
5025
  {
4868
5026
  pinCount: fpJson.num_pins,
@@ -4873,41 +5031,41 @@ var Footprinter3d = ({ footprint }) => {
4873
5031
  }
4874
5032
  );
4875
5033
  case "sod523":
4876
- return /* @__PURE__ */ jsx67(SOD523, {});
5034
+ return /* @__PURE__ */ jsx68(SOD523, {});
4877
5035
  case "sod723":
4878
- return /* @__PURE__ */ jsx67(SOD723_default, {});
5036
+ return /* @__PURE__ */ jsx68(SOD723_default, {});
4879
5037
  case "sod882":
4880
- return /* @__PURE__ */ jsx67(SOD882, {});
5038
+ return /* @__PURE__ */ jsx68(SOD882, {});
4881
5039
  case "sma":
4882
- return /* @__PURE__ */ jsx67(SMA, {});
5040
+ return /* @__PURE__ */ jsx68(SMA, {});
4883
5041
  case "smb":
4884
- return /* @__PURE__ */ jsx67(SMB, {});
5042
+ return /* @__PURE__ */ jsx68(SMB, {});
4885
5043
  case "smc":
4886
- return /* @__PURE__ */ jsx67(SMC, {});
5044
+ return /* @__PURE__ */ jsx68(SMC, {});
4887
5045
  case "smf":
4888
- return /* @__PURE__ */ jsx67(SMF, {});
5046
+ return /* @__PURE__ */ jsx68(SMF, {});
4889
5047
  case "sod123f":
4890
- return /* @__PURE__ */ jsx67(SOD123F, {});
5048
+ return /* @__PURE__ */ jsx68(SOD123F, {});
4891
5049
  case "sod123fl":
4892
- return /* @__PURE__ */ jsx67(SOD123FL, {});
5050
+ return /* @__PURE__ */ jsx68(SOD123FL, {});
4893
5051
  case "sod123w":
4894
- return /* @__PURE__ */ jsx67(SOD123W, {});
5052
+ return /* @__PURE__ */ jsx68(SOD123W, {});
4895
5053
  case "sod128":
4896
- return /* @__PURE__ */ jsx67(SOD128, {});
5054
+ return /* @__PURE__ */ jsx68(SOD128, {});
4897
5055
  case "sod323":
4898
- return /* @__PURE__ */ jsx67(SOD323, {});
5056
+ return /* @__PURE__ */ jsx68(SOD323, {});
4899
5057
  case "sod923":
4900
- return /* @__PURE__ */ jsx67(SOD923, {});
5058
+ return /* @__PURE__ */ jsx68(SOD923, {});
4901
5059
  case "hc49":
4902
- return /* @__PURE__ */ jsx67(HC49, {});
5060
+ return /* @__PURE__ */ jsx68(HC49, {});
4903
5061
  case "micromelf":
4904
- return /* @__PURE__ */ jsx67(MicroMELF, {});
5062
+ return /* @__PURE__ */ jsx68(MicroMELF, {});
4905
5063
  case "minimelf":
4906
- return /* @__PURE__ */ jsx67(MINIMELF, {});
5064
+ return /* @__PURE__ */ jsx68(MINIMELF, {});
4907
5065
  case "melf":
4908
- return /* @__PURE__ */ jsx67(MELF, {});
5066
+ return /* @__PURE__ */ jsx68(MELF, {});
4909
5067
  case "ms012":
4910
- return /* @__PURE__ */ jsx67(
5068
+ return /* @__PURE__ */ jsx68(
4911
5069
  MS012,
4912
5070
  {
4913
5071
  pinCount: fpJson.num_pins,
@@ -4917,7 +5075,7 @@ var Footprinter3d = ({ footprint }) => {
4917
5075
  }
4918
5076
  );
4919
5077
  case "ms013":
4920
- return /* @__PURE__ */ jsx67(
5078
+ return /* @__PURE__ */ jsx68(
4921
5079
  MS013,
4922
5080
  {
4923
5081
  pinCount: fpJson.num_pins,
@@ -4927,14 +5085,14 @@ var Footprinter3d = ({ footprint }) => {
4927
5085
  }
4928
5086
  );
4929
5087
  case "sot723":
4930
- return /* @__PURE__ */ jsx67(SOT723, {});
5088
+ return /* @__PURE__ */ jsx68(SOT723, {});
4931
5089
  case "to220":
4932
- return /* @__PURE__ */ jsx67(TO220, {});
5090
+ return /* @__PURE__ */ jsx68(TO220, {});
4933
5091
  case "to92":
4934
- return /* @__PURE__ */ jsx67(TO92, {});
5092
+ return /* @__PURE__ */ jsx68(TO92, {});
4935
5093
  case "stampboard":
4936
5094
  case "stampreceiver":
4937
- return /* @__PURE__ */ jsx67(
5095
+ return /* @__PURE__ */ jsx68(
4938
5096
  StampBoard,
4939
5097
  {
4940
5098
  bodyWidth: fpJson.w,
@@ -4958,7 +5116,7 @@ var Footprinter3d = ({ footprint }) => {
4958
5116
  const pinRow = fpJson.pinrow;
4959
5117
  const pinRowHoleEdgeToEdgeDist = fpJson.pinRowHoleEdgeToEdgeDist;
4960
5118
  const holes = Array.isArray(fpJson.holes) ? fpJson.holes : [];
4961
- return /* @__PURE__ */ jsx67(
5119
+ return /* @__PURE__ */ jsx68(
4962
5120
  MountedPcbModule,
4963
5121
  {
4964
5122
  numPins: pinRow,
@@ -4987,29 +5145,29 @@ var Footprinter3d = ({ footprint }) => {
4987
5145
  const color = colorMatch ? colorMatch[1] : void 0;
4988
5146
  switch (fpJson.imperial) {
4989
5147
  case "0402":
4990
- return /* @__PURE__ */ jsx67(A0402, { color });
5148
+ return /* @__PURE__ */ jsx68(A0402, { color });
4991
5149
  case "0603":
4992
- return /* @__PURE__ */ jsx67(A0603, { color });
5150
+ return /* @__PURE__ */ jsx68(A0603, { color });
4993
5151
  case "0805":
4994
- return /* @__PURE__ */ jsx67(A0805, { color });
5152
+ return /* @__PURE__ */ jsx68(A0805, { color });
4995
5153
  case "0201":
4996
- return /* @__PURE__ */ jsx67(A0201, { color });
5154
+ return /* @__PURE__ */ jsx68(A0201, { color });
4997
5155
  case "01005":
4998
- return /* @__PURE__ */ jsx67(A01005, { color });
5156
+ return /* @__PURE__ */ jsx68(A01005, { color });
4999
5157
  case "1206":
5000
- return /* @__PURE__ */ jsx67(A1206, { color });
5158
+ return /* @__PURE__ */ jsx68(A1206, { color });
5001
5159
  case "1210":
5002
- return /* @__PURE__ */ jsx67(A1210, { color });
5160
+ return /* @__PURE__ */ jsx68(A1210, { color });
5003
5161
  case "2010":
5004
- return /* @__PURE__ */ jsx67(A2010, { color });
5162
+ return /* @__PURE__ */ jsx68(A2010, { color });
5005
5163
  case "2512":
5006
- return /* @__PURE__ */ jsx67(A2512, { color });
5164
+ return /* @__PURE__ */ jsx68(A2512, { color });
5007
5165
  }
5008
5166
  return null;
5009
5167
  };
5010
5168
 
5011
5169
  // lib/SOT-23-3P.tsx
5012
- import { Fragment as Fragment61, jsx as jsx68, jsxs as jsxs63 } from "react/jsx-runtime";
5170
+ import { Fragment as Fragment62, jsx as jsx69, jsxs as jsxs64 } from "react/jsx-runtime";
5013
5171
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5014
5172
  const bodyWidth = 1.3;
5015
5173
  const bodyLength10 = 2.9;
@@ -5020,8 +5178,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5020
5178
  const padContactLength = 0.4;
5021
5179
  const padThickness = leadThickness / 2;
5022
5180
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
5023
- return /* @__PURE__ */ jsxs63(Fragment61, { children: [
5024
- /* @__PURE__ */ jsx68(
5181
+ return /* @__PURE__ */ jsxs64(Fragment62, { children: [
5182
+ /* @__PURE__ */ jsx69(
5025
5183
  SmdChipLead,
5026
5184
  {
5027
5185
  rotation: Math.PI,
@@ -5038,7 +5196,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5038
5196
  },
5039
5197
  1
5040
5198
  ),
5041
- /* @__PURE__ */ jsx68(
5199
+ /* @__PURE__ */ jsx69(
5042
5200
  SmdChipLead,
5043
5201
  {
5044
5202
  rotation: Math.PI,
@@ -5055,7 +5213,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5055
5213
  },
5056
5214
  2
5057
5215
  ),
5058
- /* @__PURE__ */ jsx68(
5216
+ /* @__PURE__ */ jsx69(
5059
5217
  SmdChipLead,
5060
5218
  {
5061
5219
  position: {
@@ -5071,7 +5229,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5071
5229
  },
5072
5230
  3
5073
5231
  ),
5074
- /* @__PURE__ */ jsx68(
5232
+ /* @__PURE__ */ jsx69(
5075
5233
  ChipBody,
5076
5234
  {
5077
5235
  center: { x: 0, y: 0, z: 0 },
@@ -5084,8 +5242,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5084
5242
  };
5085
5243
 
5086
5244
  // lib/SOT-563.tsx
5087
- import { Cuboid as Cuboid44, Translate as Translate30, Rotate as Rotate12, Colorize as Colorize36 } from "jscad-fiber";
5088
- import { Fragment as Fragment62, jsx as jsx69, jsxs as jsxs64 } from "react/jsx-runtime";
5245
+ import { Cuboid as Cuboid45, Translate as Translate31, Rotate as Rotate13, Colorize as Colorize37 } from "jscad-fiber";
5246
+ import { Fragment as Fragment63, jsx as jsx70, jsxs as jsxs65 } from "react/jsx-runtime";
5089
5247
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
5090
5248
  const bodyWidth = 1.2;
5091
5249
  const bodyLength10 = 1.6;
@@ -5095,28 +5253,28 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
5095
5253
  const leadHeight = 0.13;
5096
5254
  const leadSpacing = 0.5;
5097
5255
  const bodyZOffset = -0.4;
5098
- return /* @__PURE__ */ jsxs64(Fragment62, { children: [
5099
- /* @__PURE__ */ jsx69(Rotate12, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx69(Translate30, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx69(Colorize36, { color: "grey", children: /* @__PURE__ */ jsx69(Cuboid44, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
5256
+ return /* @__PURE__ */ jsxs65(Fragment63, { children: [
5257
+ /* @__PURE__ */ jsx70(Rotate13, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx70(Translate31, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx70(Colorize37, { color: "grey", children: /* @__PURE__ */ jsx70(Cuboid45, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
5100
5258
  [-1, 0, 1].flatMap((yOffset, index) => [
5101
5259
  // Left lead
5102
- /* @__PURE__ */ jsx69(
5103
- Translate30,
5260
+ /* @__PURE__ */ jsx70(
5261
+ Translate31,
5104
5262
  {
5105
5263
  center: [
5106
5264
  -bodyWidth / 2 - 0.03,
5107
5265
  yOffset * leadSpacing,
5108
5266
  leadHeight / 2
5109
5267
  ],
5110
- children: /* @__PURE__ */ jsx69(Cuboid44, { size: [leadLength, leadWidth, leadHeight] })
5268
+ children: /* @__PURE__ */ jsx70(Cuboid45, { size: [leadLength, leadWidth, leadHeight] })
5111
5269
  },
5112
5270
  `left-${index}`
5113
5271
  ),
5114
5272
  // Right lead
5115
- /* @__PURE__ */ jsx69(
5116
- Translate30,
5273
+ /* @__PURE__ */ jsx70(
5274
+ Translate31,
5117
5275
  {
5118
5276
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
5119
- children: /* @__PURE__ */ jsx69(Cuboid44, { size: [leadLength, leadWidth, leadHeight] })
5277
+ children: /* @__PURE__ */ jsx70(Cuboid45, { size: [leadLength, leadWidth, leadHeight] })
5120
5278
  },
5121
5279
  `right-${index}`
5122
5280
  )
@@ -5125,7 +5283,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
5125
5283
  };
5126
5284
 
5127
5285
  // lib/sod-123.tsx
5128
- import { Fragment as Fragment63, jsx as jsx70, jsxs as jsxs65 } from "react/jsx-runtime";
5286
+ import { Fragment as Fragment64, jsx as jsx71, jsxs as jsxs66 } from "react/jsx-runtime";
5129
5287
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
5130
5288
  const bodyWidth = 2.9;
5131
5289
  const bodyLength10 = 1.3;
@@ -5136,8 +5294,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
5136
5294
  const padContactLength = 0.4;
5137
5295
  const padThickness = leadThickness / 2;
5138
5296
  const bodyDistance = (fullWidth - bodyWidth) / 2;
5139
- return /* @__PURE__ */ jsxs65(Fragment63, { children: [
5140
- /* @__PURE__ */ jsx70(
5297
+ return /* @__PURE__ */ jsxs66(Fragment64, { children: [
5298
+ /* @__PURE__ */ jsx71(
5141
5299
  SmdChipLead,
5142
5300
  {
5143
5301
  position: {
@@ -5153,7 +5311,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
5153
5311
  },
5154
5312
  1
5155
5313
  ),
5156
- /* @__PURE__ */ jsx70(
5314
+ /* @__PURE__ */ jsx71(
5157
5315
  SmdChipLead,
5158
5316
  {
5159
5317
  rotation: Math.PI,
@@ -5170,7 +5328,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
5170
5328
  },
5171
5329
  2
5172
5330
  ),
5173
- /* @__PURE__ */ jsx70(
5331
+ /* @__PURE__ */ jsx71(
5174
5332
  ChipBody,
5175
5333
  {
5176
5334
  center: { x: 0, y: 0, z: 0 },
@@ -5203,6 +5361,7 @@ export {
5203
5361
  FootprintPlatedHole,
5204
5362
  Footprinter3d,
5205
5363
  HC49,
5364
+ JSTZH1_5mm,
5206
5365
  LQFP,
5207
5366
  MELF,
5208
5367
  MINIMELF,