jscad-electronics 0.0.86 → 0.0.87

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
@@ -2655,9 +2655,47 @@ var LQFP = ({
2655
2655
  ] });
2656
2656
  };
2657
2657
 
2658
- // lib/dfn.tsx
2659
- import { Cuboid as Cuboid27 } from "jscad-fiber";
2658
+ // lib/SOT-723.tsx
2659
+ import { Cuboid as Cuboid27, Translate as Translate18, Rotate as Rotate6, Colorize as Colorize19 } from "jscad-fiber";
2660
2660
  import { Fragment as Fragment36, jsx as jsx40, jsxs as jsxs38 } from "react/jsx-runtime";
2661
+ var getCcwSot723Coords = (pn) => {
2662
+ if (pn === 1) {
2663
+ return { x: 0, y: 0 };
2664
+ } else if (pn === 2) {
2665
+ return { x: 1, y: -0.4 };
2666
+ } else {
2667
+ return { x: 1, y: 0.4 };
2668
+ }
2669
+ };
2670
+ var SOT723 = () => {
2671
+ const bodyWidth = 0.8;
2672
+ const bodyLength10 = 1.2;
2673
+ const bodyHeight = 0.5;
2674
+ const leadWidth = 0.32;
2675
+ const leadLength = 0.3;
2676
+ const leadHeight = 0.1;
2677
+ const centerLeadWidth = 0.42;
2678
+ return /* @__PURE__ */ jsxs38(Fragment36, { children: [
2679
+ /* @__PURE__ */ jsx40(Rotate6, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx40(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx40(Colorize19, { color: "grey", children: /* @__PURE__ */ jsx40(Cuboid27, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
2680
+ [1, 2, 3].map((pn) => {
2681
+ const { x, y } = getCcwSot723Coords(pn);
2682
+ return /* @__PURE__ */ jsx40(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx40(
2683
+ Cuboid27,
2684
+ {
2685
+ size: [
2686
+ leadLength,
2687
+ pn === 1 ? centerLeadWidth : leadWidth,
2688
+ leadHeight
2689
+ ]
2690
+ }
2691
+ ) }, `lead-${pn}`);
2692
+ })
2693
+ ] });
2694
+ };
2695
+
2696
+ // lib/dfn.tsx
2697
+ import { Cuboid as Cuboid28 } from "jscad-fiber";
2698
+ import { Fragment as Fragment37, jsx as jsx41, jsxs as jsxs39 } from "react/jsx-runtime";
2661
2699
  var DFN = ({
2662
2700
  num_pins,
2663
2701
  bodyWidth = 5.3,
@@ -2684,8 +2722,8 @@ var DFN = ({
2684
2722
  const pinNumber = i + 1;
2685
2723
  pinPositions.push({ pinNumber, x, y, padSizeX, padSizeY });
2686
2724
  }
2687
- return /* @__PURE__ */ jsxs38(Fragment36, { children: [
2688
- /* @__PURE__ */ jsx40(
2725
+ return /* @__PURE__ */ jsxs39(Fragment37, { children: [
2726
+ /* @__PURE__ */ jsx41(
2689
2727
  ChipBody,
2690
2728
  {
2691
2729
  center: { x: 0, y: 0, z: 0 },
@@ -2703,16 +2741,16 @@ var DFN = ({
2703
2741
  }
2704
2742
  }
2705
2743
  ),
2706
- pinPositions.map((p, i) => /* @__PURE__ */ jsx40(
2707
- Cuboid27,
2744
+ pinPositions.map((p, i) => /* @__PURE__ */ jsx41(
2745
+ Cuboid28,
2708
2746
  {
2709
2747
  center: [p.x, p.y, thermalPadThickness / 2],
2710
2748
  size: [p.padSizeX, p.padSizeY, thermalPadThickness]
2711
2749
  },
2712
2750
  i
2713
2751
  )),
2714
- thermalPadSize?.length !== void 0 && thermalPadSize?.width !== void 0 && /* @__PURE__ */ jsx40(
2715
- Cuboid27,
2752
+ thermalPadSize?.length !== void 0 && thermalPadSize?.width !== void 0 && /* @__PURE__ */ jsx41(
2753
+ Cuboid28,
2716
2754
  {
2717
2755
  center: [0, 0, thermalPadThickness / 2],
2718
2756
  size: [
@@ -2726,8 +2764,8 @@ var DFN = ({
2726
2764
  };
2727
2765
 
2728
2766
  // lib/hc49.tsx
2729
- import { Colorize as Colorize19, Cylinder as Cylinder6, Hull as Hull13, RoundedCylinder } from "jscad-fiber";
2730
- import { Fragment as Fragment37, jsx as jsx41, jsxs as jsxs39 } from "react/jsx-runtime";
2767
+ import { Colorize as Colorize20, Cylinder as Cylinder6, Hull as Hull13, RoundedCylinder } from "jscad-fiber";
2768
+ import { Fragment as Fragment38, jsx as jsx42, jsxs as jsxs40 } from "react/jsx-runtime";
2731
2769
  var HC49 = ({
2732
2770
  bodyLength: bodyLength10 = 10.2,
2733
2771
  bodyWidth = 4.65,
@@ -2743,10 +2781,10 @@ var HC49 = ({
2743
2781
  const endCenterX = halfLength - endRadius;
2744
2782
  const leadCenterX = leadSpacing / 2;
2745
2783
  const baseHeight = 0.85;
2746
- return /* @__PURE__ */ jsxs39(Fragment37, { children: [
2747
- /* @__PURE__ */ jsxs39(Colorize19, { color, children: [
2748
- /* @__PURE__ */ jsxs39(Hull13, { children: [
2749
- /* @__PURE__ */ jsx41(
2784
+ return /* @__PURE__ */ jsxs40(Fragment38, { children: [
2785
+ /* @__PURE__ */ jsxs40(Colorize20, { color, children: [
2786
+ /* @__PURE__ */ jsxs40(Hull13, { children: [
2787
+ /* @__PURE__ */ jsx42(
2750
2788
  RoundedCylinder,
2751
2789
  {
2752
2790
  height: bodyHeight,
@@ -2755,7 +2793,7 @@ var HC49 = ({
2755
2793
  center: [-endCenterX, 0, bodyHeight]
2756
2794
  }
2757
2795
  ),
2758
- /* @__PURE__ */ jsx41(
2796
+ /* @__PURE__ */ jsx42(
2759
2797
  RoundedCylinder,
2760
2798
  {
2761
2799
  height: bodyHeight,
@@ -2765,8 +2803,8 @@ var HC49 = ({
2765
2803
  }
2766
2804
  )
2767
2805
  ] }),
2768
- /* @__PURE__ */ jsxs39(Hull13, { children: [
2769
- /* @__PURE__ */ jsx41(
2806
+ /* @__PURE__ */ jsxs40(Hull13, { children: [
2807
+ /* @__PURE__ */ jsx42(
2770
2808
  RoundedCylinder,
2771
2809
  {
2772
2810
  height: baseHeight,
@@ -2775,7 +2813,7 @@ var HC49 = ({
2775
2813
  center: [-endCenterX, 0, bodyHeight / 2 + baseHeight / 2]
2776
2814
  }
2777
2815
  ),
2778
- /* @__PURE__ */ jsx41(
2816
+ /* @__PURE__ */ jsx42(
2779
2817
  RoundedCylinder,
2780
2818
  {
2781
2819
  height: baseHeight,
@@ -2786,8 +2824,8 @@ var HC49 = ({
2786
2824
  )
2787
2825
  ] })
2788
2826
  ] }),
2789
- /* @__PURE__ */ jsxs39(Colorize19, { color: leadColor, children: [
2790
- /* @__PURE__ */ jsx41(
2827
+ /* @__PURE__ */ jsxs40(Colorize20, { color: leadColor, children: [
2828
+ /* @__PURE__ */ jsx42(
2791
2829
  Cylinder6,
2792
2830
  {
2793
2831
  height: leadLength + bodyHeight / 2,
@@ -2795,7 +2833,7 @@ var HC49 = ({
2795
2833
  center: [-leadCenterX + 0.06, 0, -(leadLength / 2) + bodyHeight / 2]
2796
2834
  }
2797
2835
  ),
2798
- /* @__PURE__ */ jsx41(
2836
+ /* @__PURE__ */ jsx42(
2799
2837
  Cylinder6,
2800
2838
  {
2801
2839
  height: leadLength + bodyHeight / 2,
@@ -2809,13 +2847,13 @@ var HC49 = ({
2809
2847
 
2810
2848
  // lib/MicroMELF.tsx
2811
2849
  import {
2812
- Colorize as Colorize20,
2850
+ Colorize as Colorize21,
2813
2851
  Cylinder as Cylinder7,
2814
2852
  RoundedCylinder as RoundedCylinder2,
2815
- Rotate as Rotate6,
2853
+ Rotate as Rotate7,
2816
2854
  RoundedCuboid as RoundedCuboid2
2817
2855
  } from "jscad-fiber";
2818
- import { Fragment as Fragment38, jsx as jsx42, jsxs as jsxs40 } from "react/jsx-runtime";
2856
+ import { Fragment as Fragment39, jsx as jsx43, jsxs as jsxs41 } from "react/jsx-runtime";
2819
2857
  var MicroMELF = ({
2820
2858
  bodyLength: bodyLength10 = 1.4,
2821
2859
  bodyDiameter = 1.1,
@@ -2824,9 +2862,9 @@ var MicroMELF = ({
2824
2862
  cathodeIdentification = "#111"
2825
2863
  }) => {
2826
2864
  const padLength = 0.2;
2827
- return /* @__PURE__ */ jsxs40(Fragment38, { children: [
2828
- /* @__PURE__ */ jsx42(Colorize20, { color, children: /* @__PURE__ */ jsxs40(Rotate6, { rotation: [0, "90deg", 0], children: [
2829
- /* @__PURE__ */ jsx42(
2865
+ return /* @__PURE__ */ jsxs41(Fragment39, { children: [
2866
+ /* @__PURE__ */ jsx43(Colorize21, { color, children: /* @__PURE__ */ jsxs41(Rotate7, { rotation: [0, "90deg", 0], children: [
2867
+ /* @__PURE__ */ jsx43(
2830
2868
  RoundedCuboid2,
2831
2869
  {
2832
2870
  size: [bodyDiameter, bodyDiameter, bodyLength10 - padLength],
@@ -2834,7 +2872,7 @@ var MicroMELF = ({
2834
2872
  center: [-bodyDiameter / 2, 0, 0.05]
2835
2873
  }
2836
2874
  ),
2837
- /* @__PURE__ */ jsx42(
2875
+ /* @__PURE__ */ jsx43(
2838
2876
  Cylinder7,
2839
2877
  {
2840
2878
  height: padLength / 2,
@@ -2843,7 +2881,7 @@ var MicroMELF = ({
2843
2881
  }
2844
2882
  )
2845
2883
  ] }) }),
2846
- /* @__PURE__ */ jsx42(Colorize20, { color: cathodeIdentification, children: /* @__PURE__ */ jsx42(Rotate6, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx42(
2884
+ /* @__PURE__ */ jsx43(Colorize21, { color: cathodeIdentification, children: /* @__PURE__ */ jsx43(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx43(
2847
2885
  RoundedCuboid2,
2848
2886
  {
2849
2887
  size: [bodyDiameter * 1.01, bodyDiameter * 1.01, bodyLength10 / 3],
@@ -2851,7 +2889,7 @@ var MicroMELF = ({
2851
2889
  center: [-bodyDiameter / 2, 0, -bodyLength10 / 4 + 0.1]
2852
2890
  }
2853
2891
  ) }) }),
2854
- /* @__PURE__ */ jsx42(Colorize20, { color: contactColor, children: /* @__PURE__ */ jsx42(Rotate6, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx42(
2892
+ /* @__PURE__ */ jsx43(Colorize21, { color: contactColor, children: /* @__PURE__ */ jsx43(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx43(
2855
2893
  RoundedCylinder2,
2856
2894
  {
2857
2895
  height: padLength,
@@ -2860,7 +2898,7 @@ var MicroMELF = ({
2860
2898
  center: [-bodyDiameter / 2, 0, -bodyLength10 / 2]
2861
2899
  }
2862
2900
  ) }) }),
2863
- /* @__PURE__ */ jsx42(Colorize20, { color: contactColor, children: /* @__PURE__ */ jsx42(Rotate6, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx42(
2901
+ /* @__PURE__ */ jsx43(Colorize21, { color: contactColor, children: /* @__PURE__ */ jsx43(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx43(
2864
2902
  RoundedCylinder2,
2865
2903
  {
2866
2904
  height: padLength,
@@ -2873,8 +2911,8 @@ var MicroMELF = ({
2873
2911
  };
2874
2912
 
2875
2913
  // lib/MINIMELF.tsx
2876
- import { Colorize as Colorize21, RoundedCylinder as RoundedCylinder3, Rotate as Rotate7 } from "jscad-fiber";
2877
- import { Fragment as Fragment39, jsx as jsx43, jsxs as jsxs41 } from "react/jsx-runtime";
2914
+ import { Colorize as Colorize22, RoundedCylinder as RoundedCylinder3, Rotate as Rotate8 } from "jscad-fiber";
2915
+ import { Fragment as Fragment40, jsx as jsx44, jsxs as jsxs42 } from "react/jsx-runtime";
2878
2916
  var MINIMELF = ({
2879
2917
  bodyLength: bodyLength10 = 3.5,
2880
2918
  bodyDiameter = 1.5,
@@ -2882,8 +2920,8 @@ var MINIMELF = ({
2882
2920
  contactColor = "#c6c6c6"
2883
2921
  }) => {
2884
2922
  const padLength = 0.5;
2885
- return /* @__PURE__ */ jsxs41(Fragment39, { children: [
2886
- /* @__PURE__ */ jsx43(Colorize21, { color, children: /* @__PURE__ */ jsx43(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx43(
2923
+ return /* @__PURE__ */ jsxs42(Fragment40, { children: [
2924
+ /* @__PURE__ */ jsx44(Colorize22, { color, children: /* @__PURE__ */ jsx44(Rotate8, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx44(
2887
2925
  RoundedCylinder3,
2888
2926
  {
2889
2927
  height: bodyLength10,
@@ -2892,7 +2930,7 @@ var MINIMELF = ({
2892
2930
  center: [-bodyDiameter / 2, 0, 0]
2893
2931
  }
2894
2932
  ) }) }),
2895
- /* @__PURE__ */ jsx43(Colorize21, { color: contactColor, children: /* @__PURE__ */ jsx43(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx43(
2933
+ /* @__PURE__ */ jsx44(Colorize22, { color: contactColor, children: /* @__PURE__ */ jsx44(Rotate8, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx44(
2896
2934
  RoundedCylinder3,
2897
2935
  {
2898
2936
  height: padLength,
@@ -2901,7 +2939,7 @@ var MINIMELF = ({
2901
2939
  center: [-bodyDiameter / 2, 0, -bodyLength10 / 2]
2902
2940
  }
2903
2941
  ) }) }),
2904
- /* @__PURE__ */ jsx43(Colorize21, { color: contactColor, children: /* @__PURE__ */ jsx43(Rotate7, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx43(
2942
+ /* @__PURE__ */ jsx44(Colorize22, { color: contactColor, children: /* @__PURE__ */ jsx44(Rotate8, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx44(
2905
2943
  RoundedCylinder3,
2906
2944
  {
2907
2945
  height: padLength,
@@ -2914,8 +2952,8 @@ var MINIMELF = ({
2914
2952
  };
2915
2953
 
2916
2954
  // lib/MELF.tsx
2917
- import { Colorize as Colorize22, RoundedCylinder as RoundedCylinder4, Rotate as Rotate8 } from "jscad-fiber";
2918
- import { Fragment as Fragment40, jsx as jsx44, jsxs as jsxs42 } from "react/jsx-runtime";
2955
+ import { Colorize as Colorize23, RoundedCylinder as RoundedCylinder4, Rotate as Rotate9 } from "jscad-fiber";
2956
+ import { Fragment as Fragment41, jsx as jsx45, jsxs as jsxs43 } from "react/jsx-runtime";
2919
2957
  var MELF = ({
2920
2958
  bodyLength: bodyLength10 = 3.9,
2921
2959
  bodyDiameter = 2.5,
@@ -2923,8 +2961,8 @@ var MELF = ({
2923
2961
  contactColor = "#c6c6c6"
2924
2962
  }) => {
2925
2963
  const padLength = 0.55;
2926
- return /* @__PURE__ */ jsxs42(Fragment40, { children: [
2927
- /* @__PURE__ */ jsx44(Colorize22, { color, children: /* @__PURE__ */ jsx44(Rotate8, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx44(
2964
+ return /* @__PURE__ */ jsxs43(Fragment41, { children: [
2965
+ /* @__PURE__ */ jsx45(Colorize23, { color, children: /* @__PURE__ */ jsx45(Rotate9, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx45(
2928
2966
  RoundedCylinder4,
2929
2967
  {
2930
2968
  height: bodyLength10,
@@ -2933,7 +2971,7 @@ var MELF = ({
2933
2971
  center: [-bodyDiameter / 2, 0, 0]
2934
2972
  }
2935
2973
  ) }) }),
2936
- /* @__PURE__ */ jsx44(Colorize22, { color: contactColor, children: /* @__PURE__ */ jsx44(Rotate8, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx44(
2974
+ /* @__PURE__ */ jsx45(Colorize23, { color: contactColor, children: /* @__PURE__ */ jsx45(Rotate9, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx45(
2937
2975
  RoundedCylinder4,
2938
2976
  {
2939
2977
  height: padLength,
@@ -2942,7 +2980,7 @@ var MELF = ({
2942
2980
  center: [-bodyDiameter / 2, 0, -bodyLength10 / 2]
2943
2981
  }
2944
2982
  ) }) }),
2945
- /* @__PURE__ */ jsx44(Colorize22, { color: contactColor, children: /* @__PURE__ */ jsx44(Rotate8, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx44(
2983
+ /* @__PURE__ */ jsx45(Colorize23, { color: contactColor, children: /* @__PURE__ */ jsx45(Rotate9, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx45(
2946
2984
  RoundedCylinder4,
2947
2985
  {
2948
2986
  height: padLength,
@@ -2955,7 +2993,7 @@ var MELF = ({
2955
2993
  };
2956
2994
 
2957
2995
  // lib/ms012.tsx
2958
- import { Fragment as Fragment41, jsx as jsx45, jsxs as jsxs43 } from "react/jsx-runtime";
2996
+ import { Fragment as Fragment42, jsx as jsx46, jsxs as jsxs44 } from "react/jsx-runtime";
2959
2997
  var MS012 = ({
2960
2998
  pinCount,
2961
2999
  padContactLength = 0.6,
@@ -2970,8 +3008,8 @@ var MS012 = ({
2970
3008
  const bodyLength10 = 3.9;
2971
3009
  const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
2972
3010
  const leadThickness = 0.2;
2973
- return /* @__PURE__ */ jsxs43(Fragment41, { children: [
2974
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx45(
3011
+ return /* @__PURE__ */ jsxs44(Fragment42, { children: [
3012
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx46(
2975
3013
  SmdChipLead,
2976
3014
  {
2977
3015
  position: {
@@ -2987,7 +3025,7 @@ var MS012 = ({
2987
3025
  },
2988
3026
  i
2989
3027
  )),
2990
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx45(
3028
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx46(
2991
3029
  SmdChipLead,
2992
3030
  {
2993
3031
  rotation: Math.PI,
@@ -3004,7 +3042,7 @@ var MS012 = ({
3004
3042
  },
3005
3043
  `right-${i}`
3006
3044
  )),
3007
- /* @__PURE__ */ jsx45(
3045
+ /* @__PURE__ */ jsx46(
3008
3046
  ChipBody,
3009
3047
  {
3010
3048
  center: { x: 0, y: 0, z: leadThickness / 2 },
@@ -3020,14 +3058,14 @@ var MS012 = ({
3020
3058
  };
3021
3059
 
3022
3060
  // lib/Footprinter3d.tsx
3023
- import { jsx as jsx46 } from "react/jsx-runtime";
3061
+ import { jsx as jsx47 } from "react/jsx-runtime";
3024
3062
  var Footprinter3d = ({ footprint }) => {
3025
3063
  const fpJson = fp3.string(footprint).json();
3026
3064
  switch (fpJson.fn) {
3027
3065
  case "dip":
3028
- return /* @__PURE__ */ jsx46(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
3066
+ return /* @__PURE__ */ jsx47(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
3029
3067
  case "tssop":
3030
- return /* @__PURE__ */ jsx46(
3068
+ return /* @__PURE__ */ jsx47(
3031
3069
  Tssop,
3032
3070
  {
3033
3071
  pinCount: fpJson.num_pins,
@@ -3038,7 +3076,7 @@ var Footprinter3d = ({ footprint }) => {
3038
3076
  }
3039
3077
  );
3040
3078
  case "msop":
3041
- return /* @__PURE__ */ jsx46(
3079
+ return /* @__PURE__ */ jsx47(
3042
3080
  MSOP,
3043
3081
  {
3044
3082
  pinCount: fpJson.num_pins,
@@ -3049,7 +3087,7 @@ var Footprinter3d = ({ footprint }) => {
3049
3087
  }
3050
3088
  );
3051
3089
  case "vssop":
3052
- return /* @__PURE__ */ jsx46(
3090
+ return /* @__PURE__ */ jsx47(
3053
3091
  VSSOP,
3054
3092
  {
3055
3093
  pinCount: fpJson.num_pins,
@@ -3061,7 +3099,7 @@ var Footprinter3d = ({ footprint }) => {
3061
3099
  }
3062
3100
  );
3063
3101
  case "qfp":
3064
- return /* @__PURE__ */ jsx46(
3102
+ return /* @__PURE__ */ jsx47(
3065
3103
  QFP,
3066
3104
  {
3067
3105
  pinCount: fpJson.num_pins,
@@ -3072,12 +3110,12 @@ var Footprinter3d = ({ footprint }) => {
3072
3110
  }
3073
3111
  );
3074
3112
  case "tqfp":
3075
- return /* @__PURE__ */ jsx46(tqfp_default, {});
3113
+ return /* @__PURE__ */ jsx47(tqfp_default, {});
3076
3114
  case "lqfp":
3077
- return /* @__PURE__ */ jsx46(LQFP, { pinCount: fpJson.num_pins });
3115
+ return /* @__PURE__ */ jsx47(LQFP, { pinCount: fpJson.num_pins });
3078
3116
  case "qfn": {
3079
3117
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
3080
- return /* @__PURE__ */ jsx46(
3118
+ return /* @__PURE__ */ jsx47(
3081
3119
  qfn_default,
3082
3120
  {
3083
3121
  num_pins: fpJson.num_pins,
@@ -3095,7 +3133,7 @@ var Footprinter3d = ({ footprint }) => {
3095
3133
  }
3096
3134
  case "dfn": {
3097
3135
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
3098
- return /* @__PURE__ */ jsx46(
3136
+ return /* @__PURE__ */ jsx47(
3099
3137
  DFN,
3100
3138
  {
3101
3139
  num_pins: fpJson.num_pins,
@@ -3113,39 +3151,39 @@ var Footprinter3d = ({ footprint }) => {
3113
3151
  }
3114
3152
  case "pinrow":
3115
3153
  if (fpJson.male)
3116
- return /* @__PURE__ */ jsx46(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3154
+ return /* @__PURE__ */ jsx47(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3117
3155
  if (fpJson.female)
3118
- return /* @__PURE__ */ jsx46(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3156
+ return /* @__PURE__ */ jsx47(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3119
3157
  case "cap": {
3120
3158
  switch (fpJson.imperial) {
3121
3159
  case "0402":
3122
- return /* @__PURE__ */ jsx46(A0402, { color: "#856c4d" });
3160
+ return /* @__PURE__ */ jsx47(A0402, { color: "#856c4d" });
3123
3161
  case "0603":
3124
- return /* @__PURE__ */ jsx46(A0603, { color: "#856c4d" });
3162
+ return /* @__PURE__ */ jsx47(A0603, { color: "#856c4d" });
3125
3163
  case "0805":
3126
- return /* @__PURE__ */ jsx46(A0805, { color: "#856c4d" });
3164
+ return /* @__PURE__ */ jsx47(A0805, { color: "#856c4d" });
3127
3165
  case "0201":
3128
- return /* @__PURE__ */ jsx46(A0201, { color: "#856c4d" });
3166
+ return /* @__PURE__ */ jsx47(A0201, { color: "#856c4d" });
3129
3167
  case "01005":
3130
- return /* @__PURE__ */ jsx46(A01005, { color: "#856c4d" });
3168
+ return /* @__PURE__ */ jsx47(A01005, { color: "#856c4d" });
3131
3169
  case "1206":
3132
- return /* @__PURE__ */ jsx46(A1206, { color: "#856c4d" });
3170
+ return /* @__PURE__ */ jsx47(A1206, { color: "#856c4d" });
3133
3171
  case "1210":
3134
- return /* @__PURE__ */ jsx46(A1210, { color: "#856c4d" });
3172
+ return /* @__PURE__ */ jsx47(A1210, { color: "#856c4d" });
3135
3173
  case "2010":
3136
- return /* @__PURE__ */ jsx46(A2010, { color: "#856c4d" });
3174
+ return /* @__PURE__ */ jsx47(A2010, { color: "#856c4d" });
3137
3175
  case "2512":
3138
- return /* @__PURE__ */ jsx46(A2512, { color: "#856c4d" });
3176
+ return /* @__PURE__ */ jsx47(A2512, { color: "#856c4d" });
3139
3177
  }
3140
3178
  }
3141
3179
  case "sot235":
3142
- return /* @__PURE__ */ jsx46(SOT_235_default, {});
3180
+ return /* @__PURE__ */ jsx47(SOT_235_default, {});
3143
3181
  case "sot223":
3144
- return /* @__PURE__ */ jsx46(SOT223, {});
3182
+ return /* @__PURE__ */ jsx47(SOT223, {});
3145
3183
  case "sot323":
3146
- return /* @__PURE__ */ jsx46(SOT323, {});
3184
+ return /* @__PURE__ */ jsx47(SOT323, {});
3147
3185
  case "pushbutton":
3148
- return /* @__PURE__ */ jsx46(
3186
+ return /* @__PURE__ */ jsx47(
3149
3187
  PushButton,
3150
3188
  {
3151
3189
  width: fpJson.w,
@@ -3154,7 +3192,7 @@ var Footprinter3d = ({ footprint }) => {
3154
3192
  }
3155
3193
  );
3156
3194
  case "soic":
3157
- return /* @__PURE__ */ jsx46(
3195
+ return /* @__PURE__ */ jsx47(
3158
3196
  SOIC,
3159
3197
  {
3160
3198
  pinCount: fpJson.num_pins,
@@ -3165,33 +3203,33 @@ var Footprinter3d = ({ footprint }) => {
3165
3203
  }
3166
3204
  );
3167
3205
  case "sod523":
3168
- return /* @__PURE__ */ jsx46(SOD523, {});
3206
+ return /* @__PURE__ */ jsx47(SOD523, {});
3169
3207
  case "sod882":
3170
- return /* @__PURE__ */ jsx46(SOD882, {});
3208
+ return /* @__PURE__ */ jsx47(SOD882, {});
3171
3209
  case "sma":
3172
- return /* @__PURE__ */ jsx46(SMA, {});
3210
+ return /* @__PURE__ */ jsx47(SMA, {});
3173
3211
  case "smb":
3174
- return /* @__PURE__ */ jsx46(SMB, {});
3212
+ return /* @__PURE__ */ jsx47(SMB, {});
3175
3213
  case "smc":
3176
- return /* @__PURE__ */ jsx46(SMC, {});
3214
+ return /* @__PURE__ */ jsx47(SMC, {});
3177
3215
  case "smf":
3178
- return /* @__PURE__ */ jsx46(SMF, {});
3216
+ return /* @__PURE__ */ jsx47(SMF, {});
3179
3217
  case "sod123f":
3180
- return /* @__PURE__ */ jsx46(SOD123F, {});
3218
+ return /* @__PURE__ */ jsx47(SOD123F, {});
3181
3219
  case "sod123fl":
3182
- return /* @__PURE__ */ jsx46(SOD123FL, {});
3220
+ return /* @__PURE__ */ jsx47(SOD123FL, {});
3183
3221
  case "sod923":
3184
- return /* @__PURE__ */ jsx46(SOD923, {});
3222
+ return /* @__PURE__ */ jsx47(SOD923, {});
3185
3223
  case "hc49":
3186
- return /* @__PURE__ */ jsx46(HC49, {});
3224
+ return /* @__PURE__ */ jsx47(HC49, {});
3187
3225
  case "micromelf":
3188
- return /* @__PURE__ */ jsx46(MicroMELF, {});
3226
+ return /* @__PURE__ */ jsx47(MicroMELF, {});
3189
3227
  case "minimelf":
3190
- return /* @__PURE__ */ jsx46(MINIMELF, {});
3228
+ return /* @__PURE__ */ jsx47(MINIMELF, {});
3191
3229
  case "melf":
3192
- return /* @__PURE__ */ jsx46(MELF, {});
3230
+ return /* @__PURE__ */ jsx47(MELF, {});
3193
3231
  case "ms012":
3194
- return /* @__PURE__ */ jsx46(
3232
+ return /* @__PURE__ */ jsx47(
3195
3233
  MS012,
3196
3234
  {
3197
3235
  pinCount: fpJson.num_pins,
@@ -3200,34 +3238,36 @@ var Footprinter3d = ({ footprint }) => {
3200
3238
  pitch: fpJson.p
3201
3239
  }
3202
3240
  );
3241
+ case "sot723":
3242
+ return /* @__PURE__ */ jsx47(SOT723, {});
3203
3243
  }
3204
3244
  const colorMatch = footprint.match(/_color\(([^)]+)\)/);
3205
3245
  const color = colorMatch ? colorMatch[1] : void 0;
3206
3246
  switch (fpJson.imperial) {
3207
3247
  case "0402":
3208
- return /* @__PURE__ */ jsx46(A0402, { color });
3248
+ return /* @__PURE__ */ jsx47(A0402, { color });
3209
3249
  case "0603":
3210
- return /* @__PURE__ */ jsx46(A0603, { color });
3250
+ return /* @__PURE__ */ jsx47(A0603, { color });
3211
3251
  case "0805":
3212
- return /* @__PURE__ */ jsx46(A0805, { color });
3252
+ return /* @__PURE__ */ jsx47(A0805, { color });
3213
3253
  case "0201":
3214
- return /* @__PURE__ */ jsx46(A0201, { color });
3254
+ return /* @__PURE__ */ jsx47(A0201, { color });
3215
3255
  case "01005":
3216
- return /* @__PURE__ */ jsx46(A01005, { color });
3256
+ return /* @__PURE__ */ jsx47(A01005, { color });
3217
3257
  case "1206":
3218
- return /* @__PURE__ */ jsx46(A1206, { color });
3258
+ return /* @__PURE__ */ jsx47(A1206, { color });
3219
3259
  case "1210":
3220
- return /* @__PURE__ */ jsx46(A1210, { color });
3260
+ return /* @__PURE__ */ jsx47(A1210, { color });
3221
3261
  case "2010":
3222
- return /* @__PURE__ */ jsx46(A2010, { color });
3262
+ return /* @__PURE__ */ jsx47(A2010, { color });
3223
3263
  case "2512":
3224
- return /* @__PURE__ */ jsx46(A2512, { color });
3264
+ return /* @__PURE__ */ jsx47(A2512, { color });
3225
3265
  }
3226
3266
  return null;
3227
3267
  };
3228
3268
 
3229
3269
  // lib/SOT-23-3P.tsx
3230
- import { Fragment as Fragment42, jsx as jsx47, jsxs as jsxs44 } from "react/jsx-runtime";
3270
+ import { Fragment as Fragment43, jsx as jsx48, jsxs as jsxs45 } from "react/jsx-runtime";
3231
3271
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3232
3272
  const bodyWidth = 1.3;
3233
3273
  const bodyLength10 = 2.9;
@@ -3238,8 +3278,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3238
3278
  const padContactLength = 0.4;
3239
3279
  const padThickness = leadThickness / 2;
3240
3280
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
3241
- return /* @__PURE__ */ jsxs44(Fragment42, { children: [
3242
- /* @__PURE__ */ jsx47(
3281
+ return /* @__PURE__ */ jsxs45(Fragment43, { children: [
3282
+ /* @__PURE__ */ jsx48(
3243
3283
  SmdChipLead,
3244
3284
  {
3245
3285
  rotation: Math.PI,
@@ -3256,7 +3296,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3256
3296
  },
3257
3297
  1
3258
3298
  ),
3259
- /* @__PURE__ */ jsx47(
3299
+ /* @__PURE__ */ jsx48(
3260
3300
  SmdChipLead,
3261
3301
  {
3262
3302
  rotation: Math.PI,
@@ -3273,7 +3313,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3273
3313
  },
3274
3314
  2
3275
3315
  ),
3276
- /* @__PURE__ */ jsx47(
3316
+ /* @__PURE__ */ jsx48(
3277
3317
  SmdChipLead,
3278
3318
  {
3279
3319
  position: {
@@ -3289,7 +3329,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3289
3329
  },
3290
3330
  3
3291
3331
  ),
3292
- /* @__PURE__ */ jsx47(
3332
+ /* @__PURE__ */ jsx48(
3293
3333
  ChipBody,
3294
3334
  {
3295
3335
  center: { x: 0, y: 0, z: 0 },
@@ -3302,8 +3342,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3302
3342
  };
3303
3343
 
3304
3344
  // lib/SOT-563.tsx
3305
- import { Cuboid as Cuboid30, Translate as Translate18, Rotate as Rotate9, Colorize as Colorize23 } from "jscad-fiber";
3306
- import { Fragment as Fragment43, jsx as jsx48, jsxs as jsxs45 } from "react/jsx-runtime";
3345
+ import { Cuboid as Cuboid31, Translate as Translate19, Rotate as Rotate10, Colorize as Colorize24 } from "jscad-fiber";
3346
+ import { Fragment as Fragment44, jsx as jsx49, jsxs as jsxs46 } from "react/jsx-runtime";
3307
3347
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3308
3348
  const bodyWidth = 1.2;
3309
3349
  const bodyLength10 = 1.6;
@@ -3313,28 +3353,28 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3313
3353
  const leadHeight = 0.13;
3314
3354
  const leadSpacing = 0.5;
3315
3355
  const bodyZOffset = -0.4;
3316
- return /* @__PURE__ */ jsxs45(Fragment43, { children: [
3317
- /* @__PURE__ */ jsx48(Rotate9, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx48(Translate18, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx48(Colorize23, { color: "grey", children: /* @__PURE__ */ jsx48(Cuboid30, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3356
+ return /* @__PURE__ */ jsxs46(Fragment44, { children: [
3357
+ /* @__PURE__ */ jsx49(Rotate10, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx49(Translate19, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx49(Colorize24, { color: "grey", children: /* @__PURE__ */ jsx49(Cuboid31, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3318
3358
  [-1, 0, 1].flatMap((yOffset, index) => [
3319
3359
  // Left lead
3320
- /* @__PURE__ */ jsx48(
3321
- Translate18,
3360
+ /* @__PURE__ */ jsx49(
3361
+ Translate19,
3322
3362
  {
3323
3363
  center: [
3324
3364
  -bodyWidth / 2 - 0.03,
3325
3365
  yOffset * leadSpacing,
3326
3366
  leadHeight / 2
3327
3367
  ],
3328
- children: /* @__PURE__ */ jsx48(Cuboid30, { size: [leadLength, leadWidth, leadHeight] })
3368
+ children: /* @__PURE__ */ jsx49(Cuboid31, { size: [leadLength, leadWidth, leadHeight] })
3329
3369
  },
3330
3370
  `left-${index}`
3331
3371
  ),
3332
3372
  // Right lead
3333
- /* @__PURE__ */ jsx48(
3334
- Translate18,
3373
+ /* @__PURE__ */ jsx49(
3374
+ Translate19,
3335
3375
  {
3336
3376
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
3337
- children: /* @__PURE__ */ jsx48(Cuboid30, { size: [leadLength, leadWidth, leadHeight] })
3377
+ children: /* @__PURE__ */ jsx49(Cuboid31, { size: [leadLength, leadWidth, leadHeight] })
3338
3378
  },
3339
3379
  `right-${index}`
3340
3380
  )
@@ -3342,44 +3382,6 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3342
3382
  ] });
3343
3383
  };
3344
3384
 
3345
- // lib/SOT-723.tsx
3346
- import { Cuboid as Cuboid31, Translate as Translate19, Rotate as Rotate10, Colorize as Colorize24 } from "jscad-fiber";
3347
- import { Fragment as Fragment44, jsx as jsx49, jsxs as jsxs46 } from "react/jsx-runtime";
3348
- var getCcwSot723Coords = (pn) => {
3349
- if (pn === 1) {
3350
- return { x: 0, y: 0 };
3351
- } else if (pn === 2) {
3352
- return { x: 1, y: -0.4 };
3353
- } else {
3354
- return { x: 1, y: 0.4 };
3355
- }
3356
- };
3357
- var SOT723 = () => {
3358
- const bodyWidth = 0.8;
3359
- const bodyLength10 = 1.2;
3360
- const bodyHeight = 0.5;
3361
- const leadWidth = 0.32;
3362
- const leadLength = 0.3;
3363
- const leadHeight = 0.1;
3364
- const centerLeadWidth = 0.42;
3365
- return /* @__PURE__ */ jsxs46(Fragment44, { children: [
3366
- /* @__PURE__ */ jsx49(Rotate10, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx49(Translate19, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx49(Colorize24, { color: "grey", children: /* @__PURE__ */ jsx49(Cuboid31, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3367
- [1, 2, 3].map((pn) => {
3368
- const { x, y } = getCcwSot723Coords(pn);
3369
- return /* @__PURE__ */ jsx49(Translate19, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx49(
3370
- Cuboid31,
3371
- {
3372
- size: [
3373
- leadLength,
3374
- pn === 1 ? centerLeadWidth : leadWidth,
3375
- leadHeight
3376
- ]
3377
- }
3378
- ) }, `lead-${pn}`);
3379
- })
3380
- ] });
3381
- };
3382
-
3383
3385
  // lib/sod-123.tsx
3384
3386
  import { Fragment as Fragment45, jsx as jsx50, jsxs as jsxs47 } from "react/jsx-runtime";
3385
3387
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {