jscad-electronics 0.0.80 → 0.0.81

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
@@ -249,4 +249,11 @@ interface HC49Props {
249
249
  */
250
250
  declare const HC49: ({ bodyLength, bodyWidth, bodyHeight, leadSpacing, leadDiameter, leadLength, color, leadColor, }: HC49Props) => react_jsx_runtime.JSX.Element;
251
251
 
252
- export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, DFN, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, LQFP, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD523, SOD923, SOT223, SOT233P, SOT323, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, TQFP, Tssop, VSSOP };
252
+ declare const MS012: ({ pinCount, padContactLength, leadWidth, pitch, }: {
253
+ pinCount: number;
254
+ pitch?: number;
255
+ leadWidth?: number;
256
+ padContactLength?: number;
257
+ }) => react_jsx_runtime.JSX.Element;
258
+
259
+ export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, DFN, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, LQFP, MS012, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD523, SOD923, SOT223, SOT233P, SOT323, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, TQFP, Tssop, VSSOP };
package/dist/index.js CHANGED
@@ -2677,15 +2677,80 @@ var HC49 = ({
2677
2677
  ] });
2678
2678
  };
2679
2679
 
2680
+ // lib/ms012.tsx
2681
+ import { Fragment as Fragment36, jsx as jsx40, jsxs as jsxs38 } from "react/jsx-runtime";
2682
+ var MS012 = ({
2683
+ pinCount,
2684
+ padContactLength = 0.6,
2685
+ leadWidth = 0.41,
2686
+ pitch = 1.27
2687
+ }) => {
2688
+ if (pinCount % 2 !== 0) {
2689
+ throw new Error("MS012 pinCount must be even");
2690
+ }
2691
+ const sidePinCount = pinCount / 2;
2692
+ const bodyWidth = 4.9;
2693
+ const bodyLength10 = 3.9;
2694
+ const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
2695
+ const leadThickness = 0.2;
2696
+ return /* @__PURE__ */ jsxs38(Fragment36, { children: [
2697
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx40(
2698
+ SmdChipLead,
2699
+ {
2700
+ position: {
2701
+ x: -bodyLength10 / 2 - padContactLength - 0.3,
2702
+ y: i * pitch - pinOffsetToCenter,
2703
+ z: leadThickness / 2
2704
+ },
2705
+ width: leadWidth,
2706
+ thickness: leadThickness,
2707
+ padContactLength,
2708
+ bodyDistance: padContactLength + 0.4,
2709
+ height: 0.85
2710
+ },
2711
+ i
2712
+ )),
2713
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx40(
2714
+ SmdChipLead,
2715
+ {
2716
+ rotation: Math.PI,
2717
+ position: {
2718
+ x: bodyLength10 / 2 + padContactLength + 0.3,
2719
+ y: i * pitch - pinOffsetToCenter,
2720
+ z: leadThickness / 2
2721
+ },
2722
+ width: leadWidth,
2723
+ thickness: leadThickness,
2724
+ padContactLength,
2725
+ bodyDistance: padContactLength + 0.4,
2726
+ height: 0.85
2727
+ },
2728
+ `right-${i}`
2729
+ )),
2730
+ /* @__PURE__ */ jsx40(
2731
+ ChipBody,
2732
+ {
2733
+ center: { x: 0, y: 0, z: leadThickness / 2 },
2734
+ width: bodyLength10,
2735
+ length: bodyWidth,
2736
+ height: 1.55,
2737
+ notchPosition: { x: bodyLength10 / 2 - 1, y: bodyWidth / 2 - 1, z: 1.55 },
2738
+ heightAboveSurface: 0.17,
2739
+ taperRatio: 0.09
2740
+ }
2741
+ )
2742
+ ] });
2743
+ };
2744
+
2680
2745
  // lib/Footprinter3d.tsx
2681
- import { jsx as jsx40 } from "react/jsx-runtime";
2746
+ import { jsx as jsx41 } from "react/jsx-runtime";
2682
2747
  var Footprinter3d = ({ footprint }) => {
2683
2748
  const fpJson = fp3.string(footprint).json();
2684
2749
  switch (fpJson.fn) {
2685
2750
  case "dip":
2686
- return /* @__PURE__ */ jsx40(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2751
+ return /* @__PURE__ */ jsx41(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2687
2752
  case "tssop":
2688
- return /* @__PURE__ */ jsx40(
2753
+ return /* @__PURE__ */ jsx41(
2689
2754
  Tssop,
2690
2755
  {
2691
2756
  pinCount: fpJson.num_pins,
@@ -2696,7 +2761,7 @@ var Footprinter3d = ({ footprint }) => {
2696
2761
  }
2697
2762
  );
2698
2763
  case "vssop":
2699
- return /* @__PURE__ */ jsx40(
2764
+ return /* @__PURE__ */ jsx41(
2700
2765
  VSSOP,
2701
2766
  {
2702
2767
  pinCount: fpJson.num_pins,
@@ -2708,7 +2773,7 @@ var Footprinter3d = ({ footprint }) => {
2708
2773
  }
2709
2774
  );
2710
2775
  case "qfp":
2711
- return /* @__PURE__ */ jsx40(
2776
+ return /* @__PURE__ */ jsx41(
2712
2777
  QFP,
2713
2778
  {
2714
2779
  pinCount: fpJson.num_pins,
@@ -2719,12 +2784,12 @@ var Footprinter3d = ({ footprint }) => {
2719
2784
  }
2720
2785
  );
2721
2786
  case "tqfp":
2722
- return /* @__PURE__ */ jsx40(tqfp_default, {});
2787
+ return /* @__PURE__ */ jsx41(tqfp_default, {});
2723
2788
  case "lqfp":
2724
- return /* @__PURE__ */ jsx40(LQFP, { pinCount: fpJson.num_pins });
2789
+ return /* @__PURE__ */ jsx41(LQFP, { pinCount: fpJson.num_pins });
2725
2790
  case "qfn": {
2726
2791
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
2727
- return /* @__PURE__ */ jsx40(
2792
+ return /* @__PURE__ */ jsx41(
2728
2793
  qfn_default,
2729
2794
  {
2730
2795
  num_pins: fpJson.num_pins,
@@ -2742,7 +2807,7 @@ var Footprinter3d = ({ footprint }) => {
2742
2807
  }
2743
2808
  case "dfn": {
2744
2809
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
2745
- return /* @__PURE__ */ jsx40(
2810
+ return /* @__PURE__ */ jsx41(
2746
2811
  DFN,
2747
2812
  {
2748
2813
  num_pins: fpJson.num_pins,
@@ -2760,39 +2825,39 @@ var Footprinter3d = ({ footprint }) => {
2760
2825
  }
2761
2826
  case "pinrow":
2762
2827
  if (fpJson.male)
2763
- return /* @__PURE__ */ jsx40(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2828
+ return /* @__PURE__ */ jsx41(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2764
2829
  if (fpJson.female)
2765
- return /* @__PURE__ */ jsx40(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2830
+ return /* @__PURE__ */ jsx41(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2766
2831
  case "cap": {
2767
2832
  switch (fpJson.imperial) {
2768
2833
  case "0402":
2769
- return /* @__PURE__ */ jsx40(A0402, { color: "#856c4d" });
2834
+ return /* @__PURE__ */ jsx41(A0402, { color: "#856c4d" });
2770
2835
  case "0603":
2771
- return /* @__PURE__ */ jsx40(A0603, { color: "#856c4d" });
2836
+ return /* @__PURE__ */ jsx41(A0603, { color: "#856c4d" });
2772
2837
  case "0805":
2773
- return /* @__PURE__ */ jsx40(A0805, { color: "#856c4d" });
2838
+ return /* @__PURE__ */ jsx41(A0805, { color: "#856c4d" });
2774
2839
  case "0201":
2775
- return /* @__PURE__ */ jsx40(A0201, { color: "#856c4d" });
2840
+ return /* @__PURE__ */ jsx41(A0201, { color: "#856c4d" });
2776
2841
  case "01005":
2777
- return /* @__PURE__ */ jsx40(A01005, { color: "#856c4d" });
2842
+ return /* @__PURE__ */ jsx41(A01005, { color: "#856c4d" });
2778
2843
  case "1206":
2779
- return /* @__PURE__ */ jsx40(A1206, { color: "#856c4d" });
2844
+ return /* @__PURE__ */ jsx41(A1206, { color: "#856c4d" });
2780
2845
  case "1210":
2781
- return /* @__PURE__ */ jsx40(A1210, { color: "#856c4d" });
2846
+ return /* @__PURE__ */ jsx41(A1210, { color: "#856c4d" });
2782
2847
  case "2010":
2783
- return /* @__PURE__ */ jsx40(A2010, { color: "#856c4d" });
2848
+ return /* @__PURE__ */ jsx41(A2010, { color: "#856c4d" });
2784
2849
  case "2512":
2785
- return /* @__PURE__ */ jsx40(A2512, { color: "#856c4d" });
2850
+ return /* @__PURE__ */ jsx41(A2512, { color: "#856c4d" });
2786
2851
  }
2787
2852
  }
2788
2853
  case "sot235":
2789
- return /* @__PURE__ */ jsx40(SOT_235_default, {});
2854
+ return /* @__PURE__ */ jsx41(SOT_235_default, {});
2790
2855
  case "sot223":
2791
- return /* @__PURE__ */ jsx40(SOT223, {});
2856
+ return /* @__PURE__ */ jsx41(SOT223, {});
2792
2857
  case "sot323":
2793
- return /* @__PURE__ */ jsx40(SOT323, {});
2858
+ return /* @__PURE__ */ jsx41(SOT323, {});
2794
2859
  case "pushbutton":
2795
- return /* @__PURE__ */ jsx40(
2860
+ return /* @__PURE__ */ jsx41(
2796
2861
  PushButton,
2797
2862
  {
2798
2863
  width: fpJson.w,
@@ -2801,7 +2866,7 @@ var Footprinter3d = ({ footprint }) => {
2801
2866
  }
2802
2867
  );
2803
2868
  case "soic":
2804
- return /* @__PURE__ */ jsx40(
2869
+ return /* @__PURE__ */ jsx41(
2805
2870
  SOIC,
2806
2871
  {
2807
2872
  pinCount: fpJson.num_pins,
@@ -2812,51 +2877,61 @@ var Footprinter3d = ({ footprint }) => {
2812
2877
  }
2813
2878
  );
2814
2879
  case "sod523":
2815
- return /* @__PURE__ */ jsx40(SOD523, {});
2880
+ return /* @__PURE__ */ jsx41(SOD523, {});
2816
2881
  case "sma":
2817
- return /* @__PURE__ */ jsx40(SMA, {});
2882
+ return /* @__PURE__ */ jsx41(SMA, {});
2818
2883
  case "smb":
2819
- return /* @__PURE__ */ jsx40(SMB, {});
2884
+ return /* @__PURE__ */ jsx41(SMB, {});
2820
2885
  case "smc":
2821
- return /* @__PURE__ */ jsx40(SMC, {});
2886
+ return /* @__PURE__ */ jsx41(SMC, {});
2822
2887
  case "smf":
2823
- return /* @__PURE__ */ jsx40(SMF, {});
2888
+ return /* @__PURE__ */ jsx41(SMF, {});
2824
2889
  case "sod123f":
2825
- return /* @__PURE__ */ jsx40(SOD123F, {});
2890
+ return /* @__PURE__ */ jsx41(SOD123F, {});
2826
2891
  case "sod123fl":
2827
- return /* @__PURE__ */ jsx40(SOD123FL, {});
2892
+ return /* @__PURE__ */ jsx41(SOD123FL, {});
2828
2893
  case "sod923":
2829
- return /* @__PURE__ */ jsx40(SOD923, {});
2894
+ return /* @__PURE__ */ jsx41(SOD923, {});
2830
2895
  case "hc49":
2831
- return /* @__PURE__ */ jsx40(HC49, {});
2896
+ return /* @__PURE__ */ jsx41(HC49, {});
2897
+ case "ms012":
2898
+ return /* @__PURE__ */ jsx41(
2899
+ MS012,
2900
+ {
2901
+ pinCount: fpJson.num_pins,
2902
+ padContactLength: fpJson.pl,
2903
+ leadWidth: fpJson.pw,
2904
+ pitch: fpJson.p
2905
+ }
2906
+ );
2832
2907
  }
2833
2908
  const colorMatch = footprint.match(/_color\(([^)]+)\)/);
2834
2909
  const color = colorMatch ? colorMatch[1] : void 0;
2835
2910
  switch (fpJson.imperial) {
2836
2911
  case "0402":
2837
- return /* @__PURE__ */ jsx40(A0402, { color });
2912
+ return /* @__PURE__ */ jsx41(A0402, { color });
2838
2913
  case "0603":
2839
- return /* @__PURE__ */ jsx40(A0603, { color });
2914
+ return /* @__PURE__ */ jsx41(A0603, { color });
2840
2915
  case "0805":
2841
- return /* @__PURE__ */ jsx40(A0805, { color });
2916
+ return /* @__PURE__ */ jsx41(A0805, { color });
2842
2917
  case "0201":
2843
- return /* @__PURE__ */ jsx40(A0201, { color });
2918
+ return /* @__PURE__ */ jsx41(A0201, { color });
2844
2919
  case "01005":
2845
- return /* @__PURE__ */ jsx40(A01005, { color });
2920
+ return /* @__PURE__ */ jsx41(A01005, { color });
2846
2921
  case "1206":
2847
- return /* @__PURE__ */ jsx40(A1206, { color });
2922
+ return /* @__PURE__ */ jsx41(A1206, { color });
2848
2923
  case "1210":
2849
- return /* @__PURE__ */ jsx40(A1210, { color });
2924
+ return /* @__PURE__ */ jsx41(A1210, { color });
2850
2925
  case "2010":
2851
- return /* @__PURE__ */ jsx40(A2010, { color });
2926
+ return /* @__PURE__ */ jsx41(A2010, { color });
2852
2927
  case "2512":
2853
- return /* @__PURE__ */ jsx40(A2512, { color });
2928
+ return /* @__PURE__ */ jsx41(A2512, { color });
2854
2929
  }
2855
2930
  return null;
2856
2931
  };
2857
2932
 
2858
2933
  // lib/SOT-23-3P.tsx
2859
- import { Fragment as Fragment36, jsx as jsx41, jsxs as jsxs38 } from "react/jsx-runtime";
2934
+ import { Fragment as Fragment37, jsx as jsx42, jsxs as jsxs39 } from "react/jsx-runtime";
2860
2935
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2861
2936
  const bodyWidth = 1.3;
2862
2937
  const bodyLength10 = 2.9;
@@ -2867,8 +2942,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2867
2942
  const padContactLength = 0.4;
2868
2943
  const padThickness = leadThickness / 2;
2869
2944
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
2870
- return /* @__PURE__ */ jsxs38(Fragment36, { children: [
2871
- /* @__PURE__ */ jsx41(
2945
+ return /* @__PURE__ */ jsxs39(Fragment37, { children: [
2946
+ /* @__PURE__ */ jsx42(
2872
2947
  SmdChipLead,
2873
2948
  {
2874
2949
  rotation: Math.PI,
@@ -2885,7 +2960,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2885
2960
  },
2886
2961
  1
2887
2962
  ),
2888
- /* @__PURE__ */ jsx41(
2963
+ /* @__PURE__ */ jsx42(
2889
2964
  SmdChipLead,
2890
2965
  {
2891
2966
  rotation: Math.PI,
@@ -2902,7 +2977,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2902
2977
  },
2903
2978
  2
2904
2979
  ),
2905
- /* @__PURE__ */ jsx41(
2980
+ /* @__PURE__ */ jsx42(
2906
2981
  SmdChipLead,
2907
2982
  {
2908
2983
  position: {
@@ -2918,7 +2993,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2918
2993
  },
2919
2994
  3
2920
2995
  ),
2921
- /* @__PURE__ */ jsx41(
2996
+ /* @__PURE__ */ jsx42(
2922
2997
  ChipBody,
2923
2998
  {
2924
2999
  center: { x: 0, y: 0, z: 0 },
@@ -2932,7 +3007,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2932
3007
 
2933
3008
  // lib/SOT-563.tsx
2934
3009
  import { Cuboid as Cuboid27, Translate as Translate17, Rotate as Rotate6, Colorize as Colorize19 } from "jscad-fiber";
2935
- import { Fragment as Fragment37, jsx as jsx42, jsxs as jsxs39 } from "react/jsx-runtime";
3010
+ import { Fragment as Fragment38, jsx as jsx43, jsxs as jsxs40 } from "react/jsx-runtime";
2936
3011
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2937
3012
  const bodyWidth = 1.2;
2938
3013
  const bodyLength10 = 1.6;
@@ -2942,11 +3017,11 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2942
3017
  const leadHeight = 0.13;
2943
3018
  const leadSpacing = 0.5;
2944
3019
  const bodyZOffset = -0.4;
2945
- return /* @__PURE__ */ jsxs39(Fragment37, { children: [
2946
- /* @__PURE__ */ jsx42(Rotate6, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx42(Translate17, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx42(Colorize19, { color: "grey", children: /* @__PURE__ */ jsx42(Cuboid27, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3020
+ return /* @__PURE__ */ jsxs40(Fragment38, { children: [
3021
+ /* @__PURE__ */ jsx43(Rotate6, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx43(Translate17, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx43(Colorize19, { color: "grey", children: /* @__PURE__ */ jsx43(Cuboid27, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
2947
3022
  [-1, 0, 1].flatMap((yOffset, index) => [
2948
3023
  // Left lead
2949
- /* @__PURE__ */ jsx42(
3024
+ /* @__PURE__ */ jsx43(
2950
3025
  Translate17,
2951
3026
  {
2952
3027
  center: [
@@ -2954,16 +3029,16 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2954
3029
  yOffset * leadSpacing,
2955
3030
  leadHeight / 2
2956
3031
  ],
2957
- children: /* @__PURE__ */ jsx42(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
3032
+ children: /* @__PURE__ */ jsx43(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
2958
3033
  },
2959
3034
  `left-${index}`
2960
3035
  ),
2961
3036
  // Right lead
2962
- /* @__PURE__ */ jsx42(
3037
+ /* @__PURE__ */ jsx43(
2963
3038
  Translate17,
2964
3039
  {
2965
3040
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
2966
- children: /* @__PURE__ */ jsx42(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
3041
+ children: /* @__PURE__ */ jsx43(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
2967
3042
  },
2968
3043
  `right-${index}`
2969
3044
  )
@@ -2973,7 +3048,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2973
3048
 
2974
3049
  // lib/SOT-723.tsx
2975
3050
  import { Cuboid as Cuboid28, Translate as Translate18, Rotate as Rotate7, Colorize as Colorize20 } from "jscad-fiber";
2976
- import { Fragment as Fragment38, jsx as jsx43, jsxs as jsxs40 } from "react/jsx-runtime";
3051
+ import { Fragment as Fragment39, jsx as jsx44, jsxs as jsxs41 } from "react/jsx-runtime";
2977
3052
  var getCcwSot723Coords = (pn) => {
2978
3053
  if (pn === 1) {
2979
3054
  return { x: 0, y: 0 };
@@ -2991,11 +3066,11 @@ var SOT723 = () => {
2991
3066
  const leadLength = 0.3;
2992
3067
  const leadHeight = 0.1;
2993
3068
  const centerLeadWidth = 0.42;
2994
- return /* @__PURE__ */ jsxs40(Fragment38, { children: [
2995
- /* @__PURE__ */ jsx43(Rotate7, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx43(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx43(Colorize20, { color: "grey", children: /* @__PURE__ */ jsx43(Cuboid28, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3069
+ return /* @__PURE__ */ jsxs41(Fragment39, { children: [
3070
+ /* @__PURE__ */ jsx44(Rotate7, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx44(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx44(Colorize20, { color: "grey", children: /* @__PURE__ */ jsx44(Cuboid28, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
2996
3071
  [1, 2, 3].map((pn) => {
2997
3072
  const { x, y } = getCcwSot723Coords(pn);
2998
- return /* @__PURE__ */ jsx43(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx43(
3073
+ return /* @__PURE__ */ jsx44(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx44(
2999
3074
  Cuboid28,
3000
3075
  {
3001
3076
  size: [
@@ -3010,7 +3085,7 @@ var SOT723 = () => {
3010
3085
  };
3011
3086
 
3012
3087
  // lib/sod-123.tsx
3013
- import { Fragment as Fragment39, jsx as jsx44, jsxs as jsxs41 } from "react/jsx-runtime";
3088
+ import { Fragment as Fragment40, jsx as jsx45, jsxs as jsxs42 } from "react/jsx-runtime";
3014
3089
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3015
3090
  const bodyWidth = 2.9;
3016
3091
  const bodyLength10 = 1.3;
@@ -3021,8 +3096,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3021
3096
  const padContactLength = 0.4;
3022
3097
  const padThickness = leadThickness / 2;
3023
3098
  const bodyDistance = (fullWidth - bodyWidth) / 2;
3024
- return /* @__PURE__ */ jsxs41(Fragment39, { children: [
3025
- /* @__PURE__ */ jsx44(
3099
+ return /* @__PURE__ */ jsxs42(Fragment40, { children: [
3100
+ /* @__PURE__ */ jsx45(
3026
3101
  SmdChipLead,
3027
3102
  {
3028
3103
  position: {
@@ -3038,7 +3113,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3038
3113
  },
3039
3114
  1
3040
3115
  ),
3041
- /* @__PURE__ */ jsx44(
3116
+ /* @__PURE__ */ jsx45(
3042
3117
  SmdChipLead,
3043
3118
  {
3044
3119
  rotation: Math.PI,
@@ -3055,7 +3130,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3055
3130
  },
3056
3131
  2
3057
3132
  ),
3058
- /* @__PURE__ */ jsx44(
3133
+ /* @__PURE__ */ jsx45(
3059
3134
  ChipBody,
3060
3135
  {
3061
3136
  center: { x: 0, y: 0, z: 0 },
@@ -3085,6 +3160,7 @@ export {
3085
3160
  Footprinter3d,
3086
3161
  HC49,
3087
3162
  LQFP,
3163
+ MS012,
3088
3164
  PinRow,
3089
3165
  QFN,
3090
3166
  QFP,