jscad-electronics 0.0.79 → 0.0.80

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
@@ -227,4 +227,26 @@ declare const SOT223: () => react_jsx_runtime.JSX.Element;
227
227
 
228
228
  declare const SOT323: () => react_jsx_runtime.JSX.Element;
229
229
 
230
- export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, DFN, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, LQFP, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD523, SOD923, SOT223, SOT233P, SOT323, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, TQFP, Tssop, VSSOP };
230
+ interface HC49Props {
231
+ /** overall body length (mm) */
232
+ bodyLength?: number;
233
+ /** body width (mm) */
234
+ bodyWidth?: number;
235
+ /** body height (mm) */
236
+ bodyHeight?: number;
237
+ /** distance between lead centers (mm) */
238
+ leadSpacing?: number;
239
+ /** lead diameter (mm) */
240
+ leadDiameter?: number;
241
+ /** length of the lead below the body (mm) */
242
+ leadLength?: number;
243
+ color?: string;
244
+ leadColor?: string;
245
+ }
246
+ /**
247
+ * HC-49 (through-hole crystal) simplified 3D model.
248
+ * Defaults chosen to match the HC-49/U-S recommended land pattern and dimensions.
249
+ */
250
+ declare const HC49: ({ bodyLength, bodyWidth, bodyHeight, leadSpacing, leadDiameter, leadLength, color, leadColor, }: HC49Props) => react_jsx_runtime.JSX.Element;
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 };
package/dist/index.js CHANGED
@@ -2595,15 +2595,97 @@ var DFN = ({
2595
2595
  ] });
2596
2596
  };
2597
2597
 
2598
+ // lib/hc49.tsx
2599
+ import { Colorize as Colorize18, Cylinder as Cylinder6, Hull as Hull12, RoundedCylinder } from "jscad-fiber";
2600
+ import { Fragment as Fragment35, jsx as jsx39, jsxs as jsxs37 } from "react/jsx-runtime";
2601
+ var HC49 = ({
2602
+ bodyLength: bodyLength10 = 10.2,
2603
+ bodyWidth = 4.65,
2604
+ bodyHeight = 13.46,
2605
+ leadSpacing = 5,
2606
+ leadDiameter = 0.8,
2607
+ leadLength = 12.7,
2608
+ color = "#ddd",
2609
+ leadColor = "#b87333"
2610
+ }) => {
2611
+ const halfLength = bodyLength10 / 2;
2612
+ const endRadius = bodyWidth / 2;
2613
+ const endCenterX = halfLength - endRadius;
2614
+ const leadCenterX = leadSpacing / 2;
2615
+ const baseHeight = 0.85;
2616
+ return /* @__PURE__ */ jsxs37(Fragment35, { children: [
2617
+ /* @__PURE__ */ jsxs37(Colorize18, { color, children: [
2618
+ /* @__PURE__ */ jsxs37(Hull12, { children: [
2619
+ /* @__PURE__ */ jsx39(
2620
+ RoundedCylinder,
2621
+ {
2622
+ height: bodyHeight,
2623
+ roundRadius: 0.5,
2624
+ radius: endRadius,
2625
+ center: [-endCenterX, 0, bodyHeight]
2626
+ }
2627
+ ),
2628
+ /* @__PURE__ */ jsx39(
2629
+ RoundedCylinder,
2630
+ {
2631
+ height: bodyHeight,
2632
+ roundRadius: 0.5,
2633
+ radius: endRadius,
2634
+ center: [endCenterX, 0, bodyHeight]
2635
+ }
2636
+ )
2637
+ ] }),
2638
+ /* @__PURE__ */ jsxs37(Hull12, { children: [
2639
+ /* @__PURE__ */ jsx39(
2640
+ RoundedCylinder,
2641
+ {
2642
+ height: baseHeight,
2643
+ roundRadius: 0.1,
2644
+ radius: endRadius + 0.85,
2645
+ center: [-endCenterX, 0, bodyHeight / 2 + baseHeight / 2]
2646
+ }
2647
+ ),
2648
+ /* @__PURE__ */ jsx39(
2649
+ RoundedCylinder,
2650
+ {
2651
+ height: baseHeight,
2652
+ roundRadius: 0.1,
2653
+ radius: endRadius + 0.85,
2654
+ center: [endCenterX, 0, bodyHeight / 2 + baseHeight / 2]
2655
+ }
2656
+ )
2657
+ ] })
2658
+ ] }),
2659
+ /* @__PURE__ */ jsxs37(Colorize18, { color: leadColor, children: [
2660
+ /* @__PURE__ */ jsx39(
2661
+ Cylinder6,
2662
+ {
2663
+ height: leadLength + bodyHeight / 2,
2664
+ radius: leadDiameter / 2,
2665
+ center: [-leadCenterX + 0.06, 0, -(leadLength / 2) + bodyHeight / 2]
2666
+ }
2667
+ ),
2668
+ /* @__PURE__ */ jsx39(
2669
+ Cylinder6,
2670
+ {
2671
+ height: leadLength + bodyHeight / 2,
2672
+ radius: leadDiameter / 2,
2673
+ center: [leadCenterX - 0.06, 0, -(leadLength / 2) + bodyHeight / 2]
2674
+ }
2675
+ )
2676
+ ] })
2677
+ ] });
2678
+ };
2679
+
2598
2680
  // lib/Footprinter3d.tsx
2599
- import { jsx as jsx39 } from "react/jsx-runtime";
2681
+ import { jsx as jsx40 } from "react/jsx-runtime";
2600
2682
  var Footprinter3d = ({ footprint }) => {
2601
2683
  const fpJson = fp3.string(footprint).json();
2602
2684
  switch (fpJson.fn) {
2603
2685
  case "dip":
2604
- return /* @__PURE__ */ jsx39(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2686
+ return /* @__PURE__ */ jsx40(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2605
2687
  case "tssop":
2606
- return /* @__PURE__ */ jsx39(
2688
+ return /* @__PURE__ */ jsx40(
2607
2689
  Tssop,
2608
2690
  {
2609
2691
  pinCount: fpJson.num_pins,
@@ -2614,7 +2696,7 @@ var Footprinter3d = ({ footprint }) => {
2614
2696
  }
2615
2697
  );
2616
2698
  case "vssop":
2617
- return /* @__PURE__ */ jsx39(
2699
+ return /* @__PURE__ */ jsx40(
2618
2700
  VSSOP,
2619
2701
  {
2620
2702
  pinCount: fpJson.num_pins,
@@ -2626,7 +2708,7 @@ var Footprinter3d = ({ footprint }) => {
2626
2708
  }
2627
2709
  );
2628
2710
  case "qfp":
2629
- return /* @__PURE__ */ jsx39(
2711
+ return /* @__PURE__ */ jsx40(
2630
2712
  QFP,
2631
2713
  {
2632
2714
  pinCount: fpJson.num_pins,
@@ -2637,12 +2719,12 @@ var Footprinter3d = ({ footprint }) => {
2637
2719
  }
2638
2720
  );
2639
2721
  case "tqfp":
2640
- return /* @__PURE__ */ jsx39(tqfp_default, {});
2722
+ return /* @__PURE__ */ jsx40(tqfp_default, {});
2641
2723
  case "lqfp":
2642
- return /* @__PURE__ */ jsx39(LQFP, { pinCount: fpJson.num_pins });
2724
+ return /* @__PURE__ */ jsx40(LQFP, { pinCount: fpJson.num_pins });
2643
2725
  case "qfn": {
2644
2726
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
2645
- return /* @__PURE__ */ jsx39(
2727
+ return /* @__PURE__ */ jsx40(
2646
2728
  qfn_default,
2647
2729
  {
2648
2730
  num_pins: fpJson.num_pins,
@@ -2660,7 +2742,7 @@ var Footprinter3d = ({ footprint }) => {
2660
2742
  }
2661
2743
  case "dfn": {
2662
2744
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
2663
- return /* @__PURE__ */ jsx39(
2745
+ return /* @__PURE__ */ jsx40(
2664
2746
  DFN,
2665
2747
  {
2666
2748
  num_pins: fpJson.num_pins,
@@ -2678,39 +2760,39 @@ var Footprinter3d = ({ footprint }) => {
2678
2760
  }
2679
2761
  case "pinrow":
2680
2762
  if (fpJson.male)
2681
- return /* @__PURE__ */ jsx39(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2763
+ return /* @__PURE__ */ jsx40(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2682
2764
  if (fpJson.female)
2683
- return /* @__PURE__ */ jsx39(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2765
+ return /* @__PURE__ */ jsx40(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2684
2766
  case "cap": {
2685
2767
  switch (fpJson.imperial) {
2686
2768
  case "0402":
2687
- return /* @__PURE__ */ jsx39(A0402, { color: "#856c4d" });
2769
+ return /* @__PURE__ */ jsx40(A0402, { color: "#856c4d" });
2688
2770
  case "0603":
2689
- return /* @__PURE__ */ jsx39(A0603, { color: "#856c4d" });
2771
+ return /* @__PURE__ */ jsx40(A0603, { color: "#856c4d" });
2690
2772
  case "0805":
2691
- return /* @__PURE__ */ jsx39(A0805, { color: "#856c4d" });
2773
+ return /* @__PURE__ */ jsx40(A0805, { color: "#856c4d" });
2692
2774
  case "0201":
2693
- return /* @__PURE__ */ jsx39(A0201, { color: "#856c4d" });
2775
+ return /* @__PURE__ */ jsx40(A0201, { color: "#856c4d" });
2694
2776
  case "01005":
2695
- return /* @__PURE__ */ jsx39(A01005, { color: "#856c4d" });
2777
+ return /* @__PURE__ */ jsx40(A01005, { color: "#856c4d" });
2696
2778
  case "1206":
2697
- return /* @__PURE__ */ jsx39(A1206, { color: "#856c4d" });
2779
+ return /* @__PURE__ */ jsx40(A1206, { color: "#856c4d" });
2698
2780
  case "1210":
2699
- return /* @__PURE__ */ jsx39(A1210, { color: "#856c4d" });
2781
+ return /* @__PURE__ */ jsx40(A1210, { color: "#856c4d" });
2700
2782
  case "2010":
2701
- return /* @__PURE__ */ jsx39(A2010, { color: "#856c4d" });
2783
+ return /* @__PURE__ */ jsx40(A2010, { color: "#856c4d" });
2702
2784
  case "2512":
2703
- return /* @__PURE__ */ jsx39(A2512, { color: "#856c4d" });
2785
+ return /* @__PURE__ */ jsx40(A2512, { color: "#856c4d" });
2704
2786
  }
2705
2787
  }
2706
2788
  case "sot235":
2707
- return /* @__PURE__ */ jsx39(SOT_235_default, {});
2789
+ return /* @__PURE__ */ jsx40(SOT_235_default, {});
2708
2790
  case "sot223":
2709
- return /* @__PURE__ */ jsx39(SOT223, {});
2791
+ return /* @__PURE__ */ jsx40(SOT223, {});
2710
2792
  case "sot323":
2711
- return /* @__PURE__ */ jsx39(SOT323, {});
2793
+ return /* @__PURE__ */ jsx40(SOT323, {});
2712
2794
  case "pushbutton":
2713
- return /* @__PURE__ */ jsx39(
2795
+ return /* @__PURE__ */ jsx40(
2714
2796
  PushButton,
2715
2797
  {
2716
2798
  width: fpJson.w,
@@ -2719,7 +2801,7 @@ var Footprinter3d = ({ footprint }) => {
2719
2801
  }
2720
2802
  );
2721
2803
  case "soic":
2722
- return /* @__PURE__ */ jsx39(
2804
+ return /* @__PURE__ */ jsx40(
2723
2805
  SOIC,
2724
2806
  {
2725
2807
  pinCount: fpJson.num_pins,
@@ -2730,49 +2812,51 @@ var Footprinter3d = ({ footprint }) => {
2730
2812
  }
2731
2813
  );
2732
2814
  case "sod523":
2733
- return /* @__PURE__ */ jsx39(SOD523, {});
2815
+ return /* @__PURE__ */ jsx40(SOD523, {});
2734
2816
  case "sma":
2735
- return /* @__PURE__ */ jsx39(SMA, {});
2817
+ return /* @__PURE__ */ jsx40(SMA, {});
2736
2818
  case "smb":
2737
- return /* @__PURE__ */ jsx39(SMB, {});
2819
+ return /* @__PURE__ */ jsx40(SMB, {});
2738
2820
  case "smc":
2739
- return /* @__PURE__ */ jsx39(SMC, {});
2821
+ return /* @__PURE__ */ jsx40(SMC, {});
2740
2822
  case "smf":
2741
- return /* @__PURE__ */ jsx39(SMF, {});
2823
+ return /* @__PURE__ */ jsx40(SMF, {});
2742
2824
  case "sod123f":
2743
- return /* @__PURE__ */ jsx39(SOD123F, {});
2825
+ return /* @__PURE__ */ jsx40(SOD123F, {});
2744
2826
  case "sod123fl":
2745
- return /* @__PURE__ */ jsx39(SOD123FL, {});
2827
+ return /* @__PURE__ */ jsx40(SOD123FL, {});
2746
2828
  case "sod923":
2747
- return /* @__PURE__ */ jsx39(SOD923, {});
2829
+ return /* @__PURE__ */ jsx40(SOD923, {});
2830
+ case "hc49":
2831
+ return /* @__PURE__ */ jsx40(HC49, {});
2748
2832
  }
2749
2833
  const colorMatch = footprint.match(/_color\(([^)]+)\)/);
2750
2834
  const color = colorMatch ? colorMatch[1] : void 0;
2751
2835
  switch (fpJson.imperial) {
2752
2836
  case "0402":
2753
- return /* @__PURE__ */ jsx39(A0402, { color });
2837
+ return /* @__PURE__ */ jsx40(A0402, { color });
2754
2838
  case "0603":
2755
- return /* @__PURE__ */ jsx39(A0603, { color });
2839
+ return /* @__PURE__ */ jsx40(A0603, { color });
2756
2840
  case "0805":
2757
- return /* @__PURE__ */ jsx39(A0805, { color });
2841
+ return /* @__PURE__ */ jsx40(A0805, { color });
2758
2842
  case "0201":
2759
- return /* @__PURE__ */ jsx39(A0201, { color });
2843
+ return /* @__PURE__ */ jsx40(A0201, { color });
2760
2844
  case "01005":
2761
- return /* @__PURE__ */ jsx39(A01005, { color });
2845
+ return /* @__PURE__ */ jsx40(A01005, { color });
2762
2846
  case "1206":
2763
- return /* @__PURE__ */ jsx39(A1206, { color });
2847
+ return /* @__PURE__ */ jsx40(A1206, { color });
2764
2848
  case "1210":
2765
- return /* @__PURE__ */ jsx39(A1210, { color });
2849
+ return /* @__PURE__ */ jsx40(A1210, { color });
2766
2850
  case "2010":
2767
- return /* @__PURE__ */ jsx39(A2010, { color });
2851
+ return /* @__PURE__ */ jsx40(A2010, { color });
2768
2852
  case "2512":
2769
- return /* @__PURE__ */ jsx39(A2512, { color });
2853
+ return /* @__PURE__ */ jsx40(A2512, { color });
2770
2854
  }
2771
2855
  return null;
2772
2856
  };
2773
2857
 
2774
2858
  // lib/SOT-23-3P.tsx
2775
- import { Fragment as Fragment35, jsx as jsx40, jsxs as jsxs37 } from "react/jsx-runtime";
2859
+ import { Fragment as Fragment36, jsx as jsx41, jsxs as jsxs38 } from "react/jsx-runtime";
2776
2860
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2777
2861
  const bodyWidth = 1.3;
2778
2862
  const bodyLength10 = 2.9;
@@ -2783,8 +2867,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2783
2867
  const padContactLength = 0.4;
2784
2868
  const padThickness = leadThickness / 2;
2785
2869
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
2786
- return /* @__PURE__ */ jsxs37(Fragment35, { children: [
2787
- /* @__PURE__ */ jsx40(
2870
+ return /* @__PURE__ */ jsxs38(Fragment36, { children: [
2871
+ /* @__PURE__ */ jsx41(
2788
2872
  SmdChipLead,
2789
2873
  {
2790
2874
  rotation: Math.PI,
@@ -2801,7 +2885,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2801
2885
  },
2802
2886
  1
2803
2887
  ),
2804
- /* @__PURE__ */ jsx40(
2888
+ /* @__PURE__ */ jsx41(
2805
2889
  SmdChipLead,
2806
2890
  {
2807
2891
  rotation: Math.PI,
@@ -2818,7 +2902,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2818
2902
  },
2819
2903
  2
2820
2904
  ),
2821
- /* @__PURE__ */ jsx40(
2905
+ /* @__PURE__ */ jsx41(
2822
2906
  SmdChipLead,
2823
2907
  {
2824
2908
  position: {
@@ -2834,7 +2918,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2834
2918
  },
2835
2919
  3
2836
2920
  ),
2837
- /* @__PURE__ */ jsx40(
2921
+ /* @__PURE__ */ jsx41(
2838
2922
  ChipBody,
2839
2923
  {
2840
2924
  center: { x: 0, y: 0, z: 0 },
@@ -2847,8 +2931,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2847
2931
  };
2848
2932
 
2849
2933
  // lib/SOT-563.tsx
2850
- import { Cuboid as Cuboid27, Translate as Translate17, Rotate as Rotate6, Colorize as Colorize18 } from "jscad-fiber";
2851
- import { Fragment as Fragment36, jsx as jsx41, jsxs as jsxs38 } from "react/jsx-runtime";
2934
+ 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";
2852
2936
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2853
2937
  const bodyWidth = 1.2;
2854
2938
  const bodyLength10 = 1.6;
@@ -2858,11 +2942,11 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2858
2942
  const leadHeight = 0.13;
2859
2943
  const leadSpacing = 0.5;
2860
2944
  const bodyZOffset = -0.4;
2861
- return /* @__PURE__ */ jsxs38(Fragment36, { children: [
2862
- /* @__PURE__ */ jsx41(Rotate6, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx41(Translate17, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx41(Colorize18, { color: "grey", children: /* @__PURE__ */ jsx41(Cuboid27, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
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] }) }) }) }),
2863
2947
  [-1, 0, 1].flatMap((yOffset, index) => [
2864
2948
  // Left lead
2865
- /* @__PURE__ */ jsx41(
2949
+ /* @__PURE__ */ jsx42(
2866
2950
  Translate17,
2867
2951
  {
2868
2952
  center: [
@@ -2870,16 +2954,16 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2870
2954
  yOffset * leadSpacing,
2871
2955
  leadHeight / 2
2872
2956
  ],
2873
- children: /* @__PURE__ */ jsx41(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
2957
+ children: /* @__PURE__ */ jsx42(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
2874
2958
  },
2875
2959
  `left-${index}`
2876
2960
  ),
2877
2961
  // Right lead
2878
- /* @__PURE__ */ jsx41(
2962
+ /* @__PURE__ */ jsx42(
2879
2963
  Translate17,
2880
2964
  {
2881
2965
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
2882
- children: /* @__PURE__ */ jsx41(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
2966
+ children: /* @__PURE__ */ jsx42(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
2883
2967
  },
2884
2968
  `right-${index}`
2885
2969
  )
@@ -2888,8 +2972,8 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2888
2972
  };
2889
2973
 
2890
2974
  // lib/SOT-723.tsx
2891
- import { Cuboid as Cuboid28, Translate as Translate18, Rotate as Rotate7, Colorize as Colorize19 } from "jscad-fiber";
2892
- import { Fragment as Fragment37, jsx as jsx42, jsxs as jsxs39 } from "react/jsx-runtime";
2975
+ 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";
2893
2977
  var getCcwSot723Coords = (pn) => {
2894
2978
  if (pn === 1) {
2895
2979
  return { x: 0, y: 0 };
@@ -2907,11 +2991,11 @@ var SOT723 = () => {
2907
2991
  const leadLength = 0.3;
2908
2992
  const leadHeight = 0.1;
2909
2993
  const centerLeadWidth = 0.42;
2910
- return /* @__PURE__ */ jsxs39(Fragment37, { children: [
2911
- /* @__PURE__ */ jsx42(Rotate7, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx42(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx42(Colorize19, { color: "grey", children: /* @__PURE__ */ jsx42(Cuboid28, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
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] }) }) }) }),
2912
2996
  [1, 2, 3].map((pn) => {
2913
2997
  const { x, y } = getCcwSot723Coords(pn);
2914
- return /* @__PURE__ */ jsx42(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx42(
2998
+ return /* @__PURE__ */ jsx43(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx43(
2915
2999
  Cuboid28,
2916
3000
  {
2917
3001
  size: [
@@ -2926,7 +3010,7 @@ var SOT723 = () => {
2926
3010
  };
2927
3011
 
2928
3012
  // lib/sod-123.tsx
2929
- import { Fragment as Fragment38, jsx as jsx43, jsxs as jsxs40 } from "react/jsx-runtime";
3013
+ import { Fragment as Fragment39, jsx as jsx44, jsxs as jsxs41 } from "react/jsx-runtime";
2930
3014
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
2931
3015
  const bodyWidth = 2.9;
2932
3016
  const bodyLength10 = 1.3;
@@ -2937,8 +3021,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
2937
3021
  const padContactLength = 0.4;
2938
3022
  const padThickness = leadThickness / 2;
2939
3023
  const bodyDistance = (fullWidth - bodyWidth) / 2;
2940
- return /* @__PURE__ */ jsxs40(Fragment38, { children: [
2941
- /* @__PURE__ */ jsx43(
3024
+ return /* @__PURE__ */ jsxs41(Fragment39, { children: [
3025
+ /* @__PURE__ */ jsx44(
2942
3026
  SmdChipLead,
2943
3027
  {
2944
3028
  position: {
@@ -2954,7 +3038,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
2954
3038
  },
2955
3039
  1
2956
3040
  ),
2957
- /* @__PURE__ */ jsx43(
3041
+ /* @__PURE__ */ jsx44(
2958
3042
  SmdChipLead,
2959
3043
  {
2960
3044
  rotation: Math.PI,
@@ -2971,7 +3055,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
2971
3055
  },
2972
3056
  2
2973
3057
  ),
2974
- /* @__PURE__ */ jsx43(
3058
+ /* @__PURE__ */ jsx44(
2975
3059
  ChipBody,
2976
3060
  {
2977
3061
  center: { x: 0, y: 0, z: 0 },
@@ -2999,6 +3083,7 @@ export {
2999
3083
  FootprintPad,
3000
3084
  FootprintPlatedHole,
3001
3085
  Footprinter3d,
3086
+ HC49,
3002
3087
  LQFP,
3003
3088
  PinRow,
3004
3089
  QFN,