jscad-electronics 0.0.103 → 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],
@@ -3921,15 +4046,69 @@ var SOD323F = () => {
3921
4046
  ] });
3922
4047
  };
3923
4048
 
4049
+ // lib/sod-323FL.tsx
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";
4052
+ var SOD323FL = () => {
4053
+ const fullWidth = 1.775;
4054
+ const bodyLength10 = 1.25;
4055
+ const bodyHeight = 0.725;
4056
+ const padWidth = 0.325;
4057
+ const padLength = 0.4;
4058
+ const padThickness = 0.13;
4059
+ const leftPadCenterX = -fullWidth / 2 - padLength / 2 + 0.04;
4060
+ const rightPadCenterX = fullWidth / 2 + padLength / 2 - 0.04;
4061
+ const taperOffset = 0.2;
4062
+ return /* @__PURE__ */ jsxs57(Fragment54, { children: [
4063
+ /* @__PURE__ */ jsx59(
4064
+ Cuboid39,
4065
+ {
4066
+ color: "#ccc",
4067
+ size: [padLength, padWidth, padThickness],
4068
+ center: [leftPadCenterX, 0, padThickness / 2]
4069
+ }
4070
+ ),
4071
+ /* @__PURE__ */ jsx59(
4072
+ Cuboid39,
4073
+ {
4074
+ color: "#ccc",
4075
+ size: [padLength, padWidth, padThickness],
4076
+ center: [rightPadCenterX, 0, padThickness / 2]
4077
+ }
4078
+ ),
4079
+ /* @__PURE__ */ jsx59(Colorize30, { color: "#222", children: /* @__PURE__ */ jsx59(
4080
+ ChipBody,
4081
+ {
4082
+ width: fullWidth,
4083
+ length: bodyLength10,
4084
+ height: bodyHeight,
4085
+ center: { x: 0, y: 0, z: 0 },
4086
+ heightAboveSurface: 0,
4087
+ straightHeightRatio: 0.7,
4088
+ taperRatio: 0.06,
4089
+ includeNotch: false
4090
+ }
4091
+ ) }),
4092
+ /* @__PURE__ */ jsx59(
4093
+ Cuboid39,
4094
+ {
4095
+ color: "#777",
4096
+ size: [fullWidth / 3, bodyLength10 - 0.05, 0.02],
4097
+ center: [leftPadCenterX + fullWidth / 4.4 + taperOffset, 0, bodyHeight]
4098
+ }
4099
+ )
4100
+ ] });
4101
+ };
4102
+
3924
4103
  // lib/Footprinter3d.tsx
3925
- import { jsx as jsx57 } from "react/jsx-runtime";
4104
+ import { jsx as jsx60 } from "react/jsx-runtime";
3926
4105
  var Footprinter3d = ({ footprint }) => {
3927
4106
  const fpJson = fp3.string(footprint).json();
3928
4107
  switch (fpJson.fn) {
3929
4108
  case "dip":
3930
- return /* @__PURE__ */ jsx57(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 });
3931
4110
  case "tssop":
3932
- return /* @__PURE__ */ jsx57(
4111
+ return /* @__PURE__ */ jsx60(
3933
4112
  Tssop,
3934
4113
  {
3935
4114
  pinCount: fpJson.num_pins,
@@ -3940,7 +4119,7 @@ var Footprinter3d = ({ footprint }) => {
3940
4119
  }
3941
4120
  );
3942
4121
  case "msop":
3943
- return /* @__PURE__ */ jsx57(
4122
+ return /* @__PURE__ */ jsx60(
3944
4123
  MSOP,
3945
4124
  {
3946
4125
  pinCount: fpJson.num_pins,
@@ -3951,7 +4130,7 @@ var Footprinter3d = ({ footprint }) => {
3951
4130
  }
3952
4131
  );
3953
4132
  case "vssop":
3954
- return /* @__PURE__ */ jsx57(
4133
+ return /* @__PURE__ */ jsx60(
3955
4134
  VSSOP,
3956
4135
  {
3957
4136
  pinCount: fpJson.num_pins,
@@ -3963,7 +4142,7 @@ var Footprinter3d = ({ footprint }) => {
3963
4142
  }
3964
4143
  );
3965
4144
  case "qfp":
3966
- return /* @__PURE__ */ jsx57(
4145
+ return /* @__PURE__ */ jsx60(
3967
4146
  QFP,
3968
4147
  {
3969
4148
  pinCount: fpJson.num_pins,
@@ -3974,12 +4153,12 @@ var Footprinter3d = ({ footprint }) => {
3974
4153
  }
3975
4154
  );
3976
4155
  case "tqfp":
3977
- return /* @__PURE__ */ jsx57(tqfp_default, {});
4156
+ return /* @__PURE__ */ jsx60(tqfp_default, {});
3978
4157
  case "lqfp":
3979
- return /* @__PURE__ */ jsx57(LQFP, { pinCount: fpJson.num_pins });
4158
+ return /* @__PURE__ */ jsx60(LQFP, { pinCount: fpJson.num_pins });
3980
4159
  case "qfn": {
3981
4160
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
3982
- return /* @__PURE__ */ jsx57(
4161
+ return /* @__PURE__ */ jsx60(
3983
4162
  qfn_default,
3984
4163
  {
3985
4164
  num_pins: fpJson.num_pins,
@@ -3997,7 +4176,7 @@ var Footprinter3d = ({ footprint }) => {
3997
4176
  }
3998
4177
  case "dfn": {
3999
4178
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
4000
- return /* @__PURE__ */ jsx57(
4179
+ return /* @__PURE__ */ jsx60(
4001
4180
  DFN,
4002
4181
  {
4003
4182
  num_pins: fpJson.num_pins,
@@ -4015,47 +4194,53 @@ var Footprinter3d = ({ footprint }) => {
4015
4194
  }
4016
4195
  case "pinrow":
4017
4196
  if (fpJson.male)
4018
- return /* @__PURE__ */ jsx57(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
4197
+ return /* @__PURE__ */ jsx60(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
4019
4198
  if (fpJson.female)
4020
- return /* @__PURE__ */ jsx57(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
4199
+ return /* @__PURE__ */ jsx60(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
4021
4200
  case "cap": {
4022
4201
  switch (fpJson.imperial) {
4023
4202
  case "0402":
4024
- return /* @__PURE__ */ jsx57(A0402, { color: "#856c4d" });
4203
+ return /* @__PURE__ */ jsx60(A0402, { color: "#856c4d" });
4025
4204
  case "0603":
4026
- return /* @__PURE__ */ jsx57(A0603, { color: "#856c4d" });
4205
+ return /* @__PURE__ */ jsx60(A0603, { color: "#856c4d" });
4027
4206
  case "0805":
4028
- return /* @__PURE__ */ jsx57(A0805, { color: "#856c4d" });
4207
+ return /* @__PURE__ */ jsx60(A0805, { color: "#856c4d" });
4029
4208
  case "0201":
4030
- return /* @__PURE__ */ jsx57(A0201, { color: "#856c4d" });
4209
+ return /* @__PURE__ */ jsx60(A0201, { color: "#856c4d" });
4031
4210
  case "01005":
4032
- return /* @__PURE__ */ jsx57(A01005, { color: "#856c4d" });
4211
+ return /* @__PURE__ */ jsx60(A01005, { color: "#856c4d" });
4033
4212
  case "1206":
4034
- return /* @__PURE__ */ jsx57(A1206, { color: "#856c4d" });
4213
+ return /* @__PURE__ */ jsx60(A1206, { color: "#856c4d" });
4035
4214
  case "1210":
4036
- return /* @__PURE__ */ jsx57(A1210, { color: "#856c4d" });
4215
+ return /* @__PURE__ */ jsx60(A1210, { color: "#856c4d" });
4037
4216
  case "2010":
4038
- return /* @__PURE__ */ jsx57(A2010, { color: "#856c4d" });
4217
+ return /* @__PURE__ */ jsx60(A2010, { color: "#856c4d" });
4039
4218
  case "2512":
4040
- return /* @__PURE__ */ jsx57(A2512, { color: "#856c4d" });
4219
+ return /* @__PURE__ */ jsx60(A2512, { color: "#856c4d" });
4041
4220
  }
4042
4221
  }
4043
4222
  case "sot235":
4044
- return /* @__PURE__ */ jsx57(SOT_235_default, {});
4223
+ return /* @__PURE__ */ jsx60(SOT_235_default, {});
4045
4224
  case "sot457":
4046
- return /* @__PURE__ */ jsx57(SOT457, {});
4225
+ return /* @__PURE__ */ jsx60(SOT457, {});
4047
4226
  case "sot223":
4048
- return /* @__PURE__ */ jsx57(SOT223, {});
4227
+ return /* @__PURE__ */ jsx60(SOT223, {});
4049
4228
  case "sot23w":
4050
- return /* @__PURE__ */ jsx57(SOT23W, {});
4229
+ return /* @__PURE__ */ jsx60(SOT23W, {});
4051
4230
  case "sot323":
4052
- return /* @__PURE__ */ jsx57(SOT323, {});
4231
+ return /* @__PURE__ */ jsx60(SOT323, {});
4053
4232
  case "sod323f":
4054
- return /* @__PURE__ */ jsx57(SOD323F, {});
4233
+ return /* @__PURE__ */ jsx60(SOD323F, {});
4234
+ case "sod323fl":
4235
+ return /* @__PURE__ */ jsx60(SOD323FL, {});
4055
4236
  case "sot363":
4056
- return /* @__PURE__ */ jsx57(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, {});
4057
4242
  case "pushbutton":
4058
- return /* @__PURE__ */ jsx57(
4243
+ return /* @__PURE__ */ jsx60(
4059
4244
  PushButton,
4060
4245
  {
4061
4246
  width: fpJson.w,
@@ -4064,7 +4249,7 @@ var Footprinter3d = ({ footprint }) => {
4064
4249
  }
4065
4250
  );
4066
4251
  case "soic":
4067
- return /* @__PURE__ */ jsx57(
4252
+ return /* @__PURE__ */ jsx60(
4068
4253
  SOIC,
4069
4254
  {
4070
4255
  pinCount: fpJson.num_pins,
@@ -4075,39 +4260,39 @@ var Footprinter3d = ({ footprint }) => {
4075
4260
  }
4076
4261
  );
4077
4262
  case "sod523":
4078
- return /* @__PURE__ */ jsx57(SOD523, {});
4263
+ return /* @__PURE__ */ jsx60(SOD523, {});
4079
4264
  case "sod882":
4080
- return /* @__PURE__ */ jsx57(SOD882, {});
4265
+ return /* @__PURE__ */ jsx60(SOD882, {});
4081
4266
  case "sma":
4082
- return /* @__PURE__ */ jsx57(SMA, {});
4267
+ return /* @__PURE__ */ jsx60(SMA, {});
4083
4268
  case "smb":
4084
- return /* @__PURE__ */ jsx57(SMB, {});
4269
+ return /* @__PURE__ */ jsx60(SMB, {});
4085
4270
  case "smc":
4086
- return /* @__PURE__ */ jsx57(SMC, {});
4271
+ return /* @__PURE__ */ jsx60(SMC, {});
4087
4272
  case "smf":
4088
- return /* @__PURE__ */ jsx57(SMF, {});
4273
+ return /* @__PURE__ */ jsx60(SMF, {});
4089
4274
  case "sod123f":
4090
- return /* @__PURE__ */ jsx57(SOD123F, {});
4275
+ return /* @__PURE__ */ jsx60(SOD123F, {});
4091
4276
  case "sod123fl":
4092
- return /* @__PURE__ */ jsx57(SOD123FL, {});
4277
+ return /* @__PURE__ */ jsx60(SOD123FL, {});
4093
4278
  case "sod123w":
4094
- return /* @__PURE__ */ jsx57(SOD123W, {});
4279
+ return /* @__PURE__ */ jsx60(SOD123W, {});
4095
4280
  case "sod128":
4096
- return /* @__PURE__ */ jsx57(SOD128, {});
4281
+ return /* @__PURE__ */ jsx60(SOD128, {});
4097
4282
  case "sod323":
4098
- return /* @__PURE__ */ jsx57(SOD323, {});
4283
+ return /* @__PURE__ */ jsx60(SOD323, {});
4099
4284
  case "sod923":
4100
- return /* @__PURE__ */ jsx57(SOD923, {});
4285
+ return /* @__PURE__ */ jsx60(SOD923, {});
4101
4286
  case "hc49":
4102
- return /* @__PURE__ */ jsx57(HC49, {});
4287
+ return /* @__PURE__ */ jsx60(HC49, {});
4103
4288
  case "micromelf":
4104
- return /* @__PURE__ */ jsx57(MicroMELF, {});
4289
+ return /* @__PURE__ */ jsx60(MicroMELF, {});
4105
4290
  case "minimelf":
4106
- return /* @__PURE__ */ jsx57(MINIMELF, {});
4291
+ return /* @__PURE__ */ jsx60(MINIMELF, {});
4107
4292
  case "melf":
4108
- return /* @__PURE__ */ jsx57(MELF, {});
4293
+ return /* @__PURE__ */ jsx60(MELF, {});
4109
4294
  case "ms012":
4110
- return /* @__PURE__ */ jsx57(
4295
+ return /* @__PURE__ */ jsx60(
4111
4296
  MS012,
4112
4297
  {
4113
4298
  pinCount: fpJson.num_pins,
@@ -4117,7 +4302,7 @@ var Footprinter3d = ({ footprint }) => {
4117
4302
  }
4118
4303
  );
4119
4304
  case "ms013":
4120
- return /* @__PURE__ */ jsx57(
4305
+ return /* @__PURE__ */ jsx60(
4121
4306
  MS013,
4122
4307
  {
4123
4308
  pinCount: fpJson.num_pins,
@@ -4127,39 +4312,39 @@ var Footprinter3d = ({ footprint }) => {
4127
4312
  }
4128
4313
  );
4129
4314
  case "sot723":
4130
- return /* @__PURE__ */ jsx57(SOT723, {});
4315
+ return /* @__PURE__ */ jsx60(SOT723, {});
4131
4316
  case "to220":
4132
- return /* @__PURE__ */ jsx57(TO220, {});
4317
+ return /* @__PURE__ */ jsx60(TO220, {});
4133
4318
  case "to92":
4134
- return /* @__PURE__ */ jsx57(TO92, {});
4319
+ return /* @__PURE__ */ jsx60(TO92, {});
4135
4320
  }
4136
4321
  const colorMatch = footprint.match(/_color\(([^)]+)\)/);
4137
4322
  const color = colorMatch ? colorMatch[1] : void 0;
4138
4323
  switch (fpJson.imperial) {
4139
4324
  case "0402":
4140
- return /* @__PURE__ */ jsx57(A0402, { color });
4325
+ return /* @__PURE__ */ jsx60(A0402, { color });
4141
4326
  case "0603":
4142
- return /* @__PURE__ */ jsx57(A0603, { color });
4327
+ return /* @__PURE__ */ jsx60(A0603, { color });
4143
4328
  case "0805":
4144
- return /* @__PURE__ */ jsx57(A0805, { color });
4329
+ return /* @__PURE__ */ jsx60(A0805, { color });
4145
4330
  case "0201":
4146
- return /* @__PURE__ */ jsx57(A0201, { color });
4331
+ return /* @__PURE__ */ jsx60(A0201, { color });
4147
4332
  case "01005":
4148
- return /* @__PURE__ */ jsx57(A01005, { color });
4333
+ return /* @__PURE__ */ jsx60(A01005, { color });
4149
4334
  case "1206":
4150
- return /* @__PURE__ */ jsx57(A1206, { color });
4335
+ return /* @__PURE__ */ jsx60(A1206, { color });
4151
4336
  case "1210":
4152
- return /* @__PURE__ */ jsx57(A1210, { color });
4337
+ return /* @__PURE__ */ jsx60(A1210, { color });
4153
4338
  case "2010":
4154
- return /* @__PURE__ */ jsx57(A2010, { color });
4339
+ return /* @__PURE__ */ jsx60(A2010, { color });
4155
4340
  case "2512":
4156
- return /* @__PURE__ */ jsx57(A2512, { color });
4341
+ return /* @__PURE__ */ jsx60(A2512, { color });
4157
4342
  }
4158
4343
  return null;
4159
4344
  };
4160
4345
 
4161
4346
  // lib/SOT-23-3P.tsx
4162
- import { Fragment as Fragment52, jsx as jsx58, jsxs as jsxs55 } from "react/jsx-runtime";
4347
+ import { Fragment as Fragment55, jsx as jsx61, jsxs as jsxs58 } from "react/jsx-runtime";
4163
4348
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4164
4349
  const bodyWidth = 1.3;
4165
4350
  const bodyLength10 = 2.9;
@@ -4170,8 +4355,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4170
4355
  const padContactLength = 0.4;
4171
4356
  const padThickness = leadThickness / 2;
4172
4357
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
4173
- return /* @__PURE__ */ jsxs55(Fragment52, { children: [
4174
- /* @__PURE__ */ jsx58(
4358
+ return /* @__PURE__ */ jsxs58(Fragment55, { children: [
4359
+ /* @__PURE__ */ jsx61(
4175
4360
  SmdChipLead,
4176
4361
  {
4177
4362
  rotation: Math.PI,
@@ -4188,7 +4373,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4188
4373
  },
4189
4374
  1
4190
4375
  ),
4191
- /* @__PURE__ */ jsx58(
4376
+ /* @__PURE__ */ jsx61(
4192
4377
  SmdChipLead,
4193
4378
  {
4194
4379
  rotation: Math.PI,
@@ -4205,7 +4390,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4205
4390
  },
4206
4391
  2
4207
4392
  ),
4208
- /* @__PURE__ */ jsx58(
4393
+ /* @__PURE__ */ jsx61(
4209
4394
  SmdChipLead,
4210
4395
  {
4211
4396
  position: {
@@ -4221,7 +4406,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4221
4406
  },
4222
4407
  3
4223
4408
  ),
4224
- /* @__PURE__ */ jsx58(
4409
+ /* @__PURE__ */ jsx61(
4225
4410
  ChipBody,
4226
4411
  {
4227
4412
  center: { x: 0, y: 0, z: 0 },
@@ -4234,8 +4419,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
4234
4419
  };
4235
4420
 
4236
4421
  // lib/SOT-563.tsx
4237
- import { Cuboid as Cuboid37, Translate as Translate25, Rotate as Rotate10, Colorize as Colorize30 } from "jscad-fiber";
4238
- import { Fragment as Fragment53, jsx as jsx59, jsxs as jsxs56 } 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";
4239
4424
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
4240
4425
  const bodyWidth = 1.2;
4241
4426
  const bodyLength10 = 1.6;
@@ -4245,28 +4430,28 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
4245
4430
  const leadHeight = 0.13;
4246
4431
  const leadSpacing = 0.5;
4247
4432
  const bodyZOffset = -0.4;
4248
- return /* @__PURE__ */ jsxs56(Fragment53, { children: [
4249
- /* @__PURE__ */ jsx59(Rotate10, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx59(Translate25, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx59(Colorize30, { color: "grey", children: /* @__PURE__ */ jsx59(Cuboid37, { 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] }) }) }) }),
4250
4435
  [-1, 0, 1].flatMap((yOffset, index) => [
4251
4436
  // Left lead
4252
- /* @__PURE__ */ jsx59(
4253
- Translate25,
4437
+ /* @__PURE__ */ jsx62(
4438
+ Translate26,
4254
4439
  {
4255
4440
  center: [
4256
4441
  -bodyWidth / 2 - 0.03,
4257
4442
  yOffset * leadSpacing,
4258
4443
  leadHeight / 2
4259
4444
  ],
4260
- children: /* @__PURE__ */ jsx59(Cuboid37, { size: [leadLength, leadWidth, leadHeight] })
4445
+ children: /* @__PURE__ */ jsx62(Cuboid40, { size: [leadLength, leadWidth, leadHeight] })
4261
4446
  },
4262
4447
  `left-${index}`
4263
4448
  ),
4264
4449
  // Right lead
4265
- /* @__PURE__ */ jsx59(
4266
- Translate25,
4450
+ /* @__PURE__ */ jsx62(
4451
+ Translate26,
4267
4452
  {
4268
4453
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
4269
- children: /* @__PURE__ */ jsx59(Cuboid37, { size: [leadLength, leadWidth, leadHeight] })
4454
+ children: /* @__PURE__ */ jsx62(Cuboid40, { size: [leadLength, leadWidth, leadHeight] })
4270
4455
  },
4271
4456
  `right-${index}`
4272
4457
  )
@@ -4275,7 +4460,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
4275
4460
  };
4276
4461
 
4277
4462
  // lib/sod-123.tsx
4278
- import { Fragment as Fragment54, jsx as jsx60, jsxs as jsxs57 } from "react/jsx-runtime";
4463
+ import { Fragment as Fragment57, jsx as jsx63, jsxs as jsxs60 } from "react/jsx-runtime";
4279
4464
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
4280
4465
  const bodyWidth = 2.9;
4281
4466
  const bodyLength10 = 1.3;
@@ -4286,8 +4471,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
4286
4471
  const padContactLength = 0.4;
4287
4472
  const padThickness = leadThickness / 2;
4288
4473
  const bodyDistance = (fullWidth - bodyWidth) / 2;
4289
- return /* @__PURE__ */ jsxs57(Fragment54, { children: [
4290
- /* @__PURE__ */ jsx60(
4474
+ return /* @__PURE__ */ jsxs60(Fragment57, { children: [
4475
+ /* @__PURE__ */ jsx63(
4291
4476
  SmdChipLead,
4292
4477
  {
4293
4478
  position: {
@@ -4303,7 +4488,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
4303
4488
  },
4304
4489
  1
4305
4490
  ),
4306
- /* @__PURE__ */ jsx60(
4491
+ /* @__PURE__ */ jsx63(
4307
4492
  SmdChipLead,
4308
4493
  {
4309
4494
  rotation: Math.PI,
@@ -4320,7 +4505,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
4320
4505
  },
4321
4506
  2
4322
4507
  ),
4323
- /* @__PURE__ */ jsx60(
4508
+ /* @__PURE__ */ jsx63(
4324
4509
  ChipBody,
4325
4510
  {
4326
4511
  center: { x: 0, y: 0, z: 0 },
@@ -4370,6 +4555,7 @@ export {
4370
4555
  SOD128,
4371
4556
  SOD323,
4372
4557
  SOD323F,
4558
+ SOD323FL,
4373
4559
  SOD523,
4374
4560
  SOD882,
4375
4561
  SOD923,
@@ -4381,6 +4567,8 @@ export {
4381
4567
  SOT457,
4382
4568
  SOT563,
4383
4569
  SOT723,
4570
+ SOT886,
4571
+ SOT963,
4384
4572
  SmdChipLead,
4385
4573
  TO220,
4386
4574
  TO92,