jscad-electronics 0.0.83 → 0.0.85

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
@@ -251,6 +251,15 @@ interface MELFProps {
251
251
  }
252
252
  declare const MELF: ({ bodyLength, bodyDiameter, color, contactColor, }: MELFProps) => react_jsx_runtime.JSX.Element;
253
253
 
254
+ interface MicroMELFProps {
255
+ bodyLength?: number;
256
+ bodyDiameter?: number;
257
+ color?: string;
258
+ contactColor?: string;
259
+ cathodeIdentification?: string;
260
+ }
261
+ declare const MicroMELF: ({ bodyLength, bodyDiameter, color, contactColor, cathodeIdentification, }: MicroMELFProps) => react_jsx_runtime.JSX.Element;
262
+
254
263
  interface HC49Props {
255
264
  /** overall body length (mm) */
256
265
  bodyLength?: number;
@@ -280,4 +289,4 @@ declare const MS012: ({ pinCount, padContactLength, leadWidth, pitch, }: {
280
289
  padContactLength?: number;
281
290
  }) => react_jsx_runtime.JSX.Element;
282
291
 
283
- export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, DFN, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, LQFP, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MSOP, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD523, SOD923, SOT223, SOT233P, SOT323, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, TQFP, Tssop, VSSOP };
292
+ export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, DFN, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, LQFP, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MSOP, MicroMELF, type MicroMELFProps, 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
@@ -947,7 +947,8 @@ var QFP = ({
947
947
  x: bodyLength10 / 2 - 1.5,
948
948
  y: bodyWidth / 2 - 1.5,
949
949
  z: 1.5
950
- }
950
+ },
951
+ notchRadius: 1.5 / 2
951
952
  }
952
953
  )
953
954
  ] });
@@ -2388,7 +2389,8 @@ var TQFP = () => {
2388
2389
  height: 1.2,
2389
2390
  chamferSize: 0.6,
2390
2391
  taperRatio: 0.05,
2391
- notchPosition: { x: 3.5, y: 3.5, z: 1.2 }
2392
+ notchPosition: { x: 3.5, y: 3.5, z: 1.2 },
2393
+ notchRadius: 1.2 / 2
2392
2394
  }
2393
2395
  )
2394
2396
  ] });
@@ -2580,7 +2582,8 @@ var LQFP = ({
2580
2582
  x: bodyLength10 / 2 - 1.5,
2581
2583
  y: bodyLength10 / 2 - 1.5,
2582
2584
  z: 1.5
2583
- }
2585
+ },
2586
+ notchRadius: 1.5 / 2
2584
2587
  }
2585
2588
  )
2586
2589
  ] });
@@ -2738,9 +2741,74 @@ var HC49 = ({
2738
2741
  ] });
2739
2742
  };
2740
2743
 
2741
- // lib/MINIMELF.tsx
2742
- import { Colorize as Colorize19, RoundedCylinder as RoundedCylinder2, Rotate as Rotate6 } from "jscad-fiber";
2744
+ // lib/MicroMELF.tsx
2745
+ import {
2746
+ Colorize as Colorize19,
2747
+ Cylinder as Cylinder7,
2748
+ RoundedCylinder as RoundedCylinder2,
2749
+ Rotate as Rotate6,
2750
+ RoundedCuboid as RoundedCuboid2
2751
+ } from "jscad-fiber";
2743
2752
  import { Fragment as Fragment37, jsx as jsx41, jsxs as jsxs39 } from "react/jsx-runtime";
2753
+ var MicroMELF = ({
2754
+ bodyLength: bodyLength10 = 1.4,
2755
+ bodyDiameter = 1.1,
2756
+ color = "#3a3a3aff",
2757
+ contactColor = "#c6c6c6",
2758
+ cathodeIdentification = "#111"
2759
+ }) => {
2760
+ const padLength = 0.2;
2761
+ return /* @__PURE__ */ jsxs39(Fragment37, { children: [
2762
+ /* @__PURE__ */ jsx41(Colorize19, { color, children: /* @__PURE__ */ jsxs39(Rotate6, { rotation: [0, "90deg", 0], children: [
2763
+ /* @__PURE__ */ jsx41(
2764
+ RoundedCuboid2,
2765
+ {
2766
+ size: [bodyDiameter, bodyDiameter, bodyLength10 - padLength],
2767
+ roundRadius: padLength,
2768
+ center: [-bodyDiameter / 2, 0, 0.05]
2769
+ }
2770
+ ),
2771
+ /* @__PURE__ */ jsx41(
2772
+ Cylinder7,
2773
+ {
2774
+ height: padLength / 2,
2775
+ radius: bodyDiameter / 2 - padLength,
2776
+ center: [-bodyDiameter / 2, 0, -bodyLength10 / 2 + padLength / 2]
2777
+ }
2778
+ )
2779
+ ] }) }),
2780
+ /* @__PURE__ */ jsx41(Colorize19, { color: cathodeIdentification, children: /* @__PURE__ */ jsx41(Rotate6, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx41(
2781
+ RoundedCuboid2,
2782
+ {
2783
+ size: [bodyDiameter * 1.01, bodyDiameter * 1.01, bodyLength10 / 3],
2784
+ roundRadius: padLength,
2785
+ center: [-bodyDiameter / 2, 0, -bodyLength10 / 4 + 0.1]
2786
+ }
2787
+ ) }) }),
2788
+ /* @__PURE__ */ jsx41(Colorize19, { color: contactColor, children: /* @__PURE__ */ jsx41(Rotate6, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx41(
2789
+ RoundedCylinder2,
2790
+ {
2791
+ height: padLength,
2792
+ radius: bodyDiameter / 2,
2793
+ roundRadius: padLength / 3,
2794
+ center: [-bodyDiameter / 2, 0, -bodyLength10 / 2]
2795
+ }
2796
+ ) }) }),
2797
+ /* @__PURE__ */ jsx41(Colorize19, { color: contactColor, children: /* @__PURE__ */ jsx41(Rotate6, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx41(
2798
+ RoundedCylinder2,
2799
+ {
2800
+ height: padLength,
2801
+ radius: bodyDiameter / 2,
2802
+ roundRadius: padLength / 3,
2803
+ center: [-bodyDiameter / 2, 0, bodyLength10 / 2]
2804
+ }
2805
+ ) }) })
2806
+ ] });
2807
+ };
2808
+
2809
+ // lib/MINIMELF.tsx
2810
+ import { Colorize as Colorize20, RoundedCylinder as RoundedCylinder3, Rotate as Rotate7 } from "jscad-fiber";
2811
+ import { Fragment as Fragment38, jsx as jsx42, jsxs as jsxs40 } from "react/jsx-runtime";
2744
2812
  var MINIMELF = ({
2745
2813
  bodyLength: bodyLength10 = 3.5,
2746
2814
  bodyDiameter = 1.5,
@@ -2748,9 +2816,9 @@ var MINIMELF = ({
2748
2816
  contactColor = "#c6c6c6"
2749
2817
  }) => {
2750
2818
  const padLength = 0.5;
2751
- return /* @__PURE__ */ jsxs39(Fragment37, { children: [
2752
- /* @__PURE__ */ jsx41(Colorize19, { color, children: /* @__PURE__ */ jsx41(Rotate6, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx41(
2753
- RoundedCylinder2,
2819
+ return /* @__PURE__ */ jsxs40(Fragment38, { children: [
2820
+ /* @__PURE__ */ jsx42(Colorize20, { color, children: /* @__PURE__ */ jsx42(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx42(
2821
+ RoundedCylinder3,
2754
2822
  {
2755
2823
  height: bodyLength10,
2756
2824
  radius: bodyDiameter / 2,
@@ -2758,8 +2826,8 @@ var MINIMELF = ({
2758
2826
  center: [-bodyDiameter / 2, 0, 0]
2759
2827
  }
2760
2828
  ) }) }),
2761
- /* @__PURE__ */ jsx41(Colorize19, { color: contactColor, children: /* @__PURE__ */ jsx41(Rotate6, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx41(
2762
- RoundedCylinder2,
2829
+ /* @__PURE__ */ jsx42(Colorize20, { color: contactColor, children: /* @__PURE__ */ jsx42(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx42(
2830
+ RoundedCylinder3,
2763
2831
  {
2764
2832
  height: padLength,
2765
2833
  radius: bodyDiameter / 2,
@@ -2767,8 +2835,8 @@ var MINIMELF = ({
2767
2835
  center: [-bodyDiameter / 2, 0, -bodyLength10 / 2]
2768
2836
  }
2769
2837
  ) }) }),
2770
- /* @__PURE__ */ jsx41(Colorize19, { color: contactColor, children: /* @__PURE__ */ jsx41(Rotate6, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx41(
2771
- RoundedCylinder2,
2838
+ /* @__PURE__ */ jsx42(Colorize20, { color: contactColor, children: /* @__PURE__ */ jsx42(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx42(
2839
+ RoundedCylinder3,
2772
2840
  {
2773
2841
  height: padLength,
2774
2842
  radius: bodyDiameter / 2,
@@ -2780,8 +2848,8 @@ var MINIMELF = ({
2780
2848
  };
2781
2849
 
2782
2850
  // lib/MELF.tsx
2783
- import { Colorize as Colorize20, RoundedCylinder as RoundedCylinder3, Rotate as Rotate7 } from "jscad-fiber";
2784
- import { Fragment as Fragment38, jsx as jsx42, jsxs as jsxs40 } from "react/jsx-runtime";
2851
+ import { Colorize as Colorize21, RoundedCylinder as RoundedCylinder4, Rotate as Rotate8 } from "jscad-fiber";
2852
+ import { Fragment as Fragment39, jsx as jsx43, jsxs as jsxs41 } from "react/jsx-runtime";
2785
2853
  var MELF = ({
2786
2854
  bodyLength: bodyLength10 = 3.9,
2787
2855
  bodyDiameter = 2.5,
@@ -2789,9 +2857,9 @@ var MELF = ({
2789
2857
  contactColor = "#c6c6c6"
2790
2858
  }) => {
2791
2859
  const padLength = 0.55;
2792
- return /* @__PURE__ */ jsxs40(Fragment38, { children: [
2793
- /* @__PURE__ */ jsx42(Colorize20, { color, children: /* @__PURE__ */ jsx42(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx42(
2794
- RoundedCylinder3,
2860
+ return /* @__PURE__ */ jsxs41(Fragment39, { children: [
2861
+ /* @__PURE__ */ jsx43(Colorize21, { color, children: /* @__PURE__ */ jsx43(Rotate8, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx43(
2862
+ RoundedCylinder4,
2795
2863
  {
2796
2864
  height: bodyLength10,
2797
2865
  radius: bodyDiameter / 2,
@@ -2799,8 +2867,8 @@ var MELF = ({
2799
2867
  center: [-bodyDiameter / 2, 0, 0]
2800
2868
  }
2801
2869
  ) }) }),
2802
- /* @__PURE__ */ jsx42(Colorize20, { color: contactColor, children: /* @__PURE__ */ jsx42(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx42(
2803
- RoundedCylinder3,
2870
+ /* @__PURE__ */ jsx43(Colorize21, { color: contactColor, children: /* @__PURE__ */ jsx43(Rotate8, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx43(
2871
+ RoundedCylinder4,
2804
2872
  {
2805
2873
  height: padLength,
2806
2874
  radius: bodyDiameter / 2,
@@ -2808,8 +2876,8 @@ var MELF = ({
2808
2876
  center: [-bodyDiameter / 2, 0, -bodyLength10 / 2]
2809
2877
  }
2810
2878
  ) }) }),
2811
- /* @__PURE__ */ jsx42(Colorize20, { color: contactColor, children: /* @__PURE__ */ jsx42(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx42(
2812
- RoundedCylinder3,
2879
+ /* @__PURE__ */ jsx43(Colorize21, { color: contactColor, children: /* @__PURE__ */ jsx43(Rotate8, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx43(
2880
+ RoundedCylinder4,
2813
2881
  {
2814
2882
  height: padLength,
2815
2883
  radius: bodyDiameter / 2,
@@ -2821,7 +2889,7 @@ var MELF = ({
2821
2889
  };
2822
2890
 
2823
2891
  // lib/ms012.tsx
2824
- import { Fragment as Fragment39, jsx as jsx43, jsxs as jsxs41 } from "react/jsx-runtime";
2892
+ import { Fragment as Fragment40, jsx as jsx44, jsxs as jsxs42 } from "react/jsx-runtime";
2825
2893
  var MS012 = ({
2826
2894
  pinCount,
2827
2895
  padContactLength = 0.6,
@@ -2836,8 +2904,8 @@ var MS012 = ({
2836
2904
  const bodyLength10 = 3.9;
2837
2905
  const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
2838
2906
  const leadThickness = 0.2;
2839
- return /* @__PURE__ */ jsxs41(Fragment39, { children: [
2840
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx43(
2907
+ return /* @__PURE__ */ jsxs42(Fragment40, { children: [
2908
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx44(
2841
2909
  SmdChipLead,
2842
2910
  {
2843
2911
  position: {
@@ -2853,7 +2921,7 @@ var MS012 = ({
2853
2921
  },
2854
2922
  i
2855
2923
  )),
2856
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx43(
2924
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx44(
2857
2925
  SmdChipLead,
2858
2926
  {
2859
2927
  rotation: Math.PI,
@@ -2870,7 +2938,7 @@ var MS012 = ({
2870
2938
  },
2871
2939
  `right-${i}`
2872
2940
  )),
2873
- /* @__PURE__ */ jsx43(
2941
+ /* @__PURE__ */ jsx44(
2874
2942
  ChipBody,
2875
2943
  {
2876
2944
  center: { x: 0, y: 0, z: leadThickness / 2 },
@@ -2886,14 +2954,14 @@ var MS012 = ({
2886
2954
  };
2887
2955
 
2888
2956
  // lib/Footprinter3d.tsx
2889
- import { jsx as jsx44 } from "react/jsx-runtime";
2957
+ import { jsx as jsx45 } from "react/jsx-runtime";
2890
2958
  var Footprinter3d = ({ footprint }) => {
2891
2959
  const fpJson = fp3.string(footprint).json();
2892
2960
  switch (fpJson.fn) {
2893
2961
  case "dip":
2894
- return /* @__PURE__ */ jsx44(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2962
+ return /* @__PURE__ */ jsx45(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2895
2963
  case "tssop":
2896
- return /* @__PURE__ */ jsx44(
2964
+ return /* @__PURE__ */ jsx45(
2897
2965
  Tssop,
2898
2966
  {
2899
2967
  pinCount: fpJson.num_pins,
@@ -2904,7 +2972,7 @@ var Footprinter3d = ({ footprint }) => {
2904
2972
  }
2905
2973
  );
2906
2974
  case "msop":
2907
- return /* @__PURE__ */ jsx44(
2975
+ return /* @__PURE__ */ jsx45(
2908
2976
  MSOP,
2909
2977
  {
2910
2978
  pinCount: fpJson.num_pins,
@@ -2915,7 +2983,7 @@ var Footprinter3d = ({ footprint }) => {
2915
2983
  }
2916
2984
  );
2917
2985
  case "vssop":
2918
- return /* @__PURE__ */ jsx44(
2986
+ return /* @__PURE__ */ jsx45(
2919
2987
  VSSOP,
2920
2988
  {
2921
2989
  pinCount: fpJson.num_pins,
@@ -2927,7 +2995,7 @@ var Footprinter3d = ({ footprint }) => {
2927
2995
  }
2928
2996
  );
2929
2997
  case "qfp":
2930
- return /* @__PURE__ */ jsx44(
2998
+ return /* @__PURE__ */ jsx45(
2931
2999
  QFP,
2932
3000
  {
2933
3001
  pinCount: fpJson.num_pins,
@@ -2938,12 +3006,12 @@ var Footprinter3d = ({ footprint }) => {
2938
3006
  }
2939
3007
  );
2940
3008
  case "tqfp":
2941
- return /* @__PURE__ */ jsx44(tqfp_default, {});
3009
+ return /* @__PURE__ */ jsx45(tqfp_default, {});
2942
3010
  case "lqfp":
2943
- return /* @__PURE__ */ jsx44(LQFP, { pinCount: fpJson.num_pins });
3011
+ return /* @__PURE__ */ jsx45(LQFP, { pinCount: fpJson.num_pins });
2944
3012
  case "qfn": {
2945
3013
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
2946
- return /* @__PURE__ */ jsx44(
3014
+ return /* @__PURE__ */ jsx45(
2947
3015
  qfn_default,
2948
3016
  {
2949
3017
  num_pins: fpJson.num_pins,
@@ -2961,7 +3029,7 @@ var Footprinter3d = ({ footprint }) => {
2961
3029
  }
2962
3030
  case "dfn": {
2963
3031
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
2964
- return /* @__PURE__ */ jsx44(
3032
+ return /* @__PURE__ */ jsx45(
2965
3033
  DFN,
2966
3034
  {
2967
3035
  num_pins: fpJson.num_pins,
@@ -2979,39 +3047,39 @@ var Footprinter3d = ({ footprint }) => {
2979
3047
  }
2980
3048
  case "pinrow":
2981
3049
  if (fpJson.male)
2982
- return /* @__PURE__ */ jsx44(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3050
+ return /* @__PURE__ */ jsx45(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2983
3051
  if (fpJson.female)
2984
- return /* @__PURE__ */ jsx44(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3052
+ return /* @__PURE__ */ jsx45(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2985
3053
  case "cap": {
2986
3054
  switch (fpJson.imperial) {
2987
3055
  case "0402":
2988
- return /* @__PURE__ */ jsx44(A0402, { color: "#856c4d" });
3056
+ return /* @__PURE__ */ jsx45(A0402, { color: "#856c4d" });
2989
3057
  case "0603":
2990
- return /* @__PURE__ */ jsx44(A0603, { color: "#856c4d" });
3058
+ return /* @__PURE__ */ jsx45(A0603, { color: "#856c4d" });
2991
3059
  case "0805":
2992
- return /* @__PURE__ */ jsx44(A0805, { color: "#856c4d" });
3060
+ return /* @__PURE__ */ jsx45(A0805, { color: "#856c4d" });
2993
3061
  case "0201":
2994
- return /* @__PURE__ */ jsx44(A0201, { color: "#856c4d" });
3062
+ return /* @__PURE__ */ jsx45(A0201, { color: "#856c4d" });
2995
3063
  case "01005":
2996
- return /* @__PURE__ */ jsx44(A01005, { color: "#856c4d" });
3064
+ return /* @__PURE__ */ jsx45(A01005, { color: "#856c4d" });
2997
3065
  case "1206":
2998
- return /* @__PURE__ */ jsx44(A1206, { color: "#856c4d" });
3066
+ return /* @__PURE__ */ jsx45(A1206, { color: "#856c4d" });
2999
3067
  case "1210":
3000
- return /* @__PURE__ */ jsx44(A1210, { color: "#856c4d" });
3068
+ return /* @__PURE__ */ jsx45(A1210, { color: "#856c4d" });
3001
3069
  case "2010":
3002
- return /* @__PURE__ */ jsx44(A2010, { color: "#856c4d" });
3070
+ return /* @__PURE__ */ jsx45(A2010, { color: "#856c4d" });
3003
3071
  case "2512":
3004
- return /* @__PURE__ */ jsx44(A2512, { color: "#856c4d" });
3072
+ return /* @__PURE__ */ jsx45(A2512, { color: "#856c4d" });
3005
3073
  }
3006
3074
  }
3007
3075
  case "sot235":
3008
- return /* @__PURE__ */ jsx44(SOT_235_default, {});
3076
+ return /* @__PURE__ */ jsx45(SOT_235_default, {});
3009
3077
  case "sot223":
3010
- return /* @__PURE__ */ jsx44(SOT223, {});
3078
+ return /* @__PURE__ */ jsx45(SOT223, {});
3011
3079
  case "sot323":
3012
- return /* @__PURE__ */ jsx44(SOT323, {});
3080
+ return /* @__PURE__ */ jsx45(SOT323, {});
3013
3081
  case "pushbutton":
3014
- return /* @__PURE__ */ jsx44(
3082
+ return /* @__PURE__ */ jsx45(
3015
3083
  PushButton,
3016
3084
  {
3017
3085
  width: fpJson.w,
@@ -3020,7 +3088,7 @@ var Footprinter3d = ({ footprint }) => {
3020
3088
  }
3021
3089
  );
3022
3090
  case "soic":
3023
- return /* @__PURE__ */ jsx44(
3091
+ return /* @__PURE__ */ jsx45(
3024
3092
  SOIC,
3025
3093
  {
3026
3094
  pinCount: fpJson.num_pins,
@@ -3031,29 +3099,31 @@ var Footprinter3d = ({ footprint }) => {
3031
3099
  }
3032
3100
  );
3033
3101
  case "sod523":
3034
- return /* @__PURE__ */ jsx44(SOD523, {});
3102
+ return /* @__PURE__ */ jsx45(SOD523, {});
3035
3103
  case "sma":
3036
- return /* @__PURE__ */ jsx44(SMA, {});
3104
+ return /* @__PURE__ */ jsx45(SMA, {});
3037
3105
  case "smb":
3038
- return /* @__PURE__ */ jsx44(SMB, {});
3106
+ return /* @__PURE__ */ jsx45(SMB, {});
3039
3107
  case "smc":
3040
- return /* @__PURE__ */ jsx44(SMC, {});
3108
+ return /* @__PURE__ */ jsx45(SMC, {});
3041
3109
  case "smf":
3042
- return /* @__PURE__ */ jsx44(SMF, {});
3110
+ return /* @__PURE__ */ jsx45(SMF, {});
3043
3111
  case "sod123f":
3044
- return /* @__PURE__ */ jsx44(SOD123F, {});
3112
+ return /* @__PURE__ */ jsx45(SOD123F, {});
3045
3113
  case "sod123fl":
3046
- return /* @__PURE__ */ jsx44(SOD123FL, {});
3114
+ return /* @__PURE__ */ jsx45(SOD123FL, {});
3047
3115
  case "sod923":
3048
- return /* @__PURE__ */ jsx44(SOD923, {});
3116
+ return /* @__PURE__ */ jsx45(SOD923, {});
3049
3117
  case "hc49":
3050
- return /* @__PURE__ */ jsx44(HC49, {});
3118
+ return /* @__PURE__ */ jsx45(HC49, {});
3119
+ case "micromelf":
3120
+ return /* @__PURE__ */ jsx45(MicroMELF, {});
3051
3121
  case "minimelf":
3052
- return /* @__PURE__ */ jsx44(MINIMELF, {});
3122
+ return /* @__PURE__ */ jsx45(MINIMELF, {});
3053
3123
  case "melf":
3054
- return /* @__PURE__ */ jsx44(MELF, {});
3124
+ return /* @__PURE__ */ jsx45(MELF, {});
3055
3125
  case "ms012":
3056
- return /* @__PURE__ */ jsx44(
3126
+ return /* @__PURE__ */ jsx45(
3057
3127
  MS012,
3058
3128
  {
3059
3129
  pinCount: fpJson.num_pins,
@@ -3067,29 +3137,29 @@ var Footprinter3d = ({ footprint }) => {
3067
3137
  const color = colorMatch ? colorMatch[1] : void 0;
3068
3138
  switch (fpJson.imperial) {
3069
3139
  case "0402":
3070
- return /* @__PURE__ */ jsx44(A0402, { color });
3140
+ return /* @__PURE__ */ jsx45(A0402, { color });
3071
3141
  case "0603":
3072
- return /* @__PURE__ */ jsx44(A0603, { color });
3142
+ return /* @__PURE__ */ jsx45(A0603, { color });
3073
3143
  case "0805":
3074
- return /* @__PURE__ */ jsx44(A0805, { color });
3144
+ return /* @__PURE__ */ jsx45(A0805, { color });
3075
3145
  case "0201":
3076
- return /* @__PURE__ */ jsx44(A0201, { color });
3146
+ return /* @__PURE__ */ jsx45(A0201, { color });
3077
3147
  case "01005":
3078
- return /* @__PURE__ */ jsx44(A01005, { color });
3148
+ return /* @__PURE__ */ jsx45(A01005, { color });
3079
3149
  case "1206":
3080
- return /* @__PURE__ */ jsx44(A1206, { color });
3150
+ return /* @__PURE__ */ jsx45(A1206, { color });
3081
3151
  case "1210":
3082
- return /* @__PURE__ */ jsx44(A1210, { color });
3152
+ return /* @__PURE__ */ jsx45(A1210, { color });
3083
3153
  case "2010":
3084
- return /* @__PURE__ */ jsx44(A2010, { color });
3154
+ return /* @__PURE__ */ jsx45(A2010, { color });
3085
3155
  case "2512":
3086
- return /* @__PURE__ */ jsx44(A2512, { color });
3156
+ return /* @__PURE__ */ jsx45(A2512, { color });
3087
3157
  }
3088
3158
  return null;
3089
3159
  };
3090
3160
 
3091
3161
  // lib/SOT-23-3P.tsx
3092
- import { Fragment as Fragment40, jsx as jsx45, jsxs as jsxs42 } from "react/jsx-runtime";
3162
+ import { Fragment as Fragment41, jsx as jsx46, jsxs as jsxs43 } from "react/jsx-runtime";
3093
3163
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3094
3164
  const bodyWidth = 1.3;
3095
3165
  const bodyLength10 = 2.9;
@@ -3100,8 +3170,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3100
3170
  const padContactLength = 0.4;
3101
3171
  const padThickness = leadThickness / 2;
3102
3172
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
3103
- return /* @__PURE__ */ jsxs42(Fragment40, { children: [
3104
- /* @__PURE__ */ jsx45(
3173
+ return /* @__PURE__ */ jsxs43(Fragment41, { children: [
3174
+ /* @__PURE__ */ jsx46(
3105
3175
  SmdChipLead,
3106
3176
  {
3107
3177
  rotation: Math.PI,
@@ -3118,7 +3188,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3118
3188
  },
3119
3189
  1
3120
3190
  ),
3121
- /* @__PURE__ */ jsx45(
3191
+ /* @__PURE__ */ jsx46(
3122
3192
  SmdChipLead,
3123
3193
  {
3124
3194
  rotation: Math.PI,
@@ -3135,7 +3205,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3135
3205
  },
3136
3206
  2
3137
3207
  ),
3138
- /* @__PURE__ */ jsx45(
3208
+ /* @__PURE__ */ jsx46(
3139
3209
  SmdChipLead,
3140
3210
  {
3141
3211
  position: {
@@ -3151,7 +3221,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3151
3221
  },
3152
3222
  3
3153
3223
  ),
3154
- /* @__PURE__ */ jsx45(
3224
+ /* @__PURE__ */ jsx46(
3155
3225
  ChipBody,
3156
3226
  {
3157
3227
  center: { x: 0, y: 0, z: 0 },
@@ -3164,8 +3234,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3164
3234
  };
3165
3235
 
3166
3236
  // lib/SOT-563.tsx
3167
- import { Cuboid as Cuboid29, Translate as Translate17, Rotate as Rotate8, Colorize as Colorize21 } from "jscad-fiber";
3168
- import { Fragment as Fragment41, jsx as jsx46, jsxs as jsxs43 } from "react/jsx-runtime";
3237
+ import { Cuboid as Cuboid29, Translate as Translate17, Rotate as Rotate9, Colorize as Colorize22 } from "jscad-fiber";
3238
+ import { Fragment as Fragment42, jsx as jsx47, jsxs as jsxs44 } from "react/jsx-runtime";
3169
3239
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3170
3240
  const bodyWidth = 1.2;
3171
3241
  const bodyLength10 = 1.6;
@@ -3175,11 +3245,11 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3175
3245
  const leadHeight = 0.13;
3176
3246
  const leadSpacing = 0.5;
3177
3247
  const bodyZOffset = -0.4;
3178
- return /* @__PURE__ */ jsxs43(Fragment41, { children: [
3179
- /* @__PURE__ */ jsx46(Rotate8, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx46(Translate17, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx46(Colorize21, { color: "grey", children: /* @__PURE__ */ jsx46(Cuboid29, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3248
+ return /* @__PURE__ */ jsxs44(Fragment42, { children: [
3249
+ /* @__PURE__ */ jsx47(Rotate9, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx47(Translate17, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx47(Colorize22, { color: "grey", children: /* @__PURE__ */ jsx47(Cuboid29, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3180
3250
  [-1, 0, 1].flatMap((yOffset, index) => [
3181
3251
  // Left lead
3182
- /* @__PURE__ */ jsx46(
3252
+ /* @__PURE__ */ jsx47(
3183
3253
  Translate17,
3184
3254
  {
3185
3255
  center: [
@@ -3187,16 +3257,16 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3187
3257
  yOffset * leadSpacing,
3188
3258
  leadHeight / 2
3189
3259
  ],
3190
- children: /* @__PURE__ */ jsx46(Cuboid29, { size: [leadLength, leadWidth, leadHeight] })
3260
+ children: /* @__PURE__ */ jsx47(Cuboid29, { size: [leadLength, leadWidth, leadHeight] })
3191
3261
  },
3192
3262
  `left-${index}`
3193
3263
  ),
3194
3264
  // Right lead
3195
- /* @__PURE__ */ jsx46(
3265
+ /* @__PURE__ */ jsx47(
3196
3266
  Translate17,
3197
3267
  {
3198
3268
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
3199
- children: /* @__PURE__ */ jsx46(Cuboid29, { size: [leadLength, leadWidth, leadHeight] })
3269
+ children: /* @__PURE__ */ jsx47(Cuboid29, { size: [leadLength, leadWidth, leadHeight] })
3200
3270
  },
3201
3271
  `right-${index}`
3202
3272
  )
@@ -3205,8 +3275,8 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3205
3275
  };
3206
3276
 
3207
3277
  // lib/SOT-723.tsx
3208
- import { Cuboid as Cuboid30, Translate as Translate18, Rotate as Rotate9, Colorize as Colorize22 } from "jscad-fiber";
3209
- import { Fragment as Fragment42, jsx as jsx47, jsxs as jsxs44 } from "react/jsx-runtime";
3278
+ import { Cuboid as Cuboid30, Translate as Translate18, Rotate as Rotate10, Colorize as Colorize23 } from "jscad-fiber";
3279
+ import { Fragment as Fragment43, jsx as jsx48, jsxs as jsxs45 } from "react/jsx-runtime";
3210
3280
  var getCcwSot723Coords = (pn) => {
3211
3281
  if (pn === 1) {
3212
3282
  return { x: 0, y: 0 };
@@ -3224,11 +3294,11 @@ var SOT723 = () => {
3224
3294
  const leadLength = 0.3;
3225
3295
  const leadHeight = 0.1;
3226
3296
  const centerLeadWidth = 0.42;
3227
- return /* @__PURE__ */ jsxs44(Fragment42, { children: [
3228
- /* @__PURE__ */ jsx47(Rotate9, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx47(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx47(Colorize22, { color: "grey", children: /* @__PURE__ */ jsx47(Cuboid30, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3297
+ return /* @__PURE__ */ jsxs45(Fragment43, { children: [
3298
+ /* @__PURE__ */ jsx48(Rotate10, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx48(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx48(Colorize23, { color: "grey", children: /* @__PURE__ */ jsx48(Cuboid30, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3229
3299
  [1, 2, 3].map((pn) => {
3230
3300
  const { x, y } = getCcwSot723Coords(pn);
3231
- return /* @__PURE__ */ jsx47(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx47(
3301
+ return /* @__PURE__ */ jsx48(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx48(
3232
3302
  Cuboid30,
3233
3303
  {
3234
3304
  size: [
@@ -3243,7 +3313,7 @@ var SOT723 = () => {
3243
3313
  };
3244
3314
 
3245
3315
  // lib/sod-123.tsx
3246
- import { Fragment as Fragment43, jsx as jsx48, jsxs as jsxs45 } from "react/jsx-runtime";
3316
+ import { Fragment as Fragment44, jsx as jsx49, jsxs as jsxs46 } from "react/jsx-runtime";
3247
3317
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3248
3318
  const bodyWidth = 2.9;
3249
3319
  const bodyLength10 = 1.3;
@@ -3254,8 +3324,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3254
3324
  const padContactLength = 0.4;
3255
3325
  const padThickness = leadThickness / 2;
3256
3326
  const bodyDistance = (fullWidth - bodyWidth) / 2;
3257
- return /* @__PURE__ */ jsxs45(Fragment43, { children: [
3258
- /* @__PURE__ */ jsx48(
3327
+ return /* @__PURE__ */ jsxs46(Fragment44, { children: [
3328
+ /* @__PURE__ */ jsx49(
3259
3329
  SmdChipLead,
3260
3330
  {
3261
3331
  position: {
@@ -3271,7 +3341,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3271
3341
  },
3272
3342
  1
3273
3343
  ),
3274
- /* @__PURE__ */ jsx48(
3344
+ /* @__PURE__ */ jsx49(
3275
3345
  SmdChipLead,
3276
3346
  {
3277
3347
  rotation: Math.PI,
@@ -3288,7 +3358,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3288
3358
  },
3289
3359
  2
3290
3360
  ),
3291
- /* @__PURE__ */ jsx48(
3361
+ /* @__PURE__ */ jsx49(
3292
3362
  ChipBody,
3293
3363
  {
3294
3364
  center: { x: 0, y: 0, z: 0 },
@@ -3322,6 +3392,7 @@ export {
3322
3392
  MINIMELF,
3323
3393
  MS012,
3324
3394
  MSOP,
3395
+ MicroMELF,
3325
3396
  PinRow,
3326
3397
  QFN,
3327
3398
  QFP,