jscad-electronics 0.0.167 → 0.0.168

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
@@ -373,6 +373,37 @@ declare const SOD323F: () => react_jsx_runtime.JSX.Element;
373
373
 
374
374
  declare const SOD323FL: () => react_jsx_runtime.JSX.Element;
375
375
 
376
+ /** Physical outline dimensions in mm, independent of a PCB land pattern. */
377
+ interface FlatLeadDiodeDimensions {
378
+ bodyLength: number;
379
+ bodyWidth: number;
380
+ /** Overall height from the seating plane, including standoff. */
381
+ bodyHeight: number;
382
+ /** Outer tip-to-tip span of the two terminals. */
383
+ leadSpan: number;
384
+ cathodeLength: number;
385
+ cathodeWidth: number;
386
+ anodeLength: number;
387
+ anodeWidth: number;
388
+ terminalThickness: number;
389
+ standoff: number;
390
+ /** Inset of each top edge relative to the mold base. */
391
+ taperInset: number;
392
+ /** Top cathode band width; zero omits the band. */
393
+ markingWidth: number;
394
+ }
395
+
396
+ /** SOD-323HE flat-lead outline with symmetric contacts by default.
397
+ * Dimensional reference: https://www.es.co.th/Schemetic/PDF/RFU02VSM6S.PDF
398
+ * Defaults use nominal 2.0 x 1.4 mm mold, 2.5 mm lead span and 0.6 mm height.
399
+ * Buried terminal length, taper and marking dimensions are visual approximations.
400
+ * https://www.rohm.de/products/diodes/fast-recovery-diodes/standard/rfu02vsm6s-product
401
+ * Dimension overrides represent variants of this standard outline. They are
402
+ * geometry parameters, not new Footprinter tokens or manufacturer selectors.
403
+ */
404
+ type SOD323HEProps = Partial<FlatLeadDiodeDimensions>;
405
+ declare const SOD323HE: (props: SOD323HEProps) => react_jsx_runtime.JSX.Element;
406
+
376
407
  declare const SOD923: () => react_jsx_runtime.JSX.Element;
377
408
 
378
409
  interface SOT223Props {
@@ -1079,4 +1110,4 @@ declare const MelfResistor: ({ size, footprint, }: {
1079
1110
  footprint?: string;
1080
1111
  }) => react_jsx_runtime.JSX.Element;
1081
1112
 
1082
- export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, AxialCapacitor, BGA, CeramicChipAntenna, ChipBody, type ChipBodyProps, Crystal, type CrystalProps, DFN, DPAK, type DPAKProps, Display, ElectrolyticCapacitor, type ElectrolyticCapacitorProps, ExtrudedPads, FPC, type FPCProps, FemaleHeader, FemaleHeaderRow, FlexScreen, type FlexScreenAspectRatio, type FlexScreenOrientation, type FlexScreenProps, FootprintPad, FootprintPlatedHole, Footprinter3d, GullWingBody, type GullWingBodyProps, HC49, type HC49Props, JSTPH2_0mm, JSTXH2_5mm, type JSTXH2_5mmProps, JSTZH1_5mm, JstSh, LQFP, Led2835, type Led2835Props, Led5050, type Led5050Props, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MS013, MSOP, MelfResistor, type MelfResistorSize, MicroMELF, type MicroMELFProps, MountedPcbModule, PinHeader, PinRow, Potentiometer, type PotentiometerLead, type PotentiometerProps, QFN, QFP, RJ45, type RJ45Props, type ResolvedFlexScreenSize, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, type SOD123Props, SOD123W, type SOD123WProps, SOD128, SOD323, SOD323F, SOD323FL, SOD523, SOD723, SOD882, SOD923, SOT143, SOT223, type SOT223Props, SOT233P, SOT23W, SOT323, SOT363, SOT457, SOT563, SOT723, SOT886, SOT963, Screen, type ScreenProps, SmdChipLead, type SmdChipLeadProps, type SmdLeadPad, SmdPinHeader, type SmdPinHeaderProps, SmdPushButton, type SmdPushButtonProps, SmdSlideSwitch, StampBoard, TO220, type TO220Lead, type TO220Props, TO92, type TO92Lead, type TO92Props, TQFP, TantalumCapacitor, type TantalumCase, Tssop, TwoPadCrystal, type TwoPadCrystalPackage, UsbCMidmount, VSSOP, isJstShFootprint, melfResistorSizes, resolveFlexScreenSize, tantalumCases, twoPadCrystalPackages };
1113
+ export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, AxialCapacitor, BGA, CeramicChipAntenna, ChipBody, type ChipBodyProps, Crystal, type CrystalProps, DFN, DPAK, type DPAKProps, Display, ElectrolyticCapacitor, type ElectrolyticCapacitorProps, ExtrudedPads, FPC, type FPCProps, FemaleHeader, FemaleHeaderRow, FlexScreen, type FlexScreenAspectRatio, type FlexScreenOrientation, type FlexScreenProps, FootprintPad, FootprintPlatedHole, Footprinter3d, GullWingBody, type GullWingBodyProps, HC49, type HC49Props, JSTPH2_0mm, JSTXH2_5mm, type JSTXH2_5mmProps, JSTZH1_5mm, JstSh, LQFP, Led2835, type Led2835Props, Led5050, type Led5050Props, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MS013, MSOP, MelfResistor, type MelfResistorSize, MicroMELF, type MicroMELFProps, MountedPcbModule, PinHeader, PinRow, Potentiometer, type PotentiometerLead, type PotentiometerProps, QFN, QFP, RJ45, type RJ45Props, type ResolvedFlexScreenSize, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, type SOD123Props, SOD123W, type SOD123WProps, SOD128, SOD323, SOD323F, SOD323FL, SOD323HE, type SOD323HEProps, SOD523, SOD723, SOD882, SOD923, SOT143, SOT223, type SOT223Props, SOT233P, SOT23W, SOT323, SOT363, SOT457, SOT563, SOT723, SOT886, SOT963, Screen, type ScreenProps, SmdChipLead, type SmdChipLeadProps, type SmdLeadPad, SmdPinHeader, type SmdPinHeaderProps, SmdPushButton, type SmdPushButtonProps, SmdSlideSwitch, StampBoard, TO220, type TO220Lead, type TO220Props, TO92, type TO92Lead, type TO92Props, TQFP, TantalumCapacitor, type TantalumCase, Tssop, TwoPadCrystal, type TwoPadCrystalPackage, UsbCMidmount, VSSOP, isJstShFootprint, melfResistorSizes, resolveFlexScreenSize, tantalumCases, twoPadCrystalPackages };
package/dist/index.js CHANGED
@@ -8485,10 +8485,121 @@ var Footprinter3d = ({ footprint }) => {
8485
8485
  return null;
8486
8486
  };
8487
8487
 
8488
+ // lib/utils/FlatLeadDiode.tsx
8489
+ import { Colorize as Colorize55, Cuboid as Cuboid63, Hull as Hull28, Subtract as Subtract21 } from "jscad-fiber";
8490
+ import { Fragment as Fragment83, jsx as jsx91, jsxs as jsxs86 } from "react/jsx-runtime";
8491
+ function createFlatLeadDiode(p) {
8492
+ const dimensions = [
8493
+ "bodyLength",
8494
+ "bodyWidth",
8495
+ "bodyHeight",
8496
+ "leadSpan",
8497
+ "cathodeLength",
8498
+ "cathodeWidth",
8499
+ "anodeLength",
8500
+ "anodeWidth",
8501
+ "terminalThickness",
8502
+ "standoff",
8503
+ "taperInset",
8504
+ "markingWidth"
8505
+ ];
8506
+ for (const name of dimensions) {
8507
+ const value = p[name];
8508
+ const allowZero = ["standoff", "taperInset", "markingWidth"].includes(name);
8509
+ if (!Number.isFinite(value) || (allowZero ? value < 0 : value <= 0))
8510
+ throw new Error(`Invalid diode dimension: ${name}`);
8511
+ }
8512
+ const overhang = (p.leadSpan - p.bodyLength) / 2;
8513
+ if (overhang < 0 || p.cathodeLength <= overhang || p.anodeLength <= overhang || p.cathodeLength + p.anodeLength >= p.leadSpan || p.cathodeWidth > p.bodyWidth || p.anodeWidth > p.bodyWidth || p.standoff >= p.terminalThickness || p.terminalThickness >= p.bodyHeight || p.taperInset * 2 >= Math.min(p.bodyLength, p.bodyWidth) || p.markingWidth * 2 >= p.bodyLength - p.taperInset * 2)
8514
+ throw new Error(
8515
+ "Diode dimensions leave disconnected terminals or an invalid mold"
8516
+ );
8517
+ const slice = Math.min(p.bodyHeight - p.standoff, p.bodyWidth) / 100;
8518
+ const body = /* @__PURE__ */ jsxs86(Hull28, { children: [
8519
+ /* @__PURE__ */ jsx91(
8520
+ Cuboid63,
8521
+ {
8522
+ size: [p.bodyLength, p.bodyWidth, slice],
8523
+ center: [0, 0, p.standoff + slice / 2]
8524
+ }
8525
+ ),
8526
+ /* @__PURE__ */ jsx91(
8527
+ Cuboid63,
8528
+ {
8529
+ size: [
8530
+ p.bodyLength - p.taperInset * 2,
8531
+ p.bodyWidth - p.taperInset * 2,
8532
+ slice
8533
+ ],
8534
+ center: [0, 0, p.bodyHeight - slice / 2]
8535
+ }
8536
+ )
8537
+ ] });
8538
+ const stripe = /* @__PURE__ */ jsx91(
8539
+ Cuboid63,
8540
+ {
8541
+ size: [p.markingWidth, (p.bodyWidth - p.taperInset * 2) * 0.9, slice],
8542
+ center: [
8543
+ -p.bodyLength / 2 + p.taperInset + p.markingWidth,
8544
+ 0,
8545
+ p.bodyHeight - slice / 2
8546
+ ]
8547
+ }
8548
+ );
8549
+ return /* @__PURE__ */ jsxs86(Fragment83, { children: [
8550
+ /* @__PURE__ */ jsx91(Colorize55, { color: "#25272a", children: p.markingWidth > 0 ? /* @__PURE__ */ jsxs86(Subtract21, { children: [
8551
+ body,
8552
+ stripe
8553
+ ] }) : body }),
8554
+ /* @__PURE__ */ jsxs86(Colorize55, { color: "#c7c9cd", children: [
8555
+ /* @__PURE__ */ jsx91(
8556
+ Cuboid63,
8557
+ {
8558
+ size: [p.cathodeLength, p.cathodeWidth, p.terminalThickness],
8559
+ center: [
8560
+ -p.leadSpan / 2 + p.cathodeLength / 2,
8561
+ 0,
8562
+ p.terminalThickness / 2
8563
+ ]
8564
+ }
8565
+ ),
8566
+ /* @__PURE__ */ jsx91(
8567
+ Cuboid63,
8568
+ {
8569
+ size: [p.anodeLength, p.anodeWidth, p.terminalThickness],
8570
+ center: [
8571
+ p.leadSpan / 2 - p.anodeLength / 2,
8572
+ 0,
8573
+ p.terminalThickness / 2
8574
+ ]
8575
+ }
8576
+ )
8577
+ ] }),
8578
+ p.markingWidth > 0 && /* @__PURE__ */ jsx91(Colorize55, { color: "#aaaaa8", children: stripe })
8579
+ ] });
8580
+ }
8581
+
8582
+ // lib/SOD323HE.tsx
8583
+ var SOD323HE = (props) => createFlatLeadDiode({
8584
+ bodyLength: 2,
8585
+ bodyWidth: 1.4,
8586
+ bodyHeight: 0.6,
8587
+ leadSpan: 2.5,
8588
+ cathodeLength: 0.55,
8589
+ cathodeWidth: 0.8,
8590
+ anodeLength: 0.55,
8591
+ anodeWidth: 0.8,
8592
+ terminalThickness: 0.17,
8593
+ standoff: 0.05,
8594
+ taperInset: 0.15,
8595
+ markingWidth: 0.2,
8596
+ ...props
8597
+ });
8598
+
8488
8599
  // lib/TantalumCapacitor.tsx
8489
8600
  import { fp as fp11 } from "@tscircuit/footprinter";
8490
- import { Colorize as Colorize55, Cuboid as Cuboid63, Hull as Hull28, Rotate as Rotate25, Translate as Translate42, Union as Union22 } from "jscad-fiber";
8491
- import { jsx as jsx91, jsxs as jsxs86 } from "react/jsx-runtime";
8601
+ import { Colorize as Colorize56, Cuboid as Cuboid64, Hull as Hull29, Rotate as Rotate25, Translate as Translate42, Union as Union22 } from "jscad-fiber";
8602
+ import { jsx as jsx92, jsxs as jsxs87 } from "react/jsx-runtime";
8492
8603
  var tantalumCases = {
8493
8604
  A: [3.2, 1.6, 1.6, 1.2, 0.8],
8494
8605
  B: [3.5, 2.8, 1.9, 2.2, 0.8],
@@ -8508,35 +8619,35 @@ var TantalumCapacitor = ({
8508
8619
  if (pads.length !== 2) throw new Error("TantalumCapacitor requires two pads");
8509
8620
  const [a, b] = pads;
8510
8621
  const angle = Math.atan2(b.y - a.y, b.x - a.x);
8511
- return /* @__PURE__ */ jsx91(Translate42, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs86(Rotate25, { rotation: [0, 0, angle], children: [
8512
- /* @__PURE__ */ jsx91(Colorize55, { color: "#d5a64e", children: /* @__PURE__ */ jsxs86(Hull28, { children: [
8513
- /* @__PURE__ */ jsx91(Cuboid63, { size: [length - 0.1, width10, 0.02], center: [0, 0, 0.21] }),
8514
- /* @__PURE__ */ jsx91(
8515
- Cuboid63,
8622
+ return /* @__PURE__ */ jsx92(Translate42, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs87(Rotate25, { rotation: [0, 0, angle], children: [
8623
+ /* @__PURE__ */ jsx92(Colorize56, { color: "#d5a64e", children: /* @__PURE__ */ jsxs87(Hull29, { children: [
8624
+ /* @__PURE__ */ jsx92(Cuboid64, { size: [length - 0.1, width10, 0.02], center: [0, 0, 0.21] }),
8625
+ /* @__PURE__ */ jsx92(
8626
+ Cuboid64,
8516
8627
  {
8517
8628
  size: [length - 0.25, width10 - 0.15, 0.02],
8518
8629
  center: [0, 0, height10 - 0.01]
8519
8630
  }
8520
8631
  )
8521
8632
  ] }) }),
8522
- /* @__PURE__ */ jsx91(Colorize55, { color: "#c5c8cb", children: [-1, 1].map((side) => /* @__PURE__ */ jsxs86(Union22, { children: [
8523
- /* @__PURE__ */ jsx91(
8524
- Cuboid63,
8633
+ /* @__PURE__ */ jsx92(Colorize56, { color: "#c5c8cb", children: [-1, 1].map((side) => /* @__PURE__ */ jsxs87(Union22, { children: [
8634
+ /* @__PURE__ */ jsx92(
8635
+ Cuboid64,
8525
8636
  {
8526
8637
  size: [leadLength, leadWidth, 0.25],
8527
8638
  center: [side * (length - leadLength) / 2, 0, 0.125]
8528
8639
  }
8529
8640
  ),
8530
- /* @__PURE__ */ jsx91(
8531
- Cuboid63,
8641
+ /* @__PURE__ */ jsx92(
8642
+ Cuboid64,
8532
8643
  {
8533
8644
  size: [0.15, leadWidth, height10 * 0.45],
8534
8645
  center: [side * (length - 0.15) / 2, 0, height10 * 0.225]
8535
8646
  }
8536
8647
  )
8537
8648
  ] }, side)) }),
8538
- /* @__PURE__ */ jsx91(
8539
- Cuboid63,
8649
+ /* @__PURE__ */ jsx92(
8650
+ Cuboid64,
8540
8651
  {
8541
8652
  size: [0.25, width10 - 0.25, 0.01],
8542
8653
  center: [-length / 2 + 0.5, 0, height10],
@@ -8548,8 +8659,8 @@ var TantalumCapacitor = ({
8548
8659
 
8549
8660
  // lib/TwoPadCrystal.tsx
8550
8661
  import { fp as fp12 } from "@tscircuit/footprinter";
8551
- import { Colorize as Colorize56, Cuboid as Cuboid64, RoundedCuboid as RoundedCuboid6, Rotate as Rotate26, Translate as Translate43 } from "jscad-fiber";
8552
- import { jsx as jsx92, jsxs as jsxs87 } from "react/jsx-runtime";
8662
+ import { Colorize as Colorize57, Cuboid as Cuboid65, RoundedCuboid as RoundedCuboid6, Rotate as Rotate26, Translate as Translate43 } from "jscad-fiber";
8663
+ import { jsx as jsx93, jsxs as jsxs88 } from "react/jsx-runtime";
8553
8664
  var twoPadCrystalPackages = {
8554
8665
  FC135: [3.2, 1.5, 0.9, 0.7],
8555
8666
  FC12M: [2.05, 1.2, 0.6, 0.5],
@@ -8569,9 +8680,9 @@ var TwoPadCrystal = ({
8569
8680
  if (pads.length !== 2) throw new Error("TwoPadCrystal requires two pads");
8570
8681
  const [a, b] = pads;
8571
8682
  const angle = Math.atan2(b.y - a.y, b.x - a.x);
8572
- return /* @__PURE__ */ jsx92(Translate43, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs87(Rotate26, { rotation: [0, 0, angle], children: [
8573
- /* @__PURE__ */ jsx92(Colorize56, { color: "#e0dcca", children: /* @__PURE__ */ jsx92(Cuboid64, { size: [length, width10, 0.2], center: [0, 0, 0.13] }) }),
8574
- /* @__PURE__ */ jsx92(Colorize56, { color: "#acb1b8", children: /* @__PURE__ */ jsx92(
8683
+ return /* @__PURE__ */ jsx93(Translate43, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs88(Rotate26, { rotation: [0, 0, angle], children: [
8684
+ /* @__PURE__ */ jsx93(Colorize57, { color: "#e0dcca", children: /* @__PURE__ */ jsx93(Cuboid65, { size: [length, width10, 0.2], center: [0, 0, 0.13] }) }),
8685
+ /* @__PURE__ */ jsx93(Colorize57, { color: "#acb1b8", children: /* @__PURE__ */ jsx93(
8575
8686
  RoundedCuboid6,
8576
8687
  {
8577
8688
  size: [length - 0.04, width10 - 0.04, height10 - 0.18],
@@ -8579,8 +8690,8 @@ var TwoPadCrystal = ({
8579
8690
  center: [0, 0, (height10 + 0.18) / 2]
8580
8691
  }
8581
8692
  ) }),
8582
- /* @__PURE__ */ jsx92(Colorize56, { color: "#c6af65", children: [-1, 1].map((side) => /* @__PURE__ */ jsx92(
8583
- Cuboid64,
8693
+ /* @__PURE__ */ jsx93(Colorize57, { color: "#c6af65", children: [-1, 1].map((side) => /* @__PURE__ */ jsx93(
8694
+ Cuboid65,
8584
8695
  {
8585
8696
  size: [terminalLength, width10 - 0.12, 0.06],
8586
8697
  center: [side * (length - terminalLength) / 2, 0, 0.03]
@@ -8592,8 +8703,8 @@ var TwoPadCrystal = ({
8592
8703
 
8593
8704
  // lib/CeramicChipAntenna.tsx
8594
8705
  import { fp as fp13 } from "@tscircuit/footprinter";
8595
- import { Colorize as Colorize57, Cuboid as Cuboid65, Rotate as Rotate27, Translate as Translate44 } from "jscad-fiber";
8596
- import { jsx as jsx93, jsxs as jsxs88 } from "react/jsx-runtime";
8706
+ import { Colorize as Colorize58, Cuboid as Cuboid66, Rotate as Rotate27, Translate as Translate44 } from "jscad-fiber";
8707
+ import { jsx as jsx94, jsxs as jsxs89 } from "react/jsx-runtime";
8597
8708
  var CeramicChipAntenna = ({
8598
8709
  footprint = "smdpads2_p5.4mm_pw1mm_ph2mm"
8599
8710
  }) => {
@@ -8603,17 +8714,17 @@ var CeramicChipAntenna = ({
8603
8714
  if (pads.length !== 2) throw new Error("CeramicChipAntenna requires two pads");
8604
8715
  const [a, b] = pads;
8605
8716
  const angle = Math.atan2(b.y - a.y, b.x - a.x);
8606
- return /* @__PURE__ */ jsx93(Translate44, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs88(Rotate27, { rotation: [0, 0, angle], children: [
8607
- /* @__PURE__ */ jsx93(
8608
- Cuboid65,
8717
+ return /* @__PURE__ */ jsx94(Translate44, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs89(Rotate27, { rotation: [0, 0, angle], children: [
8718
+ /* @__PURE__ */ jsx94(
8719
+ Cuboid66,
8609
8720
  {
8610
8721
  size: [4.44, 1.99, 1.14],
8611
8722
  center: [0, 0, 0.575],
8612
8723
  color: "#4053a3"
8613
8724
  }
8614
8725
  ),
8615
- /* @__PURE__ */ jsx93(Colorize57, { color: "#c2c4c7", children: [-1, 1].map((side) => /* @__PURE__ */ jsx93(
8616
- Cuboid65,
8726
+ /* @__PURE__ */ jsx94(Colorize58, { color: "#c2c4c7", children: [-1, 1].map((side) => /* @__PURE__ */ jsx94(
8727
+ Cuboid66,
8617
8728
  {
8618
8729
  size: [0.4, 2, 1.15],
8619
8730
  center: [side * 2.4, 0, 0.575],
@@ -8621,8 +8732,8 @@ var CeramicChipAntenna = ({
8621
8732
  },
8622
8733
  side
8623
8734
  )) }),
8624
- /* @__PURE__ */ jsx93(
8625
- Cuboid65,
8735
+ /* @__PURE__ */ jsx94(
8736
+ Cuboid66,
8626
8737
  {
8627
8738
  size: [0.9, 2, 0.01],
8628
8739
  center: [-1.75, 0, 1.145],
@@ -8634,8 +8745,8 @@ var CeramicChipAntenna = ({
8634
8745
 
8635
8746
  // lib/MelfResistor.tsx
8636
8747
  import { fp as fp14 } from "@tscircuit/footprinter";
8637
- import { Colorize as Colorize58, Cylinder as Cylinder23, Rotate as Rotate28, Translate as Translate45 } from "jscad-fiber";
8638
- import { jsx as jsx94, jsxs as jsxs89 } from "react/jsx-runtime";
8748
+ import { Colorize as Colorize59, Cylinder as Cylinder23, Rotate as Rotate28, Translate as Translate45 } from "jscad-fiber";
8749
+ import { jsx as jsx95, jsxs as jsxs90 } from "react/jsx-runtime";
8639
8750
  var melfResistorSizes = {
8640
8751
  "0102": [2.2, 1.1, 0.4],
8641
8752
  "0204": [3.6, 1.4, 0.75],
@@ -8654,15 +8765,15 @@ var MelfResistor = ({
8654
8765
  if (pads.length !== 2) throw new Error("MelfResistor requires two pads");
8655
8766
  const [a, b] = pads;
8656
8767
  const angle = Math.atan2(b.y - a.y, b.x - a.x);
8657
- return /* @__PURE__ */ jsx94(Translate45, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, diameter / 2], children: /* @__PURE__ */ jsx94(Rotate28, { rotation: [0, 0, angle], children: /* @__PURE__ */ jsxs89(Rotate28, { rotation: [0, Math.PI / 2, 0], children: [
8658
- /* @__PURE__ */ jsx94(Colorize58, { color: "#426d63", children: /* @__PURE__ */ jsx94(
8768
+ return /* @__PURE__ */ jsx95(Translate45, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, diameter / 2], children: /* @__PURE__ */ jsx95(Rotate28, { rotation: [0, 0, angle], children: /* @__PURE__ */ jsxs90(Rotate28, { rotation: [0, Math.PI / 2, 0], children: [
8769
+ /* @__PURE__ */ jsx95(Colorize59, { color: "#426d63", children: /* @__PURE__ */ jsx95(
8659
8770
  Cylinder23,
8660
8771
  {
8661
8772
  radius: (diameter - 0.08) / 2,
8662
8773
  height: length - 2 * capLength + 0.04
8663
8774
  }
8664
8775
  ) }),
8665
- /* @__PURE__ */ jsx94(Colorize58, { color: "#c6c8cb", children: [-1, 1].map((side) => /* @__PURE__ */ jsx94(
8776
+ /* @__PURE__ */ jsx95(Colorize59, { color: "#c6c8cb", children: [-1, 1].map((side) => /* @__PURE__ */ jsx95(
8666
8777
  Cylinder23,
8667
8778
  {
8668
8779
  radius: diameter / 2,
@@ -8735,6 +8846,7 @@ export {
8735
8846
  SOD323,
8736
8847
  SOD323F,
8737
8848
  SOD323FL,
8849
+ SOD323HE,
8738
8850
  SOD523,
8739
8851
  SOD723,
8740
8852
  SOD882,