jscad-electronics 0.0.90 → 0.0.91

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
@@ -291,4 +291,6 @@ declare const MS012: ({ pinCount, padContactLength, leadWidth, pitch, }: {
291
291
  padContactLength?: number;
292
292
  }) => react_jsx_runtime.JSX.Element;
293
293
 
294
- export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, DFN, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, LQFP, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MSOP, MicroMELF, type MicroMELFProps, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD523, SOD882, SOD923, SOT223, SOT233P, SOT323, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, TQFP, Tssop, VSSOP };
294
+ declare const TO220: () => react_jsx_runtime.JSX.Element;
295
+
296
+ export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, DFN, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, LQFP, MELF, type MELFProps, MINIMELF, type MINIMELFProps, MS012, MSOP, MicroMELF, type MicroMELFProps, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD523, SOD882, SOD923, SOT223, SOT233P, SOT323, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, TO220, TQFP, Tssop, VSSOP };
package/dist/index.js CHANGED
@@ -3087,15 +3087,100 @@ var MS012 = ({
3087
3087
  ] });
3088
3088
  };
3089
3089
 
3090
+ // lib/TO220.tsx
3091
+ import {
3092
+ Colorize as Colorize24,
3093
+ Cuboid as Cuboid31,
3094
+ Hull as Hull15,
3095
+ Rotate as Rotate9,
3096
+ Translate as Translate19,
3097
+ Cylinder as Cylinder8,
3098
+ Subtract as Subtract4
3099
+ } from "jscad-fiber";
3100
+ import { Fragment as Fragment43, jsx as jsx47, jsxs as jsxs45 } from "react/jsx-runtime";
3101
+ var TO220 = () => {
3102
+ const fullLength10 = 20;
3103
+ const bodyLength10 = 9.9;
3104
+ const bodyHeight = 4.5;
3105
+ const zOffset = 1;
3106
+ const padWidth = 9.9;
3107
+ const padLength = 6.5;
3108
+ const padThickness = 1.3;
3109
+ const padHoleDiameter = 3;
3110
+ const prongWidth = 0.81;
3111
+ const prongLength = 16;
3112
+ const prongHeight = 0.5;
3113
+ const prongPitch = 2.7;
3114
+ const bodyWidth = padWidth;
3115
+ const bodyFrontX = fullLength10 - bodyLength10 / 2;
3116
+ const bodyBackX = fullLength10 + bodyLength10 / 2;
3117
+ const prongCenterX = bodyFrontX - prongLength / 2;
3118
+ const padCenterX = bodyBackX + padLength / 2;
3119
+ return /* @__PURE__ */ jsx47(Translate19, { center: [0, 0, zOffset], children: /* @__PURE__ */ jsxs45(Fragment43, { children: [
3120
+ /* @__PURE__ */ jsxs45(Rotate9, { rotation: [0, 55, -55], children: [
3121
+ /* @__PURE__ */ jsxs45(Subtract4, { children: [
3122
+ /* @__PURE__ */ jsx47(
3123
+ Cuboid31,
3124
+ {
3125
+ color: "#ccc",
3126
+ size: [padLength + 0.1, padWidth, padThickness],
3127
+ center: [padCenterX, 0, padThickness - 2]
3128
+ }
3129
+ ),
3130
+ /* @__PURE__ */ jsx47(
3131
+ Cylinder8,
3132
+ {
3133
+ color: "black",
3134
+ center: [padCenterX, 0, padThickness - 2],
3135
+ radius: padHoleDiameter / 2,
3136
+ height: padThickness * 1.2
3137
+ }
3138
+ )
3139
+ ] }),
3140
+ /* @__PURE__ */ jsx47(Colorize24, { color: "#222", children: /* @__PURE__ */ jsx47(
3141
+ ChipBody,
3142
+ {
3143
+ width: bodyWidth,
3144
+ length: bodyLength10,
3145
+ height: bodyHeight,
3146
+ center: { x: fullLength10, y: 0, z: -2.4 },
3147
+ includeNotch: false,
3148
+ straightHeightRatio: 0.3,
3149
+ taperRatio: 0.04,
3150
+ heightAboveSurface: 1
3151
+ }
3152
+ ) })
3153
+ ] }),
3154
+ /* @__PURE__ */ jsx47(Rotate9, { rotation: [0, 55, 55], children: Array.from({ length: 3 }).map((_, i) => {
3155
+ const x = prongCenterX;
3156
+ const y = (i - 1) * prongPitch;
3157
+ const z = -prongHeight - 0.6;
3158
+ return /* @__PURE__ */ jsxs45(Colorize24, { color: "gold", children: [
3159
+ /* @__PURE__ */ jsxs45(Hull15, { children: [
3160
+ /* @__PURE__ */ jsx47(Translate19, { center: [bodyFrontX - bodyHeight / 2 + 0.1, y, z], children: /* @__PURE__ */ jsx47(Cuboid31, { size: [bodyHeight, prongWidth + 1, prongHeight] }) }),
3161
+ /* @__PURE__ */ jsx47(
3162
+ Translate19,
3163
+ {
3164
+ center: [bodyFrontX - bodyHeight / 2 - 1 + 0.1, y, z],
3165
+ children: /* @__PURE__ */ jsx47(Cuboid31, { size: [bodyHeight, prongWidth, prongHeight] })
3166
+ }
3167
+ )
3168
+ ] }),
3169
+ /* @__PURE__ */ jsx47(Translate19, { center: [x, y, z], children: /* @__PURE__ */ jsx47(Cuboid31, { size: [prongLength + 0.1, prongWidth, prongHeight] }) })
3170
+ ] }, `prong-${i}`);
3171
+ }) })
3172
+ ] }) });
3173
+ };
3174
+
3090
3175
  // lib/Footprinter3d.tsx
3091
- import { jsx as jsx47 } from "react/jsx-runtime";
3176
+ import { jsx as jsx48 } from "react/jsx-runtime";
3092
3177
  var Footprinter3d = ({ footprint }) => {
3093
3178
  const fpJson = fp3.string(footprint).json();
3094
3179
  switch (fpJson.fn) {
3095
3180
  case "dip":
3096
- return /* @__PURE__ */ jsx47(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
3181
+ return /* @__PURE__ */ jsx48(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
3097
3182
  case "tssop":
3098
- return /* @__PURE__ */ jsx47(
3183
+ return /* @__PURE__ */ jsx48(
3099
3184
  Tssop,
3100
3185
  {
3101
3186
  pinCount: fpJson.num_pins,
@@ -3106,7 +3191,7 @@ var Footprinter3d = ({ footprint }) => {
3106
3191
  }
3107
3192
  );
3108
3193
  case "msop":
3109
- return /* @__PURE__ */ jsx47(
3194
+ return /* @__PURE__ */ jsx48(
3110
3195
  MSOP,
3111
3196
  {
3112
3197
  pinCount: fpJson.num_pins,
@@ -3117,7 +3202,7 @@ var Footprinter3d = ({ footprint }) => {
3117
3202
  }
3118
3203
  );
3119
3204
  case "vssop":
3120
- return /* @__PURE__ */ jsx47(
3205
+ return /* @__PURE__ */ jsx48(
3121
3206
  VSSOP,
3122
3207
  {
3123
3208
  pinCount: fpJson.num_pins,
@@ -3129,7 +3214,7 @@ var Footprinter3d = ({ footprint }) => {
3129
3214
  }
3130
3215
  );
3131
3216
  case "qfp":
3132
- return /* @__PURE__ */ jsx47(
3217
+ return /* @__PURE__ */ jsx48(
3133
3218
  QFP,
3134
3219
  {
3135
3220
  pinCount: fpJson.num_pins,
@@ -3140,12 +3225,12 @@ var Footprinter3d = ({ footprint }) => {
3140
3225
  }
3141
3226
  );
3142
3227
  case "tqfp":
3143
- return /* @__PURE__ */ jsx47(tqfp_default, {});
3228
+ return /* @__PURE__ */ jsx48(tqfp_default, {});
3144
3229
  case "lqfp":
3145
- return /* @__PURE__ */ jsx47(LQFP, { pinCount: fpJson.num_pins });
3230
+ return /* @__PURE__ */ jsx48(LQFP, { pinCount: fpJson.num_pins });
3146
3231
  case "qfn": {
3147
3232
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
3148
- return /* @__PURE__ */ jsx47(
3233
+ return /* @__PURE__ */ jsx48(
3149
3234
  qfn_default,
3150
3235
  {
3151
3236
  num_pins: fpJson.num_pins,
@@ -3163,7 +3248,7 @@ var Footprinter3d = ({ footprint }) => {
3163
3248
  }
3164
3249
  case "dfn": {
3165
3250
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
3166
- return /* @__PURE__ */ jsx47(
3251
+ return /* @__PURE__ */ jsx48(
3167
3252
  DFN,
3168
3253
  {
3169
3254
  num_pins: fpJson.num_pins,
@@ -3181,39 +3266,39 @@ var Footprinter3d = ({ footprint }) => {
3181
3266
  }
3182
3267
  case "pinrow":
3183
3268
  if (fpJson.male)
3184
- return /* @__PURE__ */ jsx47(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3269
+ return /* @__PURE__ */ jsx48(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3185
3270
  if (fpJson.female)
3186
- return /* @__PURE__ */ jsx47(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3271
+ return /* @__PURE__ */ jsx48(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
3187
3272
  case "cap": {
3188
3273
  switch (fpJson.imperial) {
3189
3274
  case "0402":
3190
- return /* @__PURE__ */ jsx47(A0402, { color: "#856c4d" });
3275
+ return /* @__PURE__ */ jsx48(A0402, { color: "#856c4d" });
3191
3276
  case "0603":
3192
- return /* @__PURE__ */ jsx47(A0603, { color: "#856c4d" });
3277
+ return /* @__PURE__ */ jsx48(A0603, { color: "#856c4d" });
3193
3278
  case "0805":
3194
- return /* @__PURE__ */ jsx47(A0805, { color: "#856c4d" });
3279
+ return /* @__PURE__ */ jsx48(A0805, { color: "#856c4d" });
3195
3280
  case "0201":
3196
- return /* @__PURE__ */ jsx47(A0201, { color: "#856c4d" });
3281
+ return /* @__PURE__ */ jsx48(A0201, { color: "#856c4d" });
3197
3282
  case "01005":
3198
- return /* @__PURE__ */ jsx47(A01005, { color: "#856c4d" });
3283
+ return /* @__PURE__ */ jsx48(A01005, { color: "#856c4d" });
3199
3284
  case "1206":
3200
- return /* @__PURE__ */ jsx47(A1206, { color: "#856c4d" });
3285
+ return /* @__PURE__ */ jsx48(A1206, { color: "#856c4d" });
3201
3286
  case "1210":
3202
- return /* @__PURE__ */ jsx47(A1210, { color: "#856c4d" });
3287
+ return /* @__PURE__ */ jsx48(A1210, { color: "#856c4d" });
3203
3288
  case "2010":
3204
- return /* @__PURE__ */ jsx47(A2010, { color: "#856c4d" });
3289
+ return /* @__PURE__ */ jsx48(A2010, { color: "#856c4d" });
3205
3290
  case "2512":
3206
- return /* @__PURE__ */ jsx47(A2512, { color: "#856c4d" });
3291
+ return /* @__PURE__ */ jsx48(A2512, { color: "#856c4d" });
3207
3292
  }
3208
3293
  }
3209
3294
  case "sot235":
3210
- return /* @__PURE__ */ jsx47(SOT_235_default, {});
3295
+ return /* @__PURE__ */ jsx48(SOT_235_default, {});
3211
3296
  case "sot223":
3212
- return /* @__PURE__ */ jsx47(SOT223, {});
3297
+ return /* @__PURE__ */ jsx48(SOT223, {});
3213
3298
  case "sot323":
3214
- return /* @__PURE__ */ jsx47(SOT323, {});
3299
+ return /* @__PURE__ */ jsx48(SOT323, {});
3215
3300
  case "pushbutton":
3216
- return /* @__PURE__ */ jsx47(
3301
+ return /* @__PURE__ */ jsx48(
3217
3302
  PushButton,
3218
3303
  {
3219
3304
  width: fpJson.w,
@@ -3222,7 +3307,7 @@ var Footprinter3d = ({ footprint }) => {
3222
3307
  }
3223
3308
  );
3224
3309
  case "soic":
3225
- return /* @__PURE__ */ jsx47(
3310
+ return /* @__PURE__ */ jsx48(
3226
3311
  SOIC,
3227
3312
  {
3228
3313
  pinCount: fpJson.num_pins,
@@ -3233,33 +3318,33 @@ var Footprinter3d = ({ footprint }) => {
3233
3318
  }
3234
3319
  );
3235
3320
  case "sod523":
3236
- return /* @__PURE__ */ jsx47(SOD523, {});
3321
+ return /* @__PURE__ */ jsx48(SOD523, {});
3237
3322
  case "sod882":
3238
- return /* @__PURE__ */ jsx47(SOD882, {});
3323
+ return /* @__PURE__ */ jsx48(SOD882, {});
3239
3324
  case "sma":
3240
- return /* @__PURE__ */ jsx47(SMA, {});
3325
+ return /* @__PURE__ */ jsx48(SMA, {});
3241
3326
  case "smb":
3242
- return /* @__PURE__ */ jsx47(SMB, {});
3327
+ return /* @__PURE__ */ jsx48(SMB, {});
3243
3328
  case "smc":
3244
- return /* @__PURE__ */ jsx47(SMC, {});
3329
+ return /* @__PURE__ */ jsx48(SMC, {});
3245
3330
  case "smf":
3246
- return /* @__PURE__ */ jsx47(SMF, {});
3331
+ return /* @__PURE__ */ jsx48(SMF, {});
3247
3332
  case "sod123f":
3248
- return /* @__PURE__ */ jsx47(SOD123F, {});
3333
+ return /* @__PURE__ */ jsx48(SOD123F, {});
3249
3334
  case "sod123fl":
3250
- return /* @__PURE__ */ jsx47(SOD123FL, {});
3335
+ return /* @__PURE__ */ jsx48(SOD123FL, {});
3251
3336
  case "sod923":
3252
- return /* @__PURE__ */ jsx47(SOD923, {});
3337
+ return /* @__PURE__ */ jsx48(SOD923, {});
3253
3338
  case "hc49":
3254
- return /* @__PURE__ */ jsx47(HC49, {});
3339
+ return /* @__PURE__ */ jsx48(HC49, {});
3255
3340
  case "micromelf":
3256
- return /* @__PURE__ */ jsx47(MicroMELF, {});
3341
+ return /* @__PURE__ */ jsx48(MicroMELF, {});
3257
3342
  case "minimelf":
3258
- return /* @__PURE__ */ jsx47(MINIMELF, {});
3343
+ return /* @__PURE__ */ jsx48(MINIMELF, {});
3259
3344
  case "melf":
3260
- return /* @__PURE__ */ jsx47(MELF, {});
3345
+ return /* @__PURE__ */ jsx48(MELF, {});
3261
3346
  case "ms012":
3262
- return /* @__PURE__ */ jsx47(
3347
+ return /* @__PURE__ */ jsx48(
3263
3348
  MS012,
3264
3349
  {
3265
3350
  pinCount: fpJson.num_pins,
@@ -3269,35 +3354,37 @@ var Footprinter3d = ({ footprint }) => {
3269
3354
  }
3270
3355
  );
3271
3356
  case "sot723":
3272
- return /* @__PURE__ */ jsx47(SOT723, {});
3357
+ return /* @__PURE__ */ jsx48(SOT723, {});
3358
+ case "to220":
3359
+ return /* @__PURE__ */ jsx48(TO220, {});
3273
3360
  }
3274
3361
  const colorMatch = footprint.match(/_color\(([^)]+)\)/);
3275
3362
  const color = colorMatch ? colorMatch[1] : void 0;
3276
3363
  switch (fpJson.imperial) {
3277
3364
  case "0402":
3278
- return /* @__PURE__ */ jsx47(A0402, { color });
3365
+ return /* @__PURE__ */ jsx48(A0402, { color });
3279
3366
  case "0603":
3280
- return /* @__PURE__ */ jsx47(A0603, { color });
3367
+ return /* @__PURE__ */ jsx48(A0603, { color });
3281
3368
  case "0805":
3282
- return /* @__PURE__ */ jsx47(A0805, { color });
3369
+ return /* @__PURE__ */ jsx48(A0805, { color });
3283
3370
  case "0201":
3284
- return /* @__PURE__ */ jsx47(A0201, { color });
3371
+ return /* @__PURE__ */ jsx48(A0201, { color });
3285
3372
  case "01005":
3286
- return /* @__PURE__ */ jsx47(A01005, { color });
3373
+ return /* @__PURE__ */ jsx48(A01005, { color });
3287
3374
  case "1206":
3288
- return /* @__PURE__ */ jsx47(A1206, { color });
3375
+ return /* @__PURE__ */ jsx48(A1206, { color });
3289
3376
  case "1210":
3290
- return /* @__PURE__ */ jsx47(A1210, { color });
3377
+ return /* @__PURE__ */ jsx48(A1210, { color });
3291
3378
  case "2010":
3292
- return /* @__PURE__ */ jsx47(A2010, { color });
3379
+ return /* @__PURE__ */ jsx48(A2010, { color });
3293
3380
  case "2512":
3294
- return /* @__PURE__ */ jsx47(A2512, { color });
3381
+ return /* @__PURE__ */ jsx48(A2512, { color });
3295
3382
  }
3296
3383
  return null;
3297
3384
  };
3298
3385
 
3299
3386
  // lib/SOT-23-3P.tsx
3300
- import { Fragment as Fragment43, jsx as jsx48, jsxs as jsxs45 } from "react/jsx-runtime";
3387
+ import { Fragment as Fragment44, jsx as jsx49, jsxs as jsxs46 } from "react/jsx-runtime";
3301
3388
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3302
3389
  const bodyWidth = 1.3;
3303
3390
  const bodyLength10 = 2.9;
@@ -3308,8 +3395,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3308
3395
  const padContactLength = 0.4;
3309
3396
  const padThickness = leadThickness / 2;
3310
3397
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
3311
- return /* @__PURE__ */ jsxs45(Fragment43, { children: [
3312
- /* @__PURE__ */ jsx48(
3398
+ return /* @__PURE__ */ jsxs46(Fragment44, { children: [
3399
+ /* @__PURE__ */ jsx49(
3313
3400
  SmdChipLead,
3314
3401
  {
3315
3402
  rotation: Math.PI,
@@ -3326,7 +3413,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3326
3413
  },
3327
3414
  1
3328
3415
  ),
3329
- /* @__PURE__ */ jsx48(
3416
+ /* @__PURE__ */ jsx49(
3330
3417
  SmdChipLead,
3331
3418
  {
3332
3419
  rotation: Math.PI,
@@ -3343,7 +3430,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3343
3430
  },
3344
3431
  2
3345
3432
  ),
3346
- /* @__PURE__ */ jsx48(
3433
+ /* @__PURE__ */ jsx49(
3347
3434
  SmdChipLead,
3348
3435
  {
3349
3436
  position: {
@@ -3359,7 +3446,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3359
3446
  },
3360
3447
  3
3361
3448
  ),
3362
- /* @__PURE__ */ jsx48(
3449
+ /* @__PURE__ */ jsx49(
3363
3450
  ChipBody,
3364
3451
  {
3365
3452
  center: { x: 0, y: 0, z: 0 },
@@ -3372,8 +3459,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
3372
3459
  };
3373
3460
 
3374
3461
  // lib/SOT-563.tsx
3375
- import { Cuboid as Cuboid31, Translate as Translate19, Rotate as Rotate9, Colorize as Colorize24 } from "jscad-fiber";
3376
- import { Fragment as Fragment44, jsx as jsx49, jsxs as jsxs46 } from "react/jsx-runtime";
3462
+ import { Cuboid as Cuboid32, Translate as Translate20, Rotate as Rotate10, Colorize as Colorize25 } from "jscad-fiber";
3463
+ import { Fragment as Fragment45, jsx as jsx50, jsxs as jsxs47 } from "react/jsx-runtime";
3377
3464
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3378
3465
  const bodyWidth = 1.2;
3379
3466
  const bodyLength10 = 1.6;
@@ -3383,28 +3470,28 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3383
3470
  const leadHeight = 0.13;
3384
3471
  const leadSpacing = 0.5;
3385
3472
  const bodyZOffset = -0.4;
3386
- return /* @__PURE__ */ jsxs46(Fragment44, { children: [
3387
- /* @__PURE__ */ jsx49(Rotate9, { 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] }) }) }) }),
3473
+ return /* @__PURE__ */ jsxs47(Fragment45, { children: [
3474
+ /* @__PURE__ */ jsx50(Rotate10, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx50(Translate20, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx50(Colorize25, { color: "grey", children: /* @__PURE__ */ jsx50(Cuboid32, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
3388
3475
  [-1, 0, 1].flatMap((yOffset, index) => [
3389
3476
  // Left lead
3390
- /* @__PURE__ */ jsx49(
3391
- Translate19,
3477
+ /* @__PURE__ */ jsx50(
3478
+ Translate20,
3392
3479
  {
3393
3480
  center: [
3394
3481
  -bodyWidth / 2 - 0.03,
3395
3482
  yOffset * leadSpacing,
3396
3483
  leadHeight / 2
3397
3484
  ],
3398
- children: /* @__PURE__ */ jsx49(Cuboid31, { size: [leadLength, leadWidth, leadHeight] })
3485
+ children: /* @__PURE__ */ jsx50(Cuboid32, { size: [leadLength, leadWidth, leadHeight] })
3399
3486
  },
3400
3487
  `left-${index}`
3401
3488
  ),
3402
3489
  // Right lead
3403
- /* @__PURE__ */ jsx49(
3404
- Translate19,
3490
+ /* @__PURE__ */ jsx50(
3491
+ Translate20,
3405
3492
  {
3406
3493
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
3407
- children: /* @__PURE__ */ jsx49(Cuboid31, { size: [leadLength, leadWidth, leadHeight] })
3494
+ children: /* @__PURE__ */ jsx50(Cuboid32, { size: [leadLength, leadWidth, leadHeight] })
3408
3495
  },
3409
3496
  `right-${index}`
3410
3497
  )
@@ -3413,7 +3500,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
3413
3500
  };
3414
3501
 
3415
3502
  // lib/sod-123.tsx
3416
- import { Fragment as Fragment45, jsx as jsx50, jsxs as jsxs47 } from "react/jsx-runtime";
3503
+ import { Fragment as Fragment46, jsx as jsx51, jsxs as jsxs48 } from "react/jsx-runtime";
3417
3504
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3418
3505
  const bodyWidth = 2.9;
3419
3506
  const bodyLength10 = 1.3;
@@ -3424,8 +3511,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3424
3511
  const padContactLength = 0.4;
3425
3512
  const padThickness = leadThickness / 2;
3426
3513
  const bodyDistance = (fullWidth - bodyWidth) / 2;
3427
- return /* @__PURE__ */ jsxs47(Fragment45, { children: [
3428
- /* @__PURE__ */ jsx50(
3514
+ return /* @__PURE__ */ jsxs48(Fragment46, { children: [
3515
+ /* @__PURE__ */ jsx51(
3429
3516
  SmdChipLead,
3430
3517
  {
3431
3518
  position: {
@@ -3441,7 +3528,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3441
3528
  },
3442
3529
  1
3443
3530
  ),
3444
- /* @__PURE__ */ jsx50(
3531
+ /* @__PURE__ */ jsx51(
3445
3532
  SmdChipLead,
3446
3533
  {
3447
3534
  rotation: Math.PI,
@@ -3458,7 +3545,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3458
3545
  },
3459
3546
  2
3460
3547
  ),
3461
- /* @__PURE__ */ jsx50(
3548
+ /* @__PURE__ */ jsx51(
3462
3549
  ChipBody,
3463
3550
  {
3464
3551
  center: { x: 0, y: 0, z: 0 },
@@ -3512,6 +3599,7 @@ export {
3512
3599
  SOT563,
3513
3600
  SOT723,
3514
3601
  SmdChipLead,
3602
+ TO220,
3515
3603
  TQFP,
3516
3604
  Tssop,
3517
3605
  VSSOP