jscad-electronics 0.0.140 → 0.0.141

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
@@ -153,6 +153,18 @@ interface SmdChipLeadProps {
153
153
  */
154
154
  declare const SmdChipLead: (props: SmdChipLeadProps) => react_jsx_runtime.JSX.Element;
155
155
 
156
+ interface SmdPinHeaderProps {
157
+ numberOfPins: number;
158
+ pitch?: number;
159
+ pinThickness?: number;
160
+ bodyWidth?: number;
161
+ bodyHeight?: number;
162
+ standoffHeight?: number;
163
+ matingPinLength?: number;
164
+ tailSpan?: number;
165
+ }
166
+ declare const SmdPinHeader: ({ numberOfPins, pitch, pinThickness, bodyWidth, bodyHeight, standoffHeight, matingPinLength, tailSpan, }: SmdPinHeaderProps) => react_jsx_runtime.JSX.Element;
167
+
156
168
  declare const Tssop: ({ pinCount, leadLength, leadWidth, pitch, bodyWidth, }: {
157
169
  pinCount: number;
158
170
  pitch: number;
@@ -460,4 +472,4 @@ interface FPCProps {
460
472
  }
461
473
  declare const FPC: ({ pinCount, pitch, padWidth, padLength, staggered, reverse, rowPitch, topPadLength, bottomPadLength, mountPadPitchX, mountPadOffsetY, mountTop, mountPadWidth, mountPadLength, }: FPCProps) => react_jsx_runtime.JSX.Element;
462
474
 
463
- export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, AxialCapacitor, BGA, ChipBody, type ChipBodyProps, DFN, Display, ExtrudedPads, FPC, type FPCProps, FemaleHeader, FemaleHeaderRow, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, JSTZH1_5mm, LQFP, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MS013, MSOP, MicroMELF, type MicroMELFProps, MountedPcbModule, PinHeader, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD123W, SOD128, SOD323, SOD323F, SOD323FL, SOD523, SOD723, SOD882, SOD923, SOT223, SOT233P, SOT23W, SOT323, SOT363, SOT457, SOT563, SOT723, SOT886, SOT963, Screen, type ScreenProps, SmdChipLead, type SmdChipLeadProps, StampBoard, TO220, TO92, TQFP, Tssop, VSSOP };
475
+ export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, AxialCapacitor, BGA, ChipBody, type ChipBodyProps, DFN, Display, ExtrudedPads, FPC, type FPCProps, FemaleHeader, FemaleHeaderRow, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, JSTZH1_5mm, LQFP, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MS013, MSOP, MicroMELF, type MicroMELFProps, MountedPcbModule, PinHeader, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD123W, SOD128, SOD323, SOD323F, SOD323FL, SOD523, SOD723, SOD882, SOD923, SOT223, SOT233P, SOT23W, SOT323, SOT363, SOT457, SOT563, SOT723, SOT886, SOT963, Screen, type ScreenProps, SmdChipLead, type SmdChipLeadProps, SmdPinHeader, type SmdPinHeaderProps, StampBoard, TO220, TO92, TQFP, Tssop, VSSOP };
package/dist/index.js CHANGED
@@ -5238,8 +5238,82 @@ var FPC = ({
5238
5238
  ] });
5239
5239
  };
5240
5240
 
5241
+ // lib/SmdPinHeader.tsx
5242
+ import { Colorize as Colorize38, Cuboid as Cuboid46, Hull as Hull24, Translate as Translate32 } from "jscad-fiber";
5243
+ import { Fragment as Fragment63, jsx as jsx69, jsxs as jsxs65 } from "react/jsx-runtime";
5244
+ var SmdPinHeader = ({
5245
+ numberOfPins,
5246
+ pitch = 2.54,
5247
+ pinThickness = 0.64,
5248
+ bodyWidth = 2.5,
5249
+ bodyHeight = 2.54,
5250
+ standoffHeight = 1.27,
5251
+ matingPinLength = 5.8,
5252
+ tailSpan = 5.08
5253
+ }) => {
5254
+ const xStart = -((numberOfPins - 1) * pitch) / 2;
5255
+ const bodyTop = standoffHeight + bodyHeight;
5256
+ const tailLength = tailSpan / 2;
5257
+ const tipChamferHeight = pinThickness * 0.35;
5258
+ return /* @__PURE__ */ jsx69(Fragment63, { children: Array.from({ length: numberOfPins }, (_, index) => {
5259
+ const x = xStart + index * pitch;
5260
+ const tailDirection = index % 2 === 0 ? 1 : -1;
5261
+ const postBodyLength = matingPinLength - tipChamferHeight;
5262
+ const verticalTailLength = standoffHeight - pinThickness / 2;
5263
+ return /* @__PURE__ */ jsxs65(Translate32, { x, children: [
5264
+ /* @__PURE__ */ jsx69(
5265
+ Cuboid46,
5266
+ {
5267
+ color: "#222",
5268
+ size: [pitch, bodyWidth, bodyHeight],
5269
+ center: [0, 0, standoffHeight + bodyHeight / 2]
5270
+ }
5271
+ ),
5272
+ /* @__PURE__ */ jsxs65(Colorize38, { color: "#d4af37", children: [
5273
+ /* @__PURE__ */ jsx69(
5274
+ Cuboid46,
5275
+ {
5276
+ size: [pinThickness, tailLength, pinThickness],
5277
+ center: [0, tailDirection * (tailLength / 2), pinThickness / 2]
5278
+ }
5279
+ ),
5280
+ /* @__PURE__ */ jsx69(
5281
+ Cuboid46,
5282
+ {
5283
+ size: [pinThickness, pinThickness, verticalTailLength],
5284
+ center: [0, 0, pinThickness / 2 + verticalTailLength / 2]
5285
+ }
5286
+ ),
5287
+ /* @__PURE__ */ jsx69(
5288
+ Cuboid46,
5289
+ {
5290
+ size: [pinThickness, pinThickness, postBodyLength],
5291
+ center: [0, 0, bodyTop + postBodyLength / 2]
5292
+ }
5293
+ ),
5294
+ /* @__PURE__ */ jsxs65(Hull24, { children: [
5295
+ /* @__PURE__ */ jsx69(
5296
+ Cuboid46,
5297
+ {
5298
+ size: [pinThickness, pinThickness, 0.01],
5299
+ center: [0, 0, bodyTop + postBodyLength]
5300
+ }
5301
+ ),
5302
+ /* @__PURE__ */ jsx69(
5303
+ Cuboid46,
5304
+ {
5305
+ size: [pinThickness * 0.65, pinThickness * 0.65, 0.01],
5306
+ center: [0, 0, bodyTop + matingPinLength]
5307
+ }
5308
+ )
5309
+ ] })
5310
+ ] })
5311
+ ] }, index);
5312
+ }) });
5313
+ };
5314
+
5241
5315
  // lib/Footprinter3d.tsx
5242
- import { jsx as jsx69 } from "react/jsx-runtime";
5316
+ import { jsx as jsx70 } from "react/jsx-runtime";
5243
5317
  var Footprinter3d = ({ footprint }) => {
5244
5318
  let normalizedFootprint = footprint;
5245
5319
  if (footprint.startsWith("jstzh1_5mm")) {
@@ -5250,11 +5324,11 @@ var Footprinter3d = ({ footprint }) => {
5250
5324
  const fpJson = fp3.string(normalizedFootprint).json();
5251
5325
  switch (fpJson.fn) {
5252
5326
  case "dip":
5253
- return /* @__PURE__ */ jsx69(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
5327
+ return /* @__PURE__ */ jsx70(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
5254
5328
  case "axial":
5255
- return /* @__PURE__ */ jsx69(AxialCapacitor, { pitch: fpJson.p });
5329
+ return /* @__PURE__ */ jsx70(AxialCapacitor, { pitch: fpJson.p });
5256
5330
  case "tssop":
5257
- return /* @__PURE__ */ jsx69(
5331
+ return /* @__PURE__ */ jsx70(
5258
5332
  Tssop,
5259
5333
  {
5260
5334
  pinCount: fpJson.num_pins,
@@ -5265,7 +5339,7 @@ var Footprinter3d = ({ footprint }) => {
5265
5339
  }
5266
5340
  );
5267
5341
  case "msop":
5268
- return /* @__PURE__ */ jsx69(
5342
+ return /* @__PURE__ */ jsx70(
5269
5343
  MSOP,
5270
5344
  {
5271
5345
  pinCount: fpJson.num_pins,
@@ -5276,7 +5350,7 @@ var Footprinter3d = ({ footprint }) => {
5276
5350
  }
5277
5351
  );
5278
5352
  case "vssop":
5279
- return /* @__PURE__ */ jsx69(
5353
+ return /* @__PURE__ */ jsx70(
5280
5354
  VSSOP,
5281
5355
  {
5282
5356
  pinCount: fpJson.num_pins,
@@ -5288,7 +5362,7 @@ var Footprinter3d = ({ footprint }) => {
5288
5362
  }
5289
5363
  );
5290
5364
  case "qfp":
5291
- return /* @__PURE__ */ jsx69(
5365
+ return /* @__PURE__ */ jsx70(
5292
5366
  QFP,
5293
5367
  {
5294
5368
  pinCount: fpJson.num_pins,
@@ -5299,12 +5373,12 @@ var Footprinter3d = ({ footprint }) => {
5299
5373
  }
5300
5374
  );
5301
5375
  case "tqfp":
5302
- return /* @__PURE__ */ jsx69(tqfp_default, {});
5376
+ return /* @__PURE__ */ jsx70(tqfp_default, {});
5303
5377
  case "lqfp":
5304
- return /* @__PURE__ */ jsx69(LQFP, { pinCount: fpJson.num_pins });
5378
+ return /* @__PURE__ */ jsx70(LQFP, { pinCount: fpJson.num_pins });
5305
5379
  case "qfn": {
5306
5380
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
5307
- return /* @__PURE__ */ jsx69(
5381
+ return /* @__PURE__ */ jsx70(
5308
5382
  qfn_default,
5309
5383
  {
5310
5384
  num_pins: fpJson.num_pins,
@@ -5322,7 +5396,7 @@ var Footprinter3d = ({ footprint }) => {
5322
5396
  }
5323
5397
  case "dfn": {
5324
5398
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
5325
- return /* @__PURE__ */ jsx69(
5399
+ return /* @__PURE__ */ jsx70(
5326
5400
  DFN,
5327
5401
  {
5328
5402
  num_pins: fpJson.num_pins,
@@ -5342,7 +5416,7 @@ var Footprinter3d = ({ footprint }) => {
5342
5416
  const rowsMatch = footprint.match(/_rows(\d+)/);
5343
5417
  const rows = rowsMatch && rowsMatch[1] ? parseInt(rowsMatch[1], 10) : 1;
5344
5418
  if (fpJson.male)
5345
- return /* @__PURE__ */ jsx69(
5419
+ return /* @__PURE__ */ jsx70(
5346
5420
  PinRow,
5347
5421
  {
5348
5422
  numberOfPins: fpJson.num_pins,
@@ -5355,7 +5429,7 @@ var Footprinter3d = ({ footprint }) => {
5355
5429
  }
5356
5430
  );
5357
5431
  if (fpJson.female)
5358
- return /* @__PURE__ */ jsx69(
5432
+ return /* @__PURE__ */ jsx70(
5359
5433
  FemaleHeaderRow,
5360
5434
  {
5361
5435
  numberOfPins: fpJson.num_pins,
@@ -5364,50 +5438,59 @@ var Footprinter3d = ({ footprint }) => {
5364
5438
  }
5365
5439
  );
5366
5440
  }
5441
+ case "smdpinheader":
5442
+ return /* @__PURE__ */ jsx70(
5443
+ SmdPinHeader,
5444
+ {
5445
+ numberOfPins: fpJson.num_pins,
5446
+ pitch: fpJson.p,
5447
+ bodyWidth: fpJson.bh
5448
+ }
5449
+ );
5367
5450
  case "cap": {
5368
5451
  switch (fpJson.imperial) {
5369
5452
  case "0402":
5370
- return /* @__PURE__ */ jsx69(A0402, { color: "#856c4d" });
5453
+ return /* @__PURE__ */ jsx70(A0402, { color: "#856c4d" });
5371
5454
  case "0603":
5372
- return /* @__PURE__ */ jsx69(A0603, { color: "#856c4d" });
5455
+ return /* @__PURE__ */ jsx70(A0603, { color: "#856c4d" });
5373
5456
  case "0805":
5374
- return /* @__PURE__ */ jsx69(A0805, { color: "#856c4d" });
5457
+ return /* @__PURE__ */ jsx70(A0805, { color: "#856c4d" });
5375
5458
  case "0201":
5376
- return /* @__PURE__ */ jsx69(A0201, { color: "#856c4d" });
5459
+ return /* @__PURE__ */ jsx70(A0201, { color: "#856c4d" });
5377
5460
  case "01005":
5378
- return /* @__PURE__ */ jsx69(A01005, { color: "#856c4d" });
5461
+ return /* @__PURE__ */ jsx70(A01005, { color: "#856c4d" });
5379
5462
  case "1206":
5380
- return /* @__PURE__ */ jsx69(A1206, { color: "#856c4d" });
5463
+ return /* @__PURE__ */ jsx70(A1206, { color: "#856c4d" });
5381
5464
  case "1210":
5382
- return /* @__PURE__ */ jsx69(A1210, { color: "#856c4d" });
5465
+ return /* @__PURE__ */ jsx70(A1210, { color: "#856c4d" });
5383
5466
  case "2010":
5384
- return /* @__PURE__ */ jsx69(A2010, { color: "#856c4d" });
5467
+ return /* @__PURE__ */ jsx70(A2010, { color: "#856c4d" });
5385
5468
  case "2512":
5386
- return /* @__PURE__ */ jsx69(A2512, { color: "#856c4d" });
5469
+ return /* @__PURE__ */ jsx70(A2512, { color: "#856c4d" });
5387
5470
  }
5388
5471
  }
5389
5472
  case "sot235":
5390
- return /* @__PURE__ */ jsx69(SOT_235_default, {});
5473
+ return /* @__PURE__ */ jsx70(SOT_235_default, {});
5391
5474
  case "sot457":
5392
- return /* @__PURE__ */ jsx69(SOT457, {});
5475
+ return /* @__PURE__ */ jsx70(SOT457, {});
5393
5476
  case "sot223":
5394
- return /* @__PURE__ */ jsx69(SOT223, {});
5477
+ return /* @__PURE__ */ jsx70(SOT223, {});
5395
5478
  case "sot23w":
5396
- return /* @__PURE__ */ jsx69(SOT23W, {});
5479
+ return /* @__PURE__ */ jsx70(SOT23W, {});
5397
5480
  case "sot323":
5398
- return /* @__PURE__ */ jsx69(SOT323, {});
5481
+ return /* @__PURE__ */ jsx70(SOT323, {});
5399
5482
  case "sod323f":
5400
- return /* @__PURE__ */ jsx69(SOD323F, {});
5483
+ return /* @__PURE__ */ jsx70(SOD323F, {});
5401
5484
  case "sod323fl":
5402
- return /* @__PURE__ */ jsx69(SOD323FL, {});
5485
+ return /* @__PURE__ */ jsx70(SOD323FL, {});
5403
5486
  case "sot363":
5404
- return /* @__PURE__ */ jsx69(SOT_363_default, {});
5487
+ return /* @__PURE__ */ jsx70(SOT_363_default, {});
5405
5488
  case "sot886":
5406
- return /* @__PURE__ */ jsx69(SOT886, {});
5489
+ return /* @__PURE__ */ jsx70(SOT886, {});
5407
5490
  case "sot963":
5408
- return /* @__PURE__ */ jsx69(SOT963, {});
5491
+ return /* @__PURE__ */ jsx70(SOT963, {});
5409
5492
  case "pushbutton":
5410
- return /* @__PURE__ */ jsx69(
5493
+ return /* @__PURE__ */ jsx70(
5411
5494
  PushButton,
5412
5495
  {
5413
5496
  width: fpJson.w,
@@ -5417,11 +5500,11 @@ var Footprinter3d = ({ footprint }) => {
5417
5500
  );
5418
5501
  case "jst":
5419
5502
  if (fpJson.zh) {
5420
- return /* @__PURE__ */ jsx69(JSTZH1_5mm, { numPins: fpJson.num_pins });
5503
+ return /* @__PURE__ */ jsx70(JSTZH1_5mm, { numPins: fpJson.num_pins });
5421
5504
  }
5422
5505
  break;
5423
5506
  case "fpc":
5424
- return /* @__PURE__ */ jsx69(
5507
+ return /* @__PURE__ */ jsx70(
5425
5508
  FPC,
5426
5509
  {
5427
5510
  pinCount: fpJson.num_pins,
@@ -5441,7 +5524,7 @@ var Footprinter3d = ({ footprint }) => {
5441
5524
  }
5442
5525
  );
5443
5526
  case "soic":
5444
- return /* @__PURE__ */ jsx69(
5527
+ return /* @__PURE__ */ jsx70(
5445
5528
  SOIC,
5446
5529
  {
5447
5530
  pinCount: fpJson.num_pins,
@@ -5452,41 +5535,41 @@ var Footprinter3d = ({ footprint }) => {
5452
5535
  }
5453
5536
  );
5454
5537
  case "sod523":
5455
- return /* @__PURE__ */ jsx69(SOD523, {});
5538
+ return /* @__PURE__ */ jsx70(SOD523, {});
5456
5539
  case "sod723":
5457
- return /* @__PURE__ */ jsx69(SOD723_default, {});
5540
+ return /* @__PURE__ */ jsx70(SOD723_default, {});
5458
5541
  case "sod882":
5459
- return /* @__PURE__ */ jsx69(SOD882, {});
5542
+ return /* @__PURE__ */ jsx70(SOD882, {});
5460
5543
  case "sma":
5461
- return /* @__PURE__ */ jsx69(SMA, {});
5544
+ return /* @__PURE__ */ jsx70(SMA, {});
5462
5545
  case "smb":
5463
- return /* @__PURE__ */ jsx69(SMB, {});
5546
+ return /* @__PURE__ */ jsx70(SMB, {});
5464
5547
  case "smc":
5465
- return /* @__PURE__ */ jsx69(SMC, {});
5548
+ return /* @__PURE__ */ jsx70(SMC, {});
5466
5549
  case "smf":
5467
- return /* @__PURE__ */ jsx69(SMF, {});
5550
+ return /* @__PURE__ */ jsx70(SMF, {});
5468
5551
  case "sod123f":
5469
- return /* @__PURE__ */ jsx69(SOD123F, {});
5552
+ return /* @__PURE__ */ jsx70(SOD123F, {});
5470
5553
  case "sod123fl":
5471
- return /* @__PURE__ */ jsx69(SOD123FL, {});
5554
+ return /* @__PURE__ */ jsx70(SOD123FL, {});
5472
5555
  case "sod123w":
5473
- return /* @__PURE__ */ jsx69(SOD123W, {});
5556
+ return /* @__PURE__ */ jsx70(SOD123W, {});
5474
5557
  case "sod128":
5475
- return /* @__PURE__ */ jsx69(SOD128, {});
5558
+ return /* @__PURE__ */ jsx70(SOD128, {});
5476
5559
  case "sod323":
5477
- return /* @__PURE__ */ jsx69(SOD323, {});
5560
+ return /* @__PURE__ */ jsx70(SOD323, {});
5478
5561
  case "sod923":
5479
- return /* @__PURE__ */ jsx69(SOD923, {});
5562
+ return /* @__PURE__ */ jsx70(SOD923, {});
5480
5563
  case "hc49":
5481
- return /* @__PURE__ */ jsx69(HC49, {});
5564
+ return /* @__PURE__ */ jsx70(HC49, {});
5482
5565
  case "micromelf":
5483
- return /* @__PURE__ */ jsx69(MicroMELF, {});
5566
+ return /* @__PURE__ */ jsx70(MicroMELF, {});
5484
5567
  case "minimelf":
5485
- return /* @__PURE__ */ jsx69(MINIMELF, {});
5568
+ return /* @__PURE__ */ jsx70(MINIMELF, {});
5486
5569
  case "melf":
5487
- return /* @__PURE__ */ jsx69(MELF, {});
5570
+ return /* @__PURE__ */ jsx70(MELF, {});
5488
5571
  case "ms012":
5489
- return /* @__PURE__ */ jsx69(
5572
+ return /* @__PURE__ */ jsx70(
5490
5573
  MS012,
5491
5574
  {
5492
5575
  pinCount: fpJson.num_pins,
@@ -5496,7 +5579,7 @@ var Footprinter3d = ({ footprint }) => {
5496
5579
  }
5497
5580
  );
5498
5581
  case "ms013":
5499
- return /* @__PURE__ */ jsx69(
5582
+ return /* @__PURE__ */ jsx70(
5500
5583
  MS013,
5501
5584
  {
5502
5585
  pinCount: fpJson.num_pins,
@@ -5506,14 +5589,14 @@ var Footprinter3d = ({ footprint }) => {
5506
5589
  }
5507
5590
  );
5508
5591
  case "sot723":
5509
- return /* @__PURE__ */ jsx69(SOT723, {});
5592
+ return /* @__PURE__ */ jsx70(SOT723, {});
5510
5593
  case "to220":
5511
- return /* @__PURE__ */ jsx69(TO220, {});
5594
+ return /* @__PURE__ */ jsx70(TO220, {});
5512
5595
  case "to92":
5513
- return /* @__PURE__ */ jsx69(TO92, {});
5596
+ return /* @__PURE__ */ jsx70(TO92, {});
5514
5597
  case "stampboard":
5515
5598
  case "stampreceiver":
5516
- return /* @__PURE__ */ jsx69(
5599
+ return /* @__PURE__ */ jsx70(
5517
5600
  StampBoard,
5518
5601
  {
5519
5602
  bodyWidth: fpJson.w,
@@ -5537,7 +5620,7 @@ var Footprinter3d = ({ footprint }) => {
5537
5620
  const pinRow = fpJson.pinrow;
5538
5621
  const pinRowHoleEdgeToEdgeDist = fpJson.pinRowHoleEdgeToEdgeDist;
5539
5622
  const holes = Array.isArray(fpJson.holes) ? fpJson.holes : [];
5540
- return /* @__PURE__ */ jsx69(
5623
+ return /* @__PURE__ */ jsx70(
5541
5624
  MountedPcbModule,
5542
5625
  {
5543
5626
  numPins: pinRow,
@@ -5566,29 +5649,29 @@ var Footprinter3d = ({ footprint }) => {
5566
5649
  const color = colorMatch ? colorMatch[1] : void 0;
5567
5650
  switch (fpJson.imperial) {
5568
5651
  case "0402":
5569
- return /* @__PURE__ */ jsx69(A0402, { color });
5652
+ return /* @__PURE__ */ jsx70(A0402, { color });
5570
5653
  case "0603":
5571
- return /* @__PURE__ */ jsx69(A0603, { color });
5654
+ return /* @__PURE__ */ jsx70(A0603, { color });
5572
5655
  case "0805":
5573
- return /* @__PURE__ */ jsx69(A0805, { color });
5656
+ return /* @__PURE__ */ jsx70(A0805, { color });
5574
5657
  case "0201":
5575
- return /* @__PURE__ */ jsx69(A0201, { color });
5658
+ return /* @__PURE__ */ jsx70(A0201, { color });
5576
5659
  case "01005":
5577
- return /* @__PURE__ */ jsx69(A01005, { color });
5660
+ return /* @__PURE__ */ jsx70(A01005, { color });
5578
5661
  case "1206":
5579
- return /* @__PURE__ */ jsx69(A1206, { color });
5662
+ return /* @__PURE__ */ jsx70(A1206, { color });
5580
5663
  case "1210":
5581
- return /* @__PURE__ */ jsx69(A1210, { color });
5664
+ return /* @__PURE__ */ jsx70(A1210, { color });
5582
5665
  case "2010":
5583
- return /* @__PURE__ */ jsx69(A2010, { color });
5666
+ return /* @__PURE__ */ jsx70(A2010, { color });
5584
5667
  case "2512":
5585
- return /* @__PURE__ */ jsx69(A2512, { color });
5668
+ return /* @__PURE__ */ jsx70(A2512, { color });
5586
5669
  }
5587
5670
  return null;
5588
5671
  };
5589
5672
 
5590
5673
  // lib/SOT-23-3P.tsx
5591
- import { Fragment as Fragment63, jsx as jsx70, jsxs as jsxs65 } from "react/jsx-runtime";
5674
+ import { Fragment as Fragment64, jsx as jsx71, jsxs as jsxs66 } from "react/jsx-runtime";
5592
5675
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5593
5676
  const bodyWidth = 1.3;
5594
5677
  const bodyLength10 = 2.9;
@@ -5599,8 +5682,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5599
5682
  const padContactLength = 0.4;
5600
5683
  const padThickness = leadThickness / 2;
5601
5684
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
5602
- return /* @__PURE__ */ jsxs65(Fragment63, { children: [
5603
- /* @__PURE__ */ jsx70(
5685
+ return /* @__PURE__ */ jsxs66(Fragment64, { children: [
5686
+ /* @__PURE__ */ jsx71(
5604
5687
  SmdChipLead,
5605
5688
  {
5606
5689
  rotation: Math.PI,
@@ -5617,7 +5700,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5617
5700
  },
5618
5701
  1
5619
5702
  ),
5620
- /* @__PURE__ */ jsx70(
5703
+ /* @__PURE__ */ jsx71(
5621
5704
  SmdChipLead,
5622
5705
  {
5623
5706
  rotation: Math.PI,
@@ -5634,7 +5717,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5634
5717
  },
5635
5718
  2
5636
5719
  ),
5637
- /* @__PURE__ */ jsx70(
5720
+ /* @__PURE__ */ jsx71(
5638
5721
  SmdChipLead,
5639
5722
  {
5640
5723
  position: {
@@ -5650,7 +5733,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5650
5733
  },
5651
5734
  3
5652
5735
  ),
5653
- /* @__PURE__ */ jsx70(
5736
+ /* @__PURE__ */ jsx71(
5654
5737
  ChipBody,
5655
5738
  {
5656
5739
  center: { x: 0, y: 0, z: 0 },
@@ -5663,8 +5746,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
5663
5746
  };
5664
5747
 
5665
5748
  // lib/SOT-563.tsx
5666
- import { Cuboid as Cuboid46, Translate as Translate32, Rotate as Rotate14, Colorize as Colorize38 } from "jscad-fiber";
5667
- import { Fragment as Fragment64, jsx as jsx71, jsxs as jsxs66 } from "react/jsx-runtime";
5749
+ import { Cuboid as Cuboid47, Translate as Translate33, Rotate as Rotate14, Colorize as Colorize39 } from "jscad-fiber";
5750
+ import { Fragment as Fragment65, jsx as jsx72, jsxs as jsxs67 } from "react/jsx-runtime";
5668
5751
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
5669
5752
  const bodyWidth = 1.2;
5670
5753
  const bodyLength10 = 1.6;
@@ -5674,28 +5757,28 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
5674
5757
  const leadHeight = 0.13;
5675
5758
  const leadSpacing = 0.5;
5676
5759
  const bodyZOffset = -0.4;
5677
- return /* @__PURE__ */ jsxs66(Fragment64, { children: [
5678
- /* @__PURE__ */ jsx71(Rotate14, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx71(Translate32, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx71(Colorize38, { color: "grey", children: /* @__PURE__ */ jsx71(Cuboid46, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
5760
+ return /* @__PURE__ */ jsxs67(Fragment65, { children: [
5761
+ /* @__PURE__ */ jsx72(Rotate14, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx72(Translate33, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx72(Colorize39, { color: "grey", children: /* @__PURE__ */ jsx72(Cuboid47, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
5679
5762
  [-1, 0, 1].flatMap((yOffset, index) => [
5680
5763
  // Left lead
5681
- /* @__PURE__ */ jsx71(
5682
- Translate32,
5764
+ /* @__PURE__ */ jsx72(
5765
+ Translate33,
5683
5766
  {
5684
5767
  center: [
5685
5768
  -bodyWidth / 2 - 0.03,
5686
5769
  yOffset * leadSpacing,
5687
5770
  leadHeight / 2
5688
5771
  ],
5689
- children: /* @__PURE__ */ jsx71(Cuboid46, { size: [leadLength, leadWidth, leadHeight] })
5772
+ children: /* @__PURE__ */ jsx72(Cuboid47, { size: [leadLength, leadWidth, leadHeight] })
5690
5773
  },
5691
5774
  `left-${index}`
5692
5775
  ),
5693
5776
  // Right lead
5694
- /* @__PURE__ */ jsx71(
5695
- Translate32,
5777
+ /* @__PURE__ */ jsx72(
5778
+ Translate33,
5696
5779
  {
5697
5780
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
5698
- children: /* @__PURE__ */ jsx71(Cuboid46, { size: [leadLength, leadWidth, leadHeight] })
5781
+ children: /* @__PURE__ */ jsx72(Cuboid47, { size: [leadLength, leadWidth, leadHeight] })
5699
5782
  },
5700
5783
  `right-${index}`
5701
5784
  )
@@ -5704,7 +5787,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
5704
5787
  };
5705
5788
 
5706
5789
  // lib/sod-123.tsx
5707
- import { Fragment as Fragment65, jsx as jsx72, jsxs as jsxs67 } from "react/jsx-runtime";
5790
+ import { Fragment as Fragment66, jsx as jsx73, jsxs as jsxs68 } from "react/jsx-runtime";
5708
5791
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
5709
5792
  const bodyWidth = 2.9;
5710
5793
  const bodyLength10 = 1.3;
@@ -5715,8 +5798,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
5715
5798
  const padContactLength = 0.4;
5716
5799
  const padThickness = leadThickness / 2;
5717
5800
  const bodyDistance = (fullWidth - bodyWidth) / 2;
5718
- return /* @__PURE__ */ jsxs67(Fragment65, { children: [
5719
- /* @__PURE__ */ jsx72(
5801
+ return /* @__PURE__ */ jsxs68(Fragment66, { children: [
5802
+ /* @__PURE__ */ jsx73(
5720
5803
  SmdChipLead,
5721
5804
  {
5722
5805
  position: {
@@ -5732,7 +5815,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
5732
5815
  },
5733
5816
  1
5734
5817
  ),
5735
- /* @__PURE__ */ jsx72(
5818
+ /* @__PURE__ */ jsx73(
5736
5819
  SmdChipLead,
5737
5820
  {
5738
5821
  rotation: Math.PI,
@@ -5749,7 +5832,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
5749
5832
  },
5750
5833
  2
5751
5834
  ),
5752
- /* @__PURE__ */ jsx72(
5835
+ /* @__PURE__ */ jsx73(
5753
5836
  ChipBody,
5754
5837
  {
5755
5838
  center: { x: 0, y: 0, z: 0 },
@@ -5824,6 +5907,7 @@ export {
5824
5907
  SOT963,
5825
5908
  Screen,
5826
5909
  SmdChipLead,
5910
+ SmdPinHeader,
5827
5911
  StampBoard,
5828
5912
  TO220,
5829
5913
  TO92,