jscad-electronics 0.0.104 → 0.0.105

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
@@ -3617,16 +3617,81 @@ var SOT457 = () => {
3617
3617
  ] });
3618
3618
  };
3619
3619
 
3620
+ // lib/SOT-963.tsx
3621
+ import { Cuboid as Cuboid34 } from "jscad-fiber";
3622
+ import { Fragment as Fragment49, jsx as jsx53, jsxs as jsxs51 } from "react/jsx-runtime";
3623
+ var SOT963 = () => {
3624
+ const bodyWidth = 0.8;
3625
+ const bodyLength10 = 1;
3626
+ const bodyHeight = 0.37;
3627
+ const terminalWidth = 0.15;
3628
+ const terminalLength = 0.19;
3629
+ const terminalThickness = 0.12;
3630
+ const pitch = 0.35;
3631
+ const pinsPerSide = 3;
3632
+ const pinSpan = pitch * (pinsPerSide - 1);
3633
+ return /* @__PURE__ */ jsxs51(Fragment49, { children: [
3634
+ /* @__PURE__ */ jsx53(
3635
+ ChipBody,
3636
+ {
3637
+ center: { x: 0, y: 0, z: 0 },
3638
+ width: bodyWidth,
3639
+ length: bodyLength10,
3640
+ height: bodyHeight,
3641
+ heightAboveSurface: 0,
3642
+ color: "#1a1a1a",
3643
+ taperRatio: 0.15,
3644
+ straightHeightRatio: 0,
3645
+ notchPosition: {
3646
+ x: -bodyWidth / 4,
3647
+ y: pinSpan / 2.2,
3648
+ z: bodyHeight + 0.1
3649
+ }
3650
+ }
3651
+ ),
3652
+ [0, 1, 2].map((i) => {
3653
+ const y = -pinSpan / 2 + i * pitch;
3654
+ return /* @__PURE__ */ jsx53(
3655
+ Cuboid34,
3656
+ {
3657
+ center: [
3658
+ -bodyWidth / 2 + terminalLength / 2 - 0.1,
3659
+ y,
3660
+ terminalThickness / 2
3661
+ ],
3662
+ size: [terminalLength, terminalWidth, terminalThickness]
3663
+ },
3664
+ `left-${i}`
3665
+ );
3666
+ }),
3667
+ [0, 1, 2].map((i) => {
3668
+ const y = -pinSpan / 2 + i * pitch;
3669
+ return /* @__PURE__ */ jsx53(
3670
+ Cuboid34,
3671
+ {
3672
+ center: [
3673
+ bodyWidth / 2 - terminalLength / 2 + 0.1,
3674
+ y,
3675
+ terminalThickness / 2
3676
+ ],
3677
+ size: [terminalLength, terminalWidth, terminalThickness]
3678
+ },
3679
+ `right-${i}`
3680
+ );
3681
+ })
3682
+ ] });
3683
+ };
3684
+
3620
3685
  // lib/TO92.tsx
3621
3686
  import {
3622
3687
  Colorize as Colorize27,
3623
- Cuboid as Cuboid34,
3688
+ Cuboid as Cuboid35,
3624
3689
  Hull as Hull18,
3625
3690
  Translate as Translate22,
3626
3691
  Cylinder as Cylinder9,
3627
3692
  Subtract as Subtract5
3628
3693
  } from "jscad-fiber";
3629
- import { jsx as jsx53, jsxs as jsxs51 } from "react/jsx-runtime";
3694
+ import { jsx as jsx54, jsxs as jsxs52 } from "react/jsx-runtime";
3630
3695
  var TO92 = () => {
3631
3696
  const bodyRadius = 2.4;
3632
3697
  const bodyHeight = 4.5;
@@ -3647,24 +3712,24 @@ var TO92 = () => {
3647
3712
  const leadMidPosB = [0, 1.28, -2.72];
3648
3713
  const leadTipPos2 = [0, 1.28, -8.9];
3649
3714
  const sideLeadZ = -7.5;
3650
- return /* @__PURE__ */ jsxs51(Translate22, { center: [0, 1, 10.5], children: [
3651
- /* @__PURE__ */ jsx53(Colorize27, { color: bodyColor, children: /* @__PURE__ */ jsxs51(Subtract5, { children: [
3652
- /* @__PURE__ */ jsx53(Translate22, { center: [0, 0, bodyZ], children: /* @__PURE__ */ jsx53(Cylinder9, { radius: bodyRadius, height: bodyHeight }) }),
3653
- /* @__PURE__ */ jsx53(Translate22, { center: [0, -(bodyRadius - flatCut / 2), bodyZ], children: /* @__PURE__ */ jsx53(Cuboid34, { size: [bodyRadius * 2, flatCut, bodyHeight + 0.2] }) })
3715
+ return /* @__PURE__ */ jsxs52(Translate22, { center: [0, 1, 10.5], children: [
3716
+ /* @__PURE__ */ jsx54(Colorize27, { color: bodyColor, children: /* @__PURE__ */ jsxs52(Subtract5, { children: [
3717
+ /* @__PURE__ */ jsx54(Translate22, { center: [0, 0, bodyZ], children: /* @__PURE__ */ jsx54(Cylinder9, { radius: bodyRadius, height: bodyHeight }) }),
3718
+ /* @__PURE__ */ jsx54(Translate22, { center: [0, -(bodyRadius - flatCut / 2), bodyZ], children: /* @__PURE__ */ jsx54(Cuboid35, { size: [bodyRadius * 2, flatCut, bodyHeight + 0.2] }) })
3654
3719
  ] }) }),
3655
- /* @__PURE__ */ jsx53(Translate22, { center: leadTipPos1, children: /* @__PURE__ */ jsx53(Cuboid34, { size: leadTipSize }) }),
3656
- /* @__PURE__ */ jsxs51(Hull18, { children: [
3657
- /* @__PURE__ */ jsx53(Translate22, { center: leadMidPosA, children: /* @__PURE__ */ jsx53(Cuboid34, { size: leadSmallSize }) }),
3658
- /* @__PURE__ */ jsx53(Translate22, { center: leadMidPosB, children: /* @__PURE__ */ jsx53(Cuboid34, { size: leadSmallSize }) })
3720
+ /* @__PURE__ */ jsx54(Translate22, { center: leadTipPos1, children: /* @__PURE__ */ jsx54(Cuboid35, { size: leadTipSize }) }),
3721
+ /* @__PURE__ */ jsxs52(Hull18, { children: [
3722
+ /* @__PURE__ */ jsx54(Translate22, { center: leadMidPosA, children: /* @__PURE__ */ jsx54(Cuboid35, { size: leadSmallSize }) }),
3723
+ /* @__PURE__ */ jsx54(Translate22, { center: leadMidPosB, children: /* @__PURE__ */ jsx54(Cuboid35, { size: leadSmallSize }) })
3659
3724
  ] }),
3660
- /* @__PURE__ */ jsx53(Translate22, { center: leadTipPos2, children: /* @__PURE__ */ jsx53(Cuboid34, { size: [leadLength, legWidth, 12.2] }) }),
3661
- /* @__PURE__ */ jsx53(Translate22, { center: [1.3, 0, sideLeadZ], children: /* @__PURE__ */ jsx53(Cuboid34, { size: [leadLength, legWidth, 15] }) }),
3662
- /* @__PURE__ */ jsx53(Translate22, { center: [-1.3, 0, sideLeadZ], children: /* @__PURE__ */ jsx53(Cuboid34, { size: [leadLength, legWidth, 15] }) })
3725
+ /* @__PURE__ */ jsx54(Translate22, { center: leadTipPos2, children: /* @__PURE__ */ jsx54(Cuboid35, { size: [leadLength, legWidth, 12.2] }) }),
3726
+ /* @__PURE__ */ jsx54(Translate22, { center: [1.3, 0, sideLeadZ], children: /* @__PURE__ */ jsx54(Cuboid35, { size: [leadLength, legWidth, 15] }) }),
3727
+ /* @__PURE__ */ jsx54(Translate22, { center: [-1.3, 0, sideLeadZ], children: /* @__PURE__ */ jsx54(Cuboid35, { size: [leadLength, legWidth, 15] }) })
3663
3728
  ] });
3664
3729
  };
3665
3730
 
3666
3731
  // lib/SOT-363.tsx
3667
- import { Fragment as Fragment49, jsx as jsx54, jsxs as jsxs52 } from "react/jsx-runtime";
3732
+ import { Fragment as Fragment50, jsx as jsx55, jsxs as jsxs53 } from "react/jsx-runtime";
3668
3733
  var SOT363 = () => {
3669
3734
  const fullWidth = 2;
3670
3735
  const bodyWidth = 1.25;
@@ -3675,8 +3740,8 @@ var SOT363 = () => {
3675
3740
  const leadHeight = 0.85;
3676
3741
  const padContactLength = 0.3;
3677
3742
  const extendedBodyDistance = fullWidth - bodyWidth;
3678
- return /* @__PURE__ */ jsxs52(Fragment49, { children: [
3679
- /* @__PURE__ */ jsx54(
3743
+ return /* @__PURE__ */ jsxs53(Fragment50, { children: [
3744
+ /* @__PURE__ */ jsx55(
3680
3745
  SmdChipLead,
3681
3746
  {
3682
3747
  rotation: Math.PI,
@@ -3693,7 +3758,7 @@ var SOT363 = () => {
3693
3758
  },
3694
3759
  1
3695
3760
  ),
3696
- /* @__PURE__ */ jsx54(
3761
+ /* @__PURE__ */ jsx55(
3697
3762
  SmdChipLead,
3698
3763
  {
3699
3764
  rotation: Math.PI,
@@ -3710,7 +3775,7 @@ var SOT363 = () => {
3710
3775
  },
3711
3776
  2
3712
3777
  ),
3713
- /* @__PURE__ */ jsx54(
3778
+ /* @__PURE__ */ jsx55(
3714
3779
  SmdChipLead,
3715
3780
  {
3716
3781
  rotation: Math.PI,
@@ -3727,7 +3792,7 @@ var SOT363 = () => {
3727
3792
  },
3728
3793
  3
3729
3794
  ),
3730
- /* @__PURE__ */ jsx54(
3795
+ /* @__PURE__ */ jsx55(
3731
3796
  SmdChipLead,
3732
3797
  {
3733
3798
  position: {
@@ -3743,7 +3808,7 @@ var SOT363 = () => {
3743
3808
  },
3744
3809
  3
3745
3810
  ),
3746
- /* @__PURE__ */ jsx54(
3811
+ /* @__PURE__ */ jsx55(
3747
3812
  SmdChipLead,
3748
3813
  {
3749
3814
  position: {
@@ -3759,7 +3824,7 @@ var SOT363 = () => {
3759
3824
  },
3760
3825
  1
3761
3826
  ),
3762
- /* @__PURE__ */ jsx54(
3827
+ /* @__PURE__ */ jsx55(
3763
3828
  SmdChipLead,
3764
3829
  {
3765
3830
  position: {
@@ -3775,7 +3840,7 @@ var SOT363 = () => {
3775
3840
  },
3776
3841
  2
3777
3842
  ),
3778
- /* @__PURE__ */ jsx54(
3843
+ /* @__PURE__ */ jsx55(
3779
3844
  ChipBody,
3780
3845
  {
3781
3846
  center: { x: 0, y: 0, z: 0 },
@@ -3795,9 +3860,69 @@ var SOT363 = () => {
3795
3860
  };
3796
3861
  var SOT_363_default = SOT363;
3797
3862
 
3863
+ // lib/SOT-886.tsx
3864
+ import { Cuboid as Cuboid36 } from "jscad-fiber";
3865
+ import { Fragment as Fragment51, jsx as jsx56, jsxs as jsxs54 } from "react/jsx-runtime";
3866
+ var SOT886 = () => {
3867
+ const bodyWidth = 1;
3868
+ const bodyLength10 = 1.45;
3869
+ const bodyHeight = 0.5;
3870
+ const terminalWidth = 0.2;
3871
+ const terminalLength = 0.3;
3872
+ const terminalThickness = 0.05;
3873
+ const pitch = 0.5;
3874
+ const pinsPerSide = 3;
3875
+ const pinSpan = pitch * (pinsPerSide - 1);
3876
+ return /* @__PURE__ */ jsxs54(Fragment51, { children: [
3877
+ /* @__PURE__ */ jsx56(
3878
+ ChipBody,
3879
+ {
3880
+ center: { x: 0, y: 0, z: terminalThickness },
3881
+ width: bodyWidth,
3882
+ length: bodyLength10,
3883
+ height: bodyHeight,
3884
+ heightAboveSurface: 0,
3885
+ color: "#1a1a1a",
3886
+ taperRatio: 0,
3887
+ includeNotch: false
3888
+ }
3889
+ ),
3890
+ [0, 1, 2].map((i) => {
3891
+ const y = -pinSpan / 2 + i * pitch;
3892
+ return /* @__PURE__ */ jsx56(
3893
+ Cuboid36,
3894
+ {
3895
+ center: [
3896
+ -bodyWidth / 2 + terminalLength / 2,
3897
+ y,
3898
+ terminalThickness / 2
3899
+ ],
3900
+ size: [terminalLength, terminalWidth, terminalThickness]
3901
+ },
3902
+ `left-${i}`
3903
+ );
3904
+ }),
3905
+ [0, 1, 2].map((i) => {
3906
+ const y = -pinSpan / 2 + i * pitch;
3907
+ return /* @__PURE__ */ jsx56(
3908
+ Cuboid36,
3909
+ {
3910
+ center: [
3911
+ bodyWidth / 2 - terminalLength / 2,
3912
+ y,
3913
+ terminalThickness / 2
3914
+ ],
3915
+ size: [terminalLength, terminalWidth, terminalThickness]
3916
+ },
3917
+ `right-${i}`
3918
+ );
3919
+ })
3920
+ ] });
3921
+ };
3922
+
3798
3923
  // lib/sod-323.tsx
3799
- import { Colorize as Colorize28, Cuboid as Cuboid35 } from "jscad-fiber";
3800
- import { Fragment as Fragment50, jsx as jsx55, jsxs as jsxs53 } from "react/jsx-runtime";
3924
+ import { Colorize as Colorize28, Cuboid as Cuboid37 } from "jscad-fiber";
3925
+ import { Fragment as Fragment52, jsx as jsx57, jsxs as jsxs55 } from "react/jsx-runtime";
3801
3926
  var SOD323 = () => {
3802
3927
  const fullWidth = 2.5;
3803
3928
  const bodyLength10 = 1.25;
@@ -3809,8 +3934,8 @@ var SOD323 = () => {
3809
3934
  const padCenterX = bodyWidth / 2;
3810
3935
  const bodyDistance = 0.45;
3811
3936
  const leadHeight = 0.7;
3812
- return /* @__PURE__ */ jsxs53(Fragment50, { children: [
3813
- /* @__PURE__ */ jsx55(
3937
+ return /* @__PURE__ */ jsxs55(Fragment52, { children: [
3938
+ /* @__PURE__ */ jsx57(
3814
3939
  SmdChipLead,
3815
3940
  {
3816
3941
  position: {
@@ -3826,7 +3951,7 @@ var SOD323 = () => {
3826
3951
  },
3827
3952
  1
3828
3953
  ),
3829
- /* @__PURE__ */ jsx55(
3954
+ /* @__PURE__ */ jsx57(
3830
3955
  SmdChipLead,
3831
3956
  {
3832
3957
  rotation: Math.PI,
@@ -3843,7 +3968,7 @@ var SOD323 = () => {
3843
3968
  },
3844
3969
  1
3845
3970
  ),
3846
- /* @__PURE__ */ jsx55(Colorize28, { color: "#222", children: /* @__PURE__ */ jsx55(
3971
+ /* @__PURE__ */ jsx57(Colorize28, { color: "#222", children: /* @__PURE__ */ jsx57(
3847
3972
  ChipBody,
3848
3973
  {
3849
3974
  center: { x: 0, y: 0, z: 0 },
@@ -3856,8 +3981,8 @@ var SOD323 = () => {
3856
3981
  heightAboveSurface: 0.05
3857
3982
  }
3858
3983
  ) }),
3859
- /* @__PURE__ */ jsx55(
3860
- Cuboid35,
3984
+ /* @__PURE__ */ jsx57(
3985
+ Cuboid37,
3861
3986
  {
3862
3987
  color: "#777",
3863
3988
  size: [bodyWidth / 3, bodyLength10 - 0.075, 0.02],
@@ -3868,8 +3993,8 @@ var SOD323 = () => {
3868
3993
  };
3869
3994
 
3870
3995
  // lib/sod-323F.tsx
3871
- import { Colorize as Colorize29, Cuboid as Cuboid36, Hull as Hull20, Translate as Translate24, Union as Union18 } from "jscad-fiber";
3872
- import { Fragment as Fragment51, jsx as jsx56, jsxs as jsxs54 } from "react/jsx-runtime";
3996
+ import { Colorize as Colorize29, Cuboid as Cuboid38, Hull as Hull20, Translate as Translate24, Union as Union18 } from "jscad-fiber";
3997
+ import { Fragment as Fragment53, jsx as jsx58, jsxs as jsxs56 } from "react/jsx-runtime";
3873
3998
  var SOD323F = () => {
3874
3999
  const fullWidth = 1.7;
3875
4000
  const bodyLength10 = 1.25;
@@ -3881,37 +4006,37 @@ var SOD323F = () => {
3881
4006
  const rightPadCenterX = fullWidth / 2 + padLength / 2;
3882
4007
  const taperOffset = 0.2;
3883
4008
  const straightHeight = padThickness;
3884
- return /* @__PURE__ */ jsxs54(Fragment51, { children: [
3885
- /* @__PURE__ */ jsx56(
3886
- Cuboid36,
4009
+ return /* @__PURE__ */ jsxs56(Fragment53, { children: [
4010
+ /* @__PURE__ */ jsx58(
4011
+ Cuboid38,
3887
4012
  {
3888
4013
  color: "#ccc",
3889
4014
  size: [padLength, padWidth, padThickness],
3890
4015
  center: [leftPadCenterX, 0, padThickness / 2]
3891
4016
  }
3892
4017
  ),
3893
- /* @__PURE__ */ jsx56(
3894
- Cuboid36,
4018
+ /* @__PURE__ */ jsx58(
4019
+ Cuboid38,
3895
4020
  {
3896
4021
  color: "#ccc",
3897
4022
  size: [padLength, padWidth, padThickness],
3898
4023
  center: [rightPadCenterX, 0, padThickness / 2]
3899
4024
  }
3900
4025
  ),
3901
- /* @__PURE__ */ jsx56(Colorize29, { color: "#222", children: /* @__PURE__ */ jsxs54(Union18, { children: [
3902
- /* @__PURE__ */ jsx56(Translate24, { z: straightHeight / 2, children: /* @__PURE__ */ jsx56(Cuboid36, { size: [fullWidth, bodyLength10, straightHeight] }) }),
3903
- /* @__PURE__ */ jsxs54(Hull20, { children: [
3904
- /* @__PURE__ */ jsx56(Translate24, { z: straightHeight, children: /* @__PURE__ */ jsx56(Cuboid36, { size: [fullWidth, bodyLength10, 0.01] }) }),
3905
- /* @__PURE__ */ jsx56(Translate24, { z: bodyHeight, children: /* @__PURE__ */ jsx56(
3906
- Cuboid36,
4026
+ /* @__PURE__ */ jsx58(Colorize29, { color: "#222", children: /* @__PURE__ */ jsxs56(Union18, { children: [
4027
+ /* @__PURE__ */ jsx58(Translate24, { z: straightHeight / 2, children: /* @__PURE__ */ jsx58(Cuboid38, { size: [fullWidth, bodyLength10, straightHeight] }) }),
4028
+ /* @__PURE__ */ jsxs56(Hull20, { children: [
4029
+ /* @__PURE__ */ jsx58(Translate24, { z: straightHeight, children: /* @__PURE__ */ jsx58(Cuboid38, { size: [fullWidth, bodyLength10, 0.01] }) }),
4030
+ /* @__PURE__ */ jsx58(Translate24, { z: bodyHeight, children: /* @__PURE__ */ jsx58(
4031
+ Cuboid38,
3907
4032
  {
3908
4033
  size: [fullWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
3909
4034
  }
3910
4035
  ) })
3911
4036
  ] })
3912
4037
  ] }) }),
3913
- /* @__PURE__ */ jsx56(
3914
- Cuboid36,
4038
+ /* @__PURE__ */ jsx58(
4039
+ Cuboid38,
3915
4040
  {
3916
4041
  color: "#777",
3917
4042
  size: [fullWidth / 3, bodyLength10 - taperOffset, 0.02],
@@ -3922,8 +4047,8 @@ var SOD323F = () => {
3922
4047
  };
3923
4048
 
3924
4049
  // lib/sod-323FL.tsx
3925
- import { Colorize as Colorize30, Cuboid as Cuboid37 } from "jscad-fiber";
3926
- import { Fragment as Fragment52, jsx as jsx57, jsxs as jsxs55 } from "react/jsx-runtime";
4050
+ import { Colorize as Colorize30, Cuboid as Cuboid39 } from "jscad-fiber";
4051
+ import { Fragment as Fragment54, jsx as jsx59, jsxs as jsxs57 } from "react/jsx-runtime";
3927
4052
  var SOD323FL = () => {
3928
4053
  const fullWidth = 1.775;
3929
4054
  const bodyLength10 = 1.25;
@@ -3934,24 +4059,24 @@ var SOD323FL = () => {
3934
4059
  const leftPadCenterX = -fullWidth / 2 - padLength / 2 + 0.04;
3935
4060
  const rightPadCenterX = fullWidth / 2 + padLength / 2 - 0.04;
3936
4061
  const taperOffset = 0.2;
3937
- return /* @__PURE__ */ jsxs55(Fragment52, { children: [
3938
- /* @__PURE__ */ jsx57(
3939
- Cuboid37,
4062
+ return /* @__PURE__ */ jsxs57(Fragment54, { children: [
4063
+ /* @__PURE__ */ jsx59(
4064
+ Cuboid39,
3940
4065
  {
3941
4066
  color: "#ccc",
3942
4067
  size: [padLength, padWidth, padThickness],
3943
4068
  center: [leftPadCenterX, 0, padThickness / 2]
3944
4069
  }
3945
4070
  ),
3946
- /* @__PURE__ */ jsx57(
3947
- Cuboid37,
4071
+ /* @__PURE__ */ jsx59(
4072
+ Cuboid39,
3948
4073
  {
3949
4074
  color: "#ccc",
3950
4075
  size: [padLength, padWidth, padThickness],
3951
4076
  center: [rightPadCenterX, 0, padThickness / 2]
3952
4077
  }
3953
4078
  ),
3954
- /* @__PURE__ */ jsx57(Colorize30, { color: "#222", children: /* @__PURE__ */ jsx57(
4079
+ /* @__PURE__ */ jsx59(Colorize30, { color: "#222", children: /* @__PURE__ */ jsx59(
3955
4080
  ChipBody,
3956
4081
  {
3957
4082
  width: fullWidth,
@@ -3964,8 +4089,8 @@ var SOD323FL = () => {
3964
4089
  includeNotch: false
3965
4090
  }
3966
4091
  ) }),
3967
- /* @__PURE__ */ jsx57(
3968
- Cuboid37,
4092
+ /* @__PURE__ */ jsx59(
4093
+ Cuboid39,
3969
4094
  {
3970
4095
  color: "#777",
3971
4096
  size: [fullWidth / 3, bodyLength10 - 0.05, 0.02],
@@ -3976,14 +4101,14 @@ var SOD323FL = () => {
3976
4101
  };
3977
4102
 
3978
4103
  // lib/Footprinter3d.tsx
3979
- import { jsx as jsx58 } from "react/jsx-runtime";
4104
+ import { jsx as jsx60 } from "react/jsx-runtime";
3980
4105
  var Footprinter3d = ({ footprint }) => {
3981
4106
  const fpJson = fp3.string(footprint).json();
3982
4107
  switch (fpJson.fn) {
3983
4108
  case "dip":
3984
- return /* @__PURE__ */ jsx58(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
4109
+ return /* @__PURE__ */ jsx60(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
3985
4110
  case "tssop":
3986
- return /* @__PURE__ */ jsx58(
4111
+ return /* @__PURE__ */ jsx60(
3987
4112
  Tssop,
3988
4113
  {
3989
4114
  pinCount: fpJson.num_pins,
@@ -3994,7 +4119,7 @@ var Footprinter3d = ({ footprint }) => {
3994
4119
  }
3995
4120
  );
3996
4121
  case "msop":
3997
- return /* @__PURE__ */ jsx58(
4122
+ return /* @__PURE__ */ jsx60(
3998
4123
  MSOP,
3999
4124
  {
4000
4125
  pinCount: fpJson.num_pins,
@@ -4005,7 +4130,7 @@ var Footprinter3d = ({ footprint }) => {
4005
4130
  }
4006
4131
  );
4007
4132
  case "vssop":
4008
- return /* @__PURE__ */ jsx58(
4133
+ return /* @__PURE__ */ jsx60(
4009
4134
  VSSOP,
4010
4135
  {
4011
4136
  pinCount: fpJson.num_pins,
@@ -4017,7 +4142,7 @@ var Footprinter3d = ({ footprint }) => {
4017
4142
  }
4018
4143
  );
4019
4144
  case "qfp":
4020
- return /* @__PURE__ */ jsx58(
4145
+ return /* @__PURE__ */ jsx60(
4021
4146
  QFP,
4022
4147
  {
4023
4148
  pinCount: fpJson.num_pins,
@@ -4028,12 +4153,12 @@ var Footprinter3d = ({ footprint }) => {
4028
4153
  }
4029
4154
  );
4030
4155
  case "tqfp":
4031
- return /* @__PURE__ */ jsx58(tqfp_default, {});
4156
+ return /* @__PURE__ */ jsx60(tqfp_default, {});
4032
4157
  case "lqfp":
4033
- return /* @__PURE__ */ jsx58(LQFP, { pinCount: fpJson.num_pins });
4158
+ return /* @__PURE__ */ jsx60(LQFP, { pinCount: fpJson.num_pins });
4034
4159
  case "qfn": {
4035
4160
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
4036
- return /* @__PURE__ */ jsx58(
4161
+ return /* @__PURE__ */ jsx60(
4037
4162
  qfn_default,
4038
4163
  {
4039
4164
  num_pins: fpJson.num_pins,
@@ -4051,7 +4176,7 @@ var Footprinter3d = ({ footprint }) => {
4051
4176
  }
4052
4177
  case "dfn": {
4053
4178
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
4054
- return /* @__PURE__ */ jsx58(
4179
+ return /* @__PURE__ */ jsx60(
4055
4180
  DFN,
4056
4181
  {
4057
4182
  num_pins: fpJson.num_pins,
@@ -4069,49 +4194,53 @@ var Footprinter3d = ({ footprint }) => {
4069
4194
  }
4070
4195
  case "pinrow":
4071
4196
  if (fpJson.male)
4072
- return /* @__PURE__ */ jsx58(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
4197
+ return /* @__PURE__ */ jsx60(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
4073
4198
  if (fpJson.female)
4074
- return /* @__PURE__ */ jsx58(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
4199
+ return /* @__PURE__ */ jsx60(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
4075
4200
  case "cap": {
4076
4201
  switch (fpJson.imperial) {
4077
4202
  case "0402":
4078
- return /* @__PURE__ */ jsx58(A0402, { color: "#856c4d" });
4203
+ return /* @__PURE__ */ jsx60(A0402, { color: "#856c4d" });
4079
4204
  case "0603":
4080
- return /* @__PURE__ */ jsx58(A0603, { color: "#856c4d" });
4205
+ return /* @__PURE__ */ jsx60(A0603, { color: "#856c4d" });
4081
4206
  case "0805":
4082
- return /* @__PURE__ */ jsx58(A0805, { color: "#856c4d" });
4207
+ return /* @__PURE__ */ jsx60(A0805, { color: "#856c4d" });
4083
4208
  case "0201":
4084
- return /* @__PURE__ */ jsx58(A0201, { color: "#856c4d" });
4209
+ return /* @__PURE__ */ jsx60(A0201, { color: "#856c4d" });
4085
4210
  case "01005":
4086
- return /* @__PURE__ */ jsx58(A01005, { color: "#856c4d" });
4211
+ return /* @__PURE__ */ jsx60(A01005, { color: "#856c4d" });
4087
4212
  case "1206":
4088
- return /* @__PURE__ */ jsx58(A1206, { color: "#856c4d" });
4213
+ return /* @__PURE__ */ jsx60(A1206, { color: "#856c4d" });
4089
4214
  case "1210":
4090
- return /* @__PURE__ */ jsx58(A1210, { color: "#856c4d" });
4215
+ return /* @__PURE__ */ jsx60(A1210, { color: "#856c4d" });
4091
4216
  case "2010":
4092
- return /* @__PURE__ */ jsx58(A2010, { color: "#856c4d" });
4217
+ return /* @__PURE__ */ jsx60(A2010, { color: "#856c4d" });
4093
4218
  case "2512":
4094
- return /* @__PURE__ */ jsx58(A2512, { color: "#856c4d" });
4219
+ return /* @__PURE__ */ jsx60(A2512, { color: "#856c4d" });
4095
4220
  }
4096
4221
  }
4097
4222
  case "sot235":
4098
- return /* @__PURE__ */ jsx58(SOT_235_default, {});
4223
+ return /* @__PURE__ */ jsx60(SOT_235_default, {});
4099
4224
  case "sot457":
4100
- return /* @__PURE__ */ jsx58(SOT457, {});
4225
+ return /* @__PURE__ */ jsx60(SOT457, {});
4101
4226
  case "sot223":
4102
- return /* @__PURE__ */ jsx58(SOT223, {});
4227
+ return /* @__PURE__ */ jsx60(SOT223, {});
4103
4228
  case "sot23w":
4104
- return /* @__PURE__ */ jsx58(SOT23W, {});
4229
+ return /* @__PURE__ */ jsx60(SOT23W, {});
4105
4230
  case "sot323":
4106
- return /* @__PURE__ */ jsx58(SOT323, {});
4231
+ return /* @__PURE__ */ jsx60(SOT323, {});
4107
4232
  case "sod323f":
4108
- return /* @__PURE__ */ jsx58(SOD323F, {});
4233
+ return /* @__PURE__ */ jsx60(SOD323F, {});
4109
4234
  case "sod323fl":
4110
- return /* @__PURE__ */ jsx58(SOD323FL, {});
4235
+ return /* @__PURE__ */ jsx60(SOD323FL, {});
4111
4236
  case "sot363":
4112
- return /* @__PURE__ */ jsx58(SOT_363_default, {});
4237
+ return /* @__PURE__ */ jsx60(SOT_363_default, {});
4238
+ case "sot886":
4239
+ return /* @__PURE__ */ jsx60(SOT886, {});
4240
+ case "sot963":
4241
+ return /* @__PURE__ */ jsx60(SOT963, {});
4113
4242
  case "pushbutton":
4114
- return /* @__PURE__ */ jsx58(
4243
+ return /* @__PURE__ */ jsx60(
4115
4244
  PushButton,
4116
4245
  {
4117
4246
  width: fpJson.w,
@@ -4120,7 +4249,7 @@ var Footprinter3d = ({ footprint }) => {
4120
4249
  }
4121
4250
  );
4122
4251
  case "soic":
4123
- return /* @__PURE__ */ jsx58(
4252
+ return /* @__PURE__ */ jsx60(
4124
4253
  SOIC,
4125
4254
  {
4126
4255
  pinCount: fpJson.num_pins,
@@ -4131,39 +4260,39 @@ var Footprinter3d = ({ footprint }) => {
4131
4260
  }
4132
4261
  );
4133
4262
  case "sod523":
4134
- return /* @__PURE__ */ jsx58(SOD523, {});
4263
+ return /* @__PURE__ */ jsx60(SOD523, {});
4135
4264
  case "sod882":
4136
- return /* @__PURE__ */ jsx58(SOD882, {});
4265
+ return /* @__PURE__ */ jsx60(SOD882, {});
4137
4266
  case "sma":
4138
- return /* @__PURE__ */ jsx58(SMA, {});
4267
+ return /* @__PURE__ */ jsx60(SMA, {});
4139
4268
  case "smb":
4140
- return /* @__PURE__ */ jsx58(SMB, {});
4269
+ return /* @__PURE__ */ jsx60(SMB, {});
4141
4270
  case "smc":
4142
- return /* @__PURE__ */ jsx58(SMC, {});
4271
+ return /* @__PURE__ */ jsx60(SMC, {});
4143
4272
  case "smf":
4144
- return /* @__PURE__ */ jsx58(SMF, {});
4273
+ return /* @__PURE__ */ jsx60(SMF, {});
4145
4274
  case "sod123f":
4146
- return /* @__PURE__ */ jsx58(SOD123F, {});
4275
+ return /* @__PURE__ */ jsx60(SOD123F, {});
4147
4276
  case "sod123fl":
4148
- return /* @__PURE__ */ jsx58(SOD123FL, {});
4277
+ return /* @__PURE__ */ jsx60(SOD123FL, {});
4149
4278
  case "sod123w":
4150
- return /* @__PURE__ */ jsx58(SOD123W, {});
4279
+ return /* @__PURE__ */ jsx60(SOD123W, {});
4151
4280
  case "sod128":
4152
- return /* @__PURE__ */ jsx58(SOD128, {});
4281
+ return /* @__PURE__ */ jsx60(SOD128, {});
4153
4282
  case "sod323":
4154
- return /* @__PURE__ */ jsx58(SOD323, {});
4283
+ return /* @__PURE__ */ jsx60(SOD323, {});
4155
4284
  case "sod923":
4156
- return /* @__PURE__ */ jsx58(SOD923, {});
4285
+ return /* @__PURE__ */ jsx60(SOD923, {});
4157
4286
  case "hc49":
4158
- return /* @__PURE__ */ jsx58(HC49, {});
4287
+ return /* @__PURE__ */ jsx60(HC49, {});
4159
4288
  case "micromelf":
4160
- return /* @__PURE__ */ jsx58(MicroMELF, {});
4289
+ return /* @__PURE__ */ jsx60(MicroMELF, {});
4161
4290
  case "minimelf":
4162
- return /* @__PURE__ */ jsx58(MINIMELF, {});
4291
+ return /* @__PURE__ */ jsx60(MINIMELF, {});
4163
4292
  case "melf":
4164
- return /* @__PURE__ */ jsx58(MELF, {});
4293
+ return /* @__PURE__ */ jsx60(MELF, {});
4165
4294
  case "ms012":
4166
- return /* @__PURE__ */ jsx58(
4295
+ return /* @__PURE__ */ jsx60(
4167
4296
  MS012,
4168
4297
  {
4169
4298
  pinCount: fpJson.num_pins,
@@ -4173,7 +4302,7 @@ var Footprinter3d = ({ footprint }) => {
4173
4302
  }
4174
4303
  );
4175
4304
  case "ms013":
4176
- return /* @__PURE__ */ jsx58(
4305
+ return /* @__PURE__ */ jsx60(
4177
4306
  MS013,
4178
4307
  {
4179
4308
  pinCount: fpJson.num_pins,
@@ -4183,39 +4312,39 @@ var Footprinter3d = ({ footprint }) => {
4183
4312
  }
4184
4313
  );
4185
4314
  case "sot723":
4186
- return /* @__PURE__ */ jsx58(SOT723, {});
4315
+ return /* @__PURE__ */ jsx60(SOT723, {});
4187
4316
  case "to220":
4188
- return /* @__PURE__ */ jsx58(TO220, {});
4317
+ return /* @__PURE__ */ jsx60(TO220, {});
4189
4318
  case "to92":
4190
- return /* @__PURE__ */ jsx58(TO92, {});
4319
+ return /* @__PURE__ */ jsx60(TO92, {});
4191
4320
  }
4192
4321
  const colorMatch = footprint.match(/_color\(([^)]+)\)/);
4193
4322
  const color = colorMatch ? colorMatch[1] : void 0;
4194
4323
  switch (fpJson.imperial) {
4195
4324
  case "0402":
4196
- return /* @__PURE__ */ jsx58(A0402, { color });
4325
+ return /* @__PURE__ */ jsx60(A0402, { color });
4197
4326
  case "0603":
4198
- return /* @__PURE__ */ jsx58(A0603, { color });
4327
+ return /* @__PURE__ */ jsx60(A0603, { color });
4199
4328
  case "0805":
4200
- return /* @__PURE__ */ jsx58(A0805, { color });
4329
+ return /* @__PURE__ */ jsx60(A0805, { color });
4201
4330
  case "0201":
4202
- return /* @__PURE__ */ jsx58(A0201, { color });
4331
+ return /* @__PURE__ */ jsx60(A0201, { color });
4203
4332
  case "01005":
4204
- return /* @__PURE__ */ jsx58(A01005, { color });
4333
+ return /* @__PURE__ */ jsx60(A01005, { color });
4205
4334
  case "1206":
4206
- return /* @__PURE__ */ jsx58(A1206, { color });
4335
+ return /* @__PURE__ */ jsx60(A1206, { color });
4207
4336
  case "1210":
4208
- return /* @__PURE__ */ jsx58(A1210, { color });
4337
+ return /* @__PURE__ */ jsx60(A1210, { color });
4209
4338
  case "2010":
4210
- return /* @__PURE__ */ jsx58(A2010, { color });
4339
+ return /* @__PURE__ */ jsx60(A2010, { color });
4211
4340
  case "2512":
4212
- return /* @__PURE__ */ jsx58(A2512, { color });
4341
+ return /* @__PURE__ */ jsx60(A2512, { color });
4213
4342
  }
4214
4343
  return null;
4215
4344
  };
4216
4345
 
4217
4346
  // lib/SOT-23-3P.tsx
4218
- import { Fragment as Fragment53, jsx as jsx59, jsxs as jsxs56 } from "react/jsx-runtime";
4347
+ import { Fragment as Fragment55, jsx as jsx61, jsxs as jsxs58 } from "react/jsx-runtime";
4219
4348
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4220
4349
  const bodyWidth = 1.3;
4221
4350
  const bodyLength10 = 2.9;
@@ -4226,8 +4355,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4226
4355
  const padContactLength = 0.4;
4227
4356
  const padThickness = leadThickness / 2;
4228
4357
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
4229
- return /* @__PURE__ */ jsxs56(Fragment53, { children: [
4230
- /* @__PURE__ */ jsx59(
4358
+ return /* @__PURE__ */ jsxs58(Fragment55, { children: [
4359
+ /* @__PURE__ */ jsx61(
4231
4360
  SmdChipLead,
4232
4361
  {
4233
4362
  rotation: Math.PI,
@@ -4244,7 +4373,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4244
4373
  },
4245
4374
  1
4246
4375
  ),
4247
- /* @__PURE__ */ jsx59(
4376
+ /* @__PURE__ */ jsx61(
4248
4377
  SmdChipLead,
4249
4378
  {
4250
4379
  rotation: Math.PI,
@@ -4261,7 +4390,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4261
4390
  },
4262
4391
  2
4263
4392
  ),
4264
- /* @__PURE__ */ jsx59(
4393
+ /* @__PURE__ */ jsx61(
4265
4394
  SmdChipLead,
4266
4395
  {
4267
4396
  position: {
@@ -4277,7 +4406,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4277
4406
  },
4278
4407
  3
4279
4408
  ),
4280
- /* @__PURE__ */ jsx59(
4409
+ /* @__PURE__ */ jsx61(
4281
4410
  ChipBody,
4282
4411
  {
4283
4412
  center: { x: 0, y: 0, z: 0 },
@@ -4290,8 +4419,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4290
4419
  };
4291
4420
 
4292
4421
  // lib/SOT-563.tsx
4293
- import { Cuboid as Cuboid38, Translate as Translate26, Rotate as Rotate10, Colorize as Colorize31 } from "jscad-fiber";
4294
- import { Fragment as Fragment54, jsx as jsx60, jsxs as jsxs57 } from "react/jsx-runtime";
4422
+ import { Cuboid as Cuboid40, Translate as Translate26, Rotate as Rotate10, Colorize as Colorize31 } from "jscad-fiber";
4423
+ import { Fragment as Fragment56, jsx as jsx62, jsxs as jsxs59 } from "react/jsx-runtime";
4295
4424
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
4296
4425
  const bodyWidth = 1.2;
4297
4426
  const bodyLength10 = 1.6;
@@ -4301,11 +4430,11 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
4301
4430
  const leadHeight = 0.13;
4302
4431
  const leadSpacing = 0.5;
4303
4432
  const bodyZOffset = -0.4;
4304
- return /* @__PURE__ */ jsxs57(Fragment54, { children: [
4305
- /* @__PURE__ */ jsx60(Rotate10, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx60(Translate26, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx60(Colorize31, { color: "grey", children: /* @__PURE__ */ jsx60(Cuboid38, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
4433
+ return /* @__PURE__ */ jsxs59(Fragment56, { children: [
4434
+ /* @__PURE__ */ jsx62(Rotate10, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx62(Translate26, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx62(Colorize31, { color: "grey", children: /* @__PURE__ */ jsx62(Cuboid40, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
4306
4435
  [-1, 0, 1].flatMap((yOffset, index) => [
4307
4436
  // Left lead
4308
- /* @__PURE__ */ jsx60(
4437
+ /* @__PURE__ */ jsx62(
4309
4438
  Translate26,
4310
4439
  {
4311
4440
  center: [
@@ -4313,16 +4442,16 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
4313
4442
  yOffset * leadSpacing,
4314
4443
  leadHeight / 2
4315
4444
  ],
4316
- children: /* @__PURE__ */ jsx60(Cuboid38, { size: [leadLength, leadWidth, leadHeight] })
4445
+ children: /* @__PURE__ */ jsx62(Cuboid40, { size: [leadLength, leadWidth, leadHeight] })
4317
4446
  },
4318
4447
  `left-${index}`
4319
4448
  ),
4320
4449
  // Right lead
4321
- /* @__PURE__ */ jsx60(
4450
+ /* @__PURE__ */ jsx62(
4322
4451
  Translate26,
4323
4452
  {
4324
4453
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
4325
- children: /* @__PURE__ */ jsx60(Cuboid38, { size: [leadLength, leadWidth, leadHeight] })
4454
+ children: /* @__PURE__ */ jsx62(Cuboid40, { size: [leadLength, leadWidth, leadHeight] })
4326
4455
  },
4327
4456
  `right-${index}`
4328
4457
  )
@@ -4331,7 +4460,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
4331
4460
  };
4332
4461
 
4333
4462
  // lib/sod-123.tsx
4334
- import { Fragment as Fragment55, jsx as jsx61, jsxs as jsxs58 } from "react/jsx-runtime";
4463
+ import { Fragment as Fragment57, jsx as jsx63, jsxs as jsxs60 } from "react/jsx-runtime";
4335
4464
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
4336
4465
  const bodyWidth = 2.9;
4337
4466
  const bodyLength10 = 1.3;
@@ -4342,8 +4471,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
4342
4471
  const padContactLength = 0.4;
4343
4472
  const padThickness = leadThickness / 2;
4344
4473
  const bodyDistance = (fullWidth - bodyWidth) / 2;
4345
- return /* @__PURE__ */ jsxs58(Fragment55, { children: [
4346
- /* @__PURE__ */ jsx61(
4474
+ return /* @__PURE__ */ jsxs60(Fragment57, { children: [
4475
+ /* @__PURE__ */ jsx63(
4347
4476
  SmdChipLead,
4348
4477
  {
4349
4478
  position: {
@@ -4359,7 +4488,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
4359
4488
  },
4360
4489
  1
4361
4490
  ),
4362
- /* @__PURE__ */ jsx61(
4491
+ /* @__PURE__ */ jsx63(
4363
4492
  SmdChipLead,
4364
4493
  {
4365
4494
  rotation: Math.PI,
@@ -4376,7 +4505,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
4376
4505
  },
4377
4506
  2
4378
4507
  ),
4379
- /* @__PURE__ */ jsx61(
4508
+ /* @__PURE__ */ jsx63(
4380
4509
  ChipBody,
4381
4510
  {
4382
4511
  center: { x: 0, y: 0, z: 0 },
@@ -4438,6 +4567,8 @@ export {
4438
4567
  SOT457,
4439
4568
  SOT563,
4440
4569
  SOT723,
4570
+ SOT886,
4571
+ SOT963,
4441
4572
  SmdChipLead,
4442
4573
  TO220,
4443
4574
  TO92,