jscad-electronics 0.0.80 → 0.0.82

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
@@ -456,7 +456,7 @@ var ChipBody = ({
456
456
  }
457
457
  return /* @__PURE__ */ jsx11(Colorize2, { color, children: /* @__PURE__ */ jsx11(Translate3, { offset: center, children: /* @__PURE__ */ jsx11(Translate3, { offset: { x: 0, y: 0, z: heightAboveSurface2 }, children: includeNotch ? /* @__PURE__ */ jsxs11(Subtract, { children: [
458
458
  finalBody,
459
- /* @__PURE__ */ jsx11(Translate3, { offset: actualNotchPosition, children: /* @__PURE__ */ jsx11(Rotate2, { rotation: notchRotation, children: /* @__PURE__ */ jsx11(Cylinder, { radius: notchLength, height: notchWidth }) }) })
459
+ /* @__PURE__ */ jsx11(Translate3, { offset: actualNotchPosition, children: /* @__PURE__ */ jsx11(Rotate2, { rotation: notchRotation, children: /* @__PURE__ */ jsx11(Cylinder, { radius: actualNotchRadius, height: notchWidth }) }) })
460
460
  ] }) : finalBody }) }) });
461
461
  };
462
462
 
@@ -784,8 +784,69 @@ var Tssop = ({
784
784
  ] });
785
785
  };
786
786
 
787
- // lib/qfp.tsx
787
+ // lib/MSOP.tsx
788
788
  import { Fragment as Fragment14, jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
789
+ var MSOP = ({
790
+ pinCount,
791
+ padContactLength = 0.4,
792
+ leadWidth = 0.2,
793
+ pitch = 0.65,
794
+ bodyWidth = 3
795
+ }) => {
796
+ const sidePinCount = Math.ceil(pinCount / 2);
797
+ const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
798
+ const leadThickness = 0.2;
799
+ return /* @__PURE__ */ jsxs16(Fragment14, { children: [
800
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx18(
801
+ SmdChipLead,
802
+ {
803
+ position: {
804
+ x: -bodyWidth / 2 - padContactLength - 0.3,
805
+ y: i * pitch - pinOffsetToCenter,
806
+ z: leadThickness / 2
807
+ },
808
+ width: leadWidth,
809
+ thickness: leadThickness,
810
+ padContactLength,
811
+ bodyDistance: padContactLength + 0.4,
812
+ height: 0.6
813
+ },
814
+ i
815
+ )),
816
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx18(
817
+ SmdChipLead,
818
+ {
819
+ rotation: Math.PI,
820
+ position: {
821
+ x: bodyWidth / 2 + padContactLength + 0.3,
822
+ y: i * pitch - pinOffsetToCenter,
823
+ z: leadThickness / 2
824
+ },
825
+ width: leadWidth,
826
+ thickness: leadThickness,
827
+ padContactLength,
828
+ bodyDistance: padContactLength + 0.4,
829
+ height: 0.6
830
+ },
831
+ i
832
+ )),
833
+ /* @__PURE__ */ jsx18(
834
+ ChipBody,
835
+ {
836
+ center: { x: 0, y: 0, z: leadThickness / 2 },
837
+ width: bodyWidth,
838
+ length: bodyWidth,
839
+ height: 1.1,
840
+ notchRadius: 0.35,
841
+ heightAboveSurface: 0.1,
842
+ taperRatio: 0.09
843
+ }
844
+ )
845
+ ] });
846
+ };
847
+
848
+ // lib/qfp.tsx
849
+ import { Fragment as Fragment15, jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
789
850
  var QFP = ({
790
851
  pinCount,
791
852
  pitch,
@@ -805,8 +866,8 @@ var QFP = ({
805
866
  const leadHeight = 0.8;
806
867
  const leadThickness = 0.15;
807
868
  const bodyDistance = (fullWidth - bodyWidth) / 2 + 0.2;
808
- return /* @__PURE__ */ jsxs16(Fragment14, { children: [
809
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx18(
869
+ return /* @__PURE__ */ jsxs17(Fragment15, { children: [
870
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx19(
810
871
  SmdChipLead,
811
872
  {
812
873
  position: {
@@ -822,7 +883,7 @@ var QFP = ({
822
883
  },
823
884
  `left-${i}`
824
885
  )),
825
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx18(
886
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx19(
826
887
  SmdChipLead,
827
888
  {
828
889
  rotation: Math.PI,
@@ -839,7 +900,7 @@ var QFP = ({
839
900
  },
840
901
  `right-${i}`
841
902
  )),
842
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx18(
903
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx19(
843
904
  SmdChipLead,
844
905
  {
845
906
  rotation: Math.PI / 2,
@@ -856,7 +917,7 @@ var QFP = ({
856
917
  },
857
918
  `bottom-${i}`
858
919
  )),
859
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx18(
920
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx19(
860
921
  SmdChipLead,
861
922
  {
862
923
  rotation: -Math.PI / 2,
@@ -873,7 +934,7 @@ var QFP = ({
873
934
  },
874
935
  `top-${i}`
875
936
  )),
876
- /* @__PURE__ */ jsx18(
937
+ /* @__PURE__ */ jsx19(
877
938
  ChipBody,
878
939
  {
879
940
  center: { x: 0, y: 0, z: leadThickness / 2 },
@@ -932,7 +993,7 @@ var getLeadWidth = (pinCount, width10) => {
932
993
 
933
994
  // lib/PinRow.tsx
934
995
  import { Cuboid as Cuboid14, Colorize as Colorize6, Hull as Hull2 } from "jscad-fiber";
935
- import { Fragment as Fragment15, jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
996
+ import { Fragment as Fragment16, jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
936
997
  var PinRow = ({
937
998
  numberOfPins,
938
999
  pitch = 2.54,
@@ -943,8 +1004,8 @@ var PinRow = ({
943
1004
  const bodyWidth = numberOfPins * pitch;
944
1005
  const shortSidePinLength = 3;
945
1006
  const xoff = -((numberOfPins - 1) / 2) * pitch;
946
- return /* @__PURE__ */ jsxs17(Fragment15, { children: [
947
- /* @__PURE__ */ jsx19(
1007
+ return /* @__PURE__ */ jsxs18(Fragment16, { children: [
1008
+ /* @__PURE__ */ jsx20(
948
1009
  Cuboid14,
949
1010
  {
950
1011
  color: "#222",
@@ -952,9 +1013,9 @@ var PinRow = ({
952
1013
  center: [0, 0, bodyHeight / 2]
953
1014
  }
954
1015
  ),
955
- Array.from({ length: numberOfPins }, (_, i) => /* @__PURE__ */ jsxs17(Fragment15, { children: [
956
- /* @__PURE__ */ jsx19(Colorize6, { color: "gold", children: /* @__PURE__ */ jsxs17(Hull2, { children: [
957
- /* @__PURE__ */ jsx19(
1016
+ Array.from({ length: numberOfPins }, (_, i) => /* @__PURE__ */ jsxs18(Fragment16, { children: [
1017
+ /* @__PURE__ */ jsx20(Colorize6, { color: "gold", children: /* @__PURE__ */ jsxs18(Hull2, { children: [
1018
+ /* @__PURE__ */ jsx20(
958
1019
  Cuboid14,
959
1020
  {
960
1021
  color: "gold",
@@ -966,7 +1027,7 @@ var PinRow = ({
966
1027
  ]
967
1028
  }
968
1029
  ),
969
- /* @__PURE__ */ jsx19(
1030
+ /* @__PURE__ */ jsx20(
970
1031
  Cuboid14,
971
1032
  {
972
1033
  color: "gold",
@@ -979,8 +1040,8 @@ var PinRow = ({
979
1040
  }
980
1041
  )
981
1042
  ] }) }),
982
- /* @__PURE__ */ jsx19(Colorize6, { color: "gold", children: /* @__PURE__ */ jsxs17(Hull2, { children: [
983
- /* @__PURE__ */ jsx19(
1043
+ /* @__PURE__ */ jsx20(Colorize6, { color: "gold", children: /* @__PURE__ */ jsxs18(Hull2, { children: [
1044
+ /* @__PURE__ */ jsx20(
984
1045
  Cuboid14,
985
1046
  {
986
1047
  color: "gold",
@@ -988,7 +1049,7 @@ var PinRow = ({
988
1049
  center: [xoff + i * pitch, 0, -longSidePinLength / 2 * 0.9]
989
1050
  }
990
1051
  ),
991
- /* @__PURE__ */ jsx19(
1052
+ /* @__PURE__ */ jsx20(
992
1053
  Cuboid14,
993
1054
  {
994
1055
  color: "gold",
@@ -1096,7 +1157,7 @@ var getQuadPinMap = ({
1096
1157
  };
1097
1158
 
1098
1159
  // lib/qfn.tsx
1099
- import { Fragment as Fragment16, jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
1160
+ import { Fragment as Fragment17, jsx as jsx21, jsxs as jsxs19 } from "react/jsx-runtime";
1100
1161
  var QFN = ({
1101
1162
  num_pins = 16,
1102
1163
  bodyWidth = 9,
@@ -1138,15 +1199,15 @@ var QFN = ({
1138
1199
  const pn = pin_map[i + 1];
1139
1200
  pinPositions.push({ pn, x, y, pw, pl });
1140
1201
  }
1141
- return /* @__PURE__ */ jsxs18(Fragment16, { children: [
1142
- /* @__PURE__ */ jsx20(Colorize7, { color: "grey", children: /* @__PURE__ */ jsx20(
1202
+ return /* @__PURE__ */ jsxs19(Fragment17, { children: [
1203
+ /* @__PURE__ */ jsx21(Colorize7, { color: "grey", children: /* @__PURE__ */ jsx21(
1143
1204
  Cuboid15,
1144
1205
  {
1145
1206
  center: { x: 0, y: 0, z: bodyThickness / 2 },
1146
1207
  size: [bodyWidth, bodyLength10, bodyThickness]
1147
1208
  }
1148
1209
  ) }),
1149
- pinPositions.map((p, i) => /* @__PURE__ */ jsx20(
1210
+ pinPositions.map((p, i) => /* @__PURE__ */ jsx21(
1150
1211
  Cuboid15,
1151
1212
  {
1152
1213
  center: { x: p.x, y: p.y, z: thermalPadThickness / 2 },
@@ -1154,7 +1215,7 @@ var QFN = ({
1154
1215
  },
1155
1216
  i
1156
1217
  )),
1157
- thermalPadSize?.length !== void 0 && thermalPadSize?.width !== void 0 && /* @__PURE__ */ jsx20(
1218
+ thermalPadSize?.length !== void 0 && thermalPadSize?.width !== void 0 && /* @__PURE__ */ jsx21(
1158
1219
  Cuboid15,
1159
1220
  {
1160
1221
  center: { x: 0, y: 0, z: thermalPadThickness / 2 },
@@ -1170,7 +1231,7 @@ var QFN = ({
1170
1231
  var qfn_default = QFN;
1171
1232
 
1172
1233
  // lib/SOT-235.tsx
1173
- import { Fragment as Fragment17, jsx as jsx21, jsxs as jsxs19 } from "react/jsx-runtime";
1234
+ import { Fragment as Fragment18, jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
1174
1235
  var SOT235 = () => {
1175
1236
  const fullWidth = 2.8;
1176
1237
  const bodyWidth = 1.6;
@@ -1182,8 +1243,8 @@ var SOT235 = () => {
1182
1243
  const padContactLength = 0.5;
1183
1244
  const padPitch = 0.95;
1184
1245
  const extendedBodyDistance = fullWidth - bodyWidth;
1185
- return /* @__PURE__ */ jsxs19(Fragment17, { children: [
1186
- /* @__PURE__ */ jsx21(
1246
+ return /* @__PURE__ */ jsxs20(Fragment18, { children: [
1247
+ /* @__PURE__ */ jsx22(
1187
1248
  SmdChipLead,
1188
1249
  {
1189
1250
  rotation: Math.PI,
@@ -1200,7 +1261,7 @@ var SOT235 = () => {
1200
1261
  },
1201
1262
  1
1202
1263
  ),
1203
- /* @__PURE__ */ jsx21(
1264
+ /* @__PURE__ */ jsx22(
1204
1265
  SmdChipLead,
1205
1266
  {
1206
1267
  rotation: Math.PI,
@@ -1217,7 +1278,7 @@ var SOT235 = () => {
1217
1278
  },
1218
1279
  2
1219
1280
  ),
1220
- /* @__PURE__ */ jsx21(
1281
+ /* @__PURE__ */ jsx22(
1221
1282
  SmdChipLead,
1222
1283
  {
1223
1284
  position: {
@@ -1233,7 +1294,7 @@ var SOT235 = () => {
1233
1294
  },
1234
1295
  3
1235
1296
  ),
1236
- /* @__PURE__ */ jsx21(
1297
+ /* @__PURE__ */ jsx22(
1237
1298
  SmdChipLead,
1238
1299
  {
1239
1300
  position: {
@@ -1249,7 +1310,7 @@ var SOT235 = () => {
1249
1310
  },
1250
1311
  1
1251
1312
  ),
1252
- /* @__PURE__ */ jsx21(
1313
+ /* @__PURE__ */ jsx22(
1253
1314
  SmdChipLead,
1254
1315
  {
1255
1316
  position: {
@@ -1265,7 +1326,7 @@ var SOT235 = () => {
1265
1326
  },
1266
1327
  2
1267
1328
  ),
1268
- /* @__PURE__ */ jsx21(
1329
+ /* @__PURE__ */ jsx22(
1269
1330
  ChipBody,
1270
1331
  {
1271
1332
  center: { x: 0, y: 0, z: 0 },
@@ -1280,7 +1341,7 @@ var SOT_235_default = SOT235;
1280
1341
 
1281
1342
  // lib/FemaleHeader.tsx
1282
1343
  import { Cuboid as Cuboid16, Colorize as Colorize8, Hull as Hull3, Subtract as Subtract3, Cylinder as Cylinder4 } from "jscad-fiber";
1283
- import { Fragment as Fragment18, jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
1344
+ import { Fragment as Fragment19, jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
1284
1345
  var FemaleHeader = ({
1285
1346
  numberOfPins,
1286
1347
  pitch = 2.54,
@@ -1294,8 +1355,8 @@ var FemaleHeader = ({
1294
1355
  const bodyWidth = (numberOfPins - 1) * pitch + outerDiameter + pitch / 2;
1295
1356
  const gapWidth = pinThickness * 1.6;
1296
1357
  const xoff = -((numberOfPins - 1) / 2) * pitch;
1297
- const Body = /* @__PURE__ */ jsx22(Colorize8, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs20(Subtract3, { children: [
1298
- /* @__PURE__ */ jsx22(
1358
+ const Body = /* @__PURE__ */ jsx23(Colorize8, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs21(Subtract3, { children: [
1359
+ /* @__PURE__ */ jsx23(
1299
1360
  Cuboid16,
1300
1361
  {
1301
1362
  color: "#000",
@@ -1305,7 +1366,7 @@ var FemaleHeader = ({
1305
1366
  ),
1306
1367
  Array.from(
1307
1368
  { length: numberOfPins },
1308
- (_, i) => innerDiameter ? /* @__PURE__ */ jsx22(
1369
+ (_, i) => innerDiameter ? /* @__PURE__ */ jsx23(
1309
1370
  Cylinder4,
1310
1371
  {
1311
1372
  height: bodyHeight + 0.1,
@@ -1314,7 +1375,7 @@ var FemaleHeader = ({
1314
1375
  color: "#222"
1315
1376
  },
1316
1377
  i
1317
- ) : /* @__PURE__ */ jsx22(
1378
+ ) : /* @__PURE__ */ jsx23(
1318
1379
  Cuboid16,
1319
1380
  {
1320
1381
  size: [gapWidth, gapWidth, bodyHeight],
@@ -1324,11 +1385,11 @@ var FemaleHeader = ({
1324
1385
  )
1325
1386
  )
1326
1387
  ] }) });
1327
- return /* @__PURE__ */ jsxs20(Fragment18, { children: [
1388
+ return /* @__PURE__ */ jsxs21(Fragment19, { children: [
1328
1389
  Body,
1329
- Array.from({ length: numberOfPins }, (_, i) => /* @__PURE__ */ jsxs20(Colorize8, { color: "silver", children: [
1330
- /* @__PURE__ */ jsxs20(Hull3, { children: [
1331
- /* @__PURE__ */ jsx22(
1390
+ Array.from({ length: numberOfPins }, (_, i) => /* @__PURE__ */ jsxs21(Colorize8, { color: "silver", children: [
1391
+ /* @__PURE__ */ jsxs21(Hull3, { children: [
1392
+ /* @__PURE__ */ jsx23(
1332
1393
  Cuboid16,
1333
1394
  {
1334
1395
  color: "silver",
@@ -1336,7 +1397,7 @@ var FemaleHeader = ({
1336
1397
  center: [xoff + i * pitch, 0, -legsLength / 2 * 0.9]
1337
1398
  }
1338
1399
  ),
1339
- /* @__PURE__ */ jsx22(
1400
+ /* @__PURE__ */ jsx23(
1340
1401
  Cuboid16,
1341
1402
  {
1342
1403
  color: "silver",
@@ -1345,7 +1406,7 @@ var FemaleHeader = ({
1345
1406
  }
1346
1407
  )
1347
1408
  ] }),
1348
- /* @__PURE__ */ jsx22(
1409
+ /* @__PURE__ */ jsx23(
1349
1410
  Cuboid16,
1350
1411
  {
1351
1412
  color: "silver",
@@ -1367,7 +1428,7 @@ import {
1367
1428
  RoundedCuboid,
1368
1429
  Translate as Translate8
1369
1430
  } from "jscad-fiber";
1370
- import { Fragment as Fragment19, jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
1431
+ import { Fragment as Fragment20, jsx as jsx24, jsxs as jsxs22 } from "react/jsx-runtime";
1371
1432
  var PushButton = ({
1372
1433
  width: width10,
1373
1434
  length,
@@ -1377,8 +1438,8 @@ var PushButton = ({
1377
1438
  const bodyLength10 = length;
1378
1439
  const bodyHeight = width10 * 0.7;
1379
1440
  const legWidth = innerDiameter / 2.5;
1380
- return /* @__PURE__ */ jsxs21(Fragment19, { children: [
1381
- /* @__PURE__ */ jsx23(
1441
+ return /* @__PURE__ */ jsxs22(Fragment20, { children: [
1442
+ /* @__PURE__ */ jsx24(
1382
1443
  RoundedCuboid,
1383
1444
  {
1384
1445
  color: "#1a1a1f",
@@ -1387,7 +1448,7 @@ var PushButton = ({
1387
1448
  roundRadius: 0.3
1388
1449
  }
1389
1450
  ),
1390
- /* @__PURE__ */ jsx23(
1451
+ /* @__PURE__ */ jsx24(
1391
1452
  RoundedCuboid,
1392
1453
  {
1393
1454
  color: "#f2f2f2",
@@ -1396,7 +1457,7 @@ var PushButton = ({
1396
1457
  roundRadius: 0.14
1397
1458
  }
1398
1459
  ),
1399
- /* @__PURE__ */ jsx23(
1460
+ /* @__PURE__ */ jsx24(
1400
1461
  Cylinder5,
1401
1462
  {
1402
1463
  color: "#1a1a1f",
@@ -1405,7 +1466,7 @@ var PushButton = ({
1405
1466
  center: [0, 0, bodyHeight + bodyHeight * 0.8 / 2]
1406
1467
  }
1407
1468
  ),
1408
- /* @__PURE__ */ jsx23(
1469
+ /* @__PURE__ */ jsx24(
1409
1470
  Cylinder5,
1410
1471
  {
1411
1472
  color: "#1a1a1f",
@@ -1418,7 +1479,7 @@ var PushButton = ({
1418
1479
  ]
1419
1480
  }
1420
1481
  ),
1421
- /* @__PURE__ */ jsx23(
1482
+ /* @__PURE__ */ jsx24(
1422
1483
  Cylinder5,
1423
1484
  {
1424
1485
  color: "#1a1a1f",
@@ -1431,7 +1492,7 @@ var PushButton = ({
1431
1492
  ]
1432
1493
  }
1433
1494
  ),
1434
- /* @__PURE__ */ jsx23(
1495
+ /* @__PURE__ */ jsx24(
1435
1496
  Cylinder5,
1436
1497
  {
1437
1498
  color: "#1a1a1f",
@@ -1444,7 +1505,7 @@ var PushButton = ({
1444
1505
  ]
1445
1506
  }
1446
1507
  ),
1447
- /* @__PURE__ */ jsx23(
1508
+ /* @__PURE__ */ jsx24(
1448
1509
  Cylinder5,
1449
1510
  {
1450
1511
  color: "#1a1a1f",
@@ -1457,7 +1518,7 @@ var PushButton = ({
1457
1518
  ]
1458
1519
  }
1459
1520
  ),
1460
- /* @__PURE__ */ jsx23(
1521
+ /* @__PURE__ */ jsx24(
1461
1522
  PushButtonLeg,
1462
1523
  {
1463
1524
  thickness: innerDiameter / 3,
@@ -1471,7 +1532,7 @@ var PushButton = ({
1471
1532
  }
1472
1533
  }
1473
1534
  ),
1474
- /* @__PURE__ */ jsx23(
1535
+ /* @__PURE__ */ jsx24(
1475
1536
  PushButtonLeg,
1476
1537
  {
1477
1538
  thickness: innerDiameter / 3,
@@ -1486,7 +1547,7 @@ var PushButton = ({
1486
1547
  rotation: Math.PI
1487
1548
  }
1488
1549
  ),
1489
- /* @__PURE__ */ jsx23(
1550
+ /* @__PURE__ */ jsx24(
1490
1551
  PushButtonLeg,
1491
1552
  {
1492
1553
  thickness: innerDiameter / 3,
@@ -1497,7 +1558,7 @@ var PushButton = ({
1497
1558
  rotation: Math.PI
1498
1559
  }
1499
1560
  ),
1500
- /* @__PURE__ */ jsx23(
1561
+ /* @__PURE__ */ jsx24(
1501
1562
  PushButtonLeg,
1502
1563
  {
1503
1564
  thickness: innerDiameter / 3,
@@ -1529,7 +1590,7 @@ var PushButtonLeg = (props) => {
1529
1590
  [0, 0]
1530
1591
  ];
1531
1592
  const polygon = getExpandedStroke(points, thickness);
1532
- return /* @__PURE__ */ jsx23(Colorize9, { color: "#f2f2f2", children: /* @__PURE__ */ jsx23(
1593
+ return /* @__PURE__ */ jsx24(Colorize9, { color: "#f2f2f2", children: /* @__PURE__ */ jsx24(
1533
1594
  Translate8,
1534
1595
  {
1535
1596
  offset: {
@@ -1537,13 +1598,13 @@ var PushButtonLeg = (props) => {
1537
1598
  y: position?.y || 0,
1538
1599
  z: position?.z || 0
1539
1600
  },
1540
- children: /* @__PURE__ */ jsx23(Rotate5, { rotation: [0, 55, rotation], children: /* @__PURE__ */ jsx23(ExtrudeLinear3, { height: width10, children: /* @__PURE__ */ jsx23(Polygon3, { points: polygon.map((p) => [p.y, p.x]) }) }) })
1601
+ children: /* @__PURE__ */ jsx24(Rotate5, { rotation: [0, 55, rotation], children: /* @__PURE__ */ jsx24(ExtrudeLinear3, { height: width10, children: /* @__PURE__ */ jsx24(Polygon3, { points: polygon.map((p) => [p.y, p.x]) }) }) })
1541
1602
  }
1542
1603
  ) });
1543
1604
  };
1544
1605
 
1545
1606
  // lib/SOIC.tsx
1546
- import { Fragment as Fragment20, jsx as jsx24, jsxs as jsxs22 } from "react/jsx-runtime";
1607
+ import { Fragment as Fragment21, jsx as jsx25, jsxs as jsxs23 } from "react/jsx-runtime";
1547
1608
  var SOIC = ({
1548
1609
  pinCount,
1549
1610
  leadLength,
@@ -1559,8 +1620,8 @@ var SOIC = ({
1559
1620
  const leadBodyOffset = leadLength * 0;
1560
1621
  const fullLength10 = pitch * (sidePinCount - 1) + leadWidth + 0.2;
1561
1622
  const bodyWidthAdjusted = bodyWidth * 0.55;
1562
- return /* @__PURE__ */ jsxs22(Fragment20, { children: [
1563
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx24(
1623
+ return /* @__PURE__ */ jsxs23(Fragment21, { children: [
1624
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx25(
1564
1625
  SmdChipLead,
1565
1626
  {
1566
1627
  position: {
@@ -1576,7 +1637,7 @@ var SOIC = ({
1576
1637
  },
1577
1638
  i
1578
1639
  )),
1579
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx24(
1640
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx25(
1580
1641
  SmdChipLead,
1581
1642
  {
1582
1643
  rotation: Math.PI,
@@ -1593,7 +1654,7 @@ var SOIC = ({
1593
1654
  },
1594
1655
  i
1595
1656
  )),
1596
- /* @__PURE__ */ jsx24(
1657
+ /* @__PURE__ */ jsx25(
1597
1658
  ChipBody,
1598
1659
  {
1599
1660
  center: { x: 0, y: 0, z: leadThickness / 2 },
@@ -1606,7 +1667,7 @@ var SOIC = ({
1606
1667
  };
1607
1668
 
1608
1669
  // lib/VSSOP.tsx
1609
- import { Fragment as Fragment21, jsx as jsx25, jsxs as jsxs23 } from "react/jsx-runtime";
1670
+ import { Fragment as Fragment22, jsx as jsx26, jsxs as jsxs24 } from "react/jsx-runtime";
1610
1671
  var VSSOP = ({
1611
1672
  pinCount,
1612
1673
  pitch,
@@ -1636,8 +1697,8 @@ var VSSOP = ({
1636
1697
  const componentFullWidth = 4.5;
1637
1698
  const leadBodyDistance = (componentFullWidth - _bodyWidth) / 2;
1638
1699
  const padContactLength = leadBodyDistance * 0.5;
1639
- return /* @__PURE__ */ jsxs23(Fragment21, { children: [
1640
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx25(
1700
+ return /* @__PURE__ */ jsxs24(Fragment22, { children: [
1701
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx26(
1641
1702
  SmdChipLead,
1642
1703
  {
1643
1704
  position: {
@@ -1653,7 +1714,7 @@ var VSSOP = ({
1653
1714
  },
1654
1715
  `left-${i}`
1655
1716
  )),
1656
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx25(
1717
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx26(
1657
1718
  SmdChipLead,
1658
1719
  {
1659
1720
  rotation: Math.PI,
@@ -1670,7 +1731,7 @@ var VSSOP = ({
1670
1731
  },
1671
1732
  `right-${i}`
1672
1733
  )),
1673
- /* @__PURE__ */ jsx25(
1734
+ /* @__PURE__ */ jsx26(
1674
1735
  ChipBody,
1675
1736
  {
1676
1737
  center: { x: 0, y: 0, z: leadThickness / 2 },
@@ -1684,7 +1745,7 @@ var VSSOP = ({
1684
1745
 
1685
1746
  // lib/SOD523.tsx
1686
1747
  import { Colorize as Colorize10, Cuboid as Cuboid18, Hull as Hull4, Translate as Translate9, Union as Union5 } from "jscad-fiber";
1687
- import { Fragment as Fragment22, jsx as jsx26, jsxs as jsxs24 } from "react/jsx-runtime";
1748
+ import { Fragment as Fragment23, jsx as jsx27, jsxs as jsxs25 } from "react/jsx-runtime";
1688
1749
  var SOD523 = () => {
1689
1750
  const fullWidth = 2.15;
1690
1751
  const bodyLength10 = 0.8;
@@ -1697,8 +1758,8 @@ var SOD523 = () => {
1697
1758
  const rightPadCenterX = bodyWidth / 2 - padLength / 2 + 0.15;
1698
1759
  const taperOffset = 0.2;
1699
1760
  const straightHeight = bodyHeight * 0.5;
1700
- return /* @__PURE__ */ jsxs24(Fragment22, { children: [
1701
- /* @__PURE__ */ jsx26(
1761
+ return /* @__PURE__ */ jsxs25(Fragment23, { children: [
1762
+ /* @__PURE__ */ jsx27(
1702
1763
  Cuboid18,
1703
1764
  {
1704
1765
  color: "#ccc",
@@ -1706,7 +1767,7 @@ var SOD523 = () => {
1706
1767
  center: [leftPadCenterX, 0, padThickness / 2]
1707
1768
  }
1708
1769
  ),
1709
- /* @__PURE__ */ jsx26(
1770
+ /* @__PURE__ */ jsx27(
1710
1771
  Cuboid18,
1711
1772
  {
1712
1773
  color: "#ccc",
@@ -1714,11 +1775,11 @@ var SOD523 = () => {
1714
1775
  center: [rightPadCenterX, 0, padThickness / 2]
1715
1776
  }
1716
1777
  ),
1717
- /* @__PURE__ */ jsx26(Colorize10, { color: "#222", children: /* @__PURE__ */ jsxs24(Union5, { children: [
1718
- /* @__PURE__ */ jsx26(Translate9, { z: straightHeight / 2, children: /* @__PURE__ */ jsx26(Cuboid18, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
1719
- /* @__PURE__ */ jsxs24(Hull4, { children: [
1720
- /* @__PURE__ */ jsx26(Translate9, { z: straightHeight, children: /* @__PURE__ */ jsx26(Cuboid18, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1721
- /* @__PURE__ */ jsx26(Translate9, { z: bodyHeight, children: /* @__PURE__ */ jsx26(
1778
+ /* @__PURE__ */ jsx27(Colorize10, { color: "#222", children: /* @__PURE__ */ jsxs25(Union5, { children: [
1779
+ /* @__PURE__ */ jsx27(Translate9, { z: straightHeight / 2, children: /* @__PURE__ */ jsx27(Cuboid18, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
1780
+ /* @__PURE__ */ jsxs25(Hull4, { children: [
1781
+ /* @__PURE__ */ jsx27(Translate9, { z: straightHeight, children: /* @__PURE__ */ jsx27(Cuboid18, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1782
+ /* @__PURE__ */ jsx27(Translate9, { z: bodyHeight, children: /* @__PURE__ */ jsx27(
1722
1783
  Cuboid18,
1723
1784
  {
1724
1785
  size: [bodyWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
@@ -1731,7 +1792,7 @@ var SOD523 = () => {
1731
1792
 
1732
1793
  // lib/SMA.tsx
1733
1794
  import { Cuboid as Cuboid19, Colorize as Colorize11, Union as Union6, Hull as Hull5, Translate as Translate10 } from "jscad-fiber";
1734
- import { Fragment as Fragment23, jsx as jsx27, jsxs as jsxs25 } from "react/jsx-runtime";
1795
+ import { Fragment as Fragment24, jsx as jsx28, jsxs as jsxs26 } from "react/jsx-runtime";
1735
1796
  var SMA = () => {
1736
1797
  const bodyWidth = 4.4;
1737
1798
  const bodyLength10 = 3.4;
@@ -1742,19 +1803,19 @@ var SMA = () => {
1742
1803
  const leadHeight = 1.14;
1743
1804
  const taperOffset = 0.4;
1744
1805
  const straightHeight = bodyHeight * 0.5;
1745
- const Body = /* @__PURE__ */ jsx27(Colorize11, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs25(Union6, { children: [
1746
- /* @__PURE__ */ jsxs25(Hull5, { children: [
1747
- /* @__PURE__ */ jsx27(Translate10, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx27(
1806
+ const Body = /* @__PURE__ */ jsx28(Colorize11, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs26(Union6, { children: [
1807
+ /* @__PURE__ */ jsxs26(Hull5, { children: [
1808
+ /* @__PURE__ */ jsx28(Translate10, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx28(
1748
1809
  Cuboid19,
1749
1810
  {
1750
1811
  size: [bodyWidth - taperOffset, bodyLength10 - taperOffset, 0.03]
1751
1812
  }
1752
1813
  ) }),
1753
- /* @__PURE__ */ jsx27(Translate10, { z: straightHeight, children: /* @__PURE__ */ jsx27(Cuboid19, { size: [bodyWidth, bodyLength10, 0.01] }) })
1814
+ /* @__PURE__ */ jsx28(Translate10, { z: straightHeight, children: /* @__PURE__ */ jsx28(Cuboid19, { size: [bodyWidth, bodyLength10, 0.01] }) })
1754
1815
  ] }),
1755
- /* @__PURE__ */ jsxs25(Hull5, { children: [
1756
- /* @__PURE__ */ jsx27(Translate10, { z: straightHeight, children: /* @__PURE__ */ jsx27(Cuboid19, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1757
- /* @__PURE__ */ jsx27(Translate10, { z: bodyHeight, children: /* @__PURE__ */ jsx27(
1816
+ /* @__PURE__ */ jsxs26(Hull5, { children: [
1817
+ /* @__PURE__ */ jsx28(Translate10, { z: straightHeight, children: /* @__PURE__ */ jsx28(Cuboid19, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1818
+ /* @__PURE__ */ jsx28(Translate10, { z: bodyHeight, children: /* @__PURE__ */ jsx28(
1758
1819
  Cuboid19,
1759
1820
  {
1760
1821
  size: [bodyWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
@@ -1770,22 +1831,22 @@ var SMA = () => {
1770
1831
  const bodyEdgeX = xDir * (bodyLength10 / 2 - leadThickness / 2);
1771
1832
  const bridgeLength = Math.abs(bodyEdgeX - verticalLeadX);
1772
1833
  const bridgeCenterX = (verticalLeadX + bodyEdgeX) / 2;
1773
- return /* @__PURE__ */ jsx27(Colorize11, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs25(Union6, { children: [
1774
- /* @__PURE__ */ jsx27(
1834
+ return /* @__PURE__ */ jsx28(Colorize11, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs26(Union6, { children: [
1835
+ /* @__PURE__ */ jsx28(
1775
1836
  Cuboid19,
1776
1837
  {
1777
1838
  size: [bodyHeight * 0.8, padWidth, leadThickness],
1778
1839
  center: [lowerPadX, 0, leadThickness / 2]
1779
1840
  }
1780
1841
  ),
1781
- /* @__PURE__ */ jsx27(
1842
+ /* @__PURE__ */ jsx28(
1782
1843
  Cuboid19,
1783
1844
  {
1784
1845
  size: [leadThickness, padWidth, leadHeight],
1785
1846
  center: [verticalLeadX, 0, leadHeight / 2 + leadThickness]
1786
1847
  }
1787
1848
  ),
1788
- /* @__PURE__ */ jsx27(
1849
+ /* @__PURE__ */ jsx28(
1789
1850
  Cuboid19,
1790
1851
  {
1791
1852
  size: [bridgeLength, padWidth, leadThickness],
@@ -1794,16 +1855,16 @@ var SMA = () => {
1794
1855
  )
1795
1856
  ] }) });
1796
1857
  };
1797
- return /* @__PURE__ */ jsxs25(Fragment23, { children: [
1798
- /* @__PURE__ */ jsx27(Lead, { xDir: 1 }),
1799
- /* @__PURE__ */ jsx27(Lead, { xDir: -1 }),
1858
+ return /* @__PURE__ */ jsxs26(Fragment24, { children: [
1859
+ /* @__PURE__ */ jsx28(Lead, { xDir: 1 }),
1860
+ /* @__PURE__ */ jsx28(Lead, { xDir: -1 }),
1800
1861
  Body
1801
1862
  ] });
1802
1863
  };
1803
1864
 
1804
1865
  // lib/SMB.tsx
1805
1866
  import { Cuboid as Cuboid20, Colorize as Colorize12, Union as Union7, Hull as Hull6, Translate as Translate11 } from "jscad-fiber";
1806
- import { Fragment as Fragment24, jsx as jsx28, jsxs as jsxs26 } from "react/jsx-runtime";
1867
+ import { Fragment as Fragment25, jsx as jsx29, jsxs as jsxs27 } from "react/jsx-runtime";
1807
1868
  var SMB = () => {
1808
1869
  const bodyWidth = 4.4;
1809
1870
  const bodyLength10 = 3.4;
@@ -1814,19 +1875,19 @@ var SMB = () => {
1814
1875
  const leadHeight = 1.14;
1815
1876
  const taperOffset = 0.4;
1816
1877
  const straightHeight = bodyHeight * 0.5;
1817
- const Body = /* @__PURE__ */ jsx28(Colorize12, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs26(Union7, { children: [
1818
- /* @__PURE__ */ jsxs26(Hull6, { children: [
1819
- /* @__PURE__ */ jsx28(Translate11, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx28(
1878
+ const Body = /* @__PURE__ */ jsx29(Colorize12, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs27(Union7, { children: [
1879
+ /* @__PURE__ */ jsxs27(Hull6, { children: [
1880
+ /* @__PURE__ */ jsx29(Translate11, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx29(
1820
1881
  Cuboid20,
1821
1882
  {
1822
1883
  size: [bodyWidth - taperOffset, bodyLength10 - taperOffset, 0.03]
1823
1884
  }
1824
1885
  ) }),
1825
- /* @__PURE__ */ jsx28(Translate11, { z: straightHeight, children: /* @__PURE__ */ jsx28(Cuboid20, { size: [bodyWidth, bodyLength10, 0.01] }) })
1886
+ /* @__PURE__ */ jsx29(Translate11, { z: straightHeight, children: /* @__PURE__ */ jsx29(Cuboid20, { size: [bodyWidth, bodyLength10, 0.01] }) })
1826
1887
  ] }),
1827
- /* @__PURE__ */ jsxs26(Hull6, { children: [
1828
- /* @__PURE__ */ jsx28(Translate11, { z: straightHeight, children: /* @__PURE__ */ jsx28(Cuboid20, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1829
- /* @__PURE__ */ jsx28(Translate11, { z: bodyHeight, children: /* @__PURE__ */ jsx28(
1888
+ /* @__PURE__ */ jsxs27(Hull6, { children: [
1889
+ /* @__PURE__ */ jsx29(Translate11, { z: straightHeight, children: /* @__PURE__ */ jsx29(Cuboid20, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1890
+ /* @__PURE__ */ jsx29(Translate11, { z: bodyHeight, children: /* @__PURE__ */ jsx29(
1830
1891
  Cuboid20,
1831
1892
  {
1832
1893
  size: [bodyWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
@@ -1842,22 +1903,22 @@ var SMB = () => {
1842
1903
  const bodyEdgeX = xDir * (bodyLength10 / 2 - leadThickness / 2);
1843
1904
  const bridgeLength = Math.abs(bodyEdgeX - verticalLeadX);
1844
1905
  const bridgeCenterX = (verticalLeadX + bodyEdgeX) / 2;
1845
- return /* @__PURE__ */ jsx28(Colorize12, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs26(Union7, { children: [
1846
- /* @__PURE__ */ jsx28(
1906
+ return /* @__PURE__ */ jsx29(Colorize12, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs27(Union7, { children: [
1907
+ /* @__PURE__ */ jsx29(
1847
1908
  Cuboid20,
1848
1909
  {
1849
1910
  size: [bodyHeight * 0.8, padWidth, leadThickness],
1850
1911
  center: [lowerPadX, 0, leadThickness / 2]
1851
1912
  }
1852
1913
  ),
1853
- /* @__PURE__ */ jsx28(
1914
+ /* @__PURE__ */ jsx29(
1854
1915
  Cuboid20,
1855
1916
  {
1856
1917
  size: [leadThickness, padWidth, leadHeight],
1857
1918
  center: [verticalLeadX, 0, leadHeight / 2 + leadThickness]
1858
1919
  }
1859
1920
  ),
1860
- /* @__PURE__ */ jsx28(
1921
+ /* @__PURE__ */ jsx29(
1861
1922
  Cuboid20,
1862
1923
  {
1863
1924
  size: [bridgeLength, padWidth, leadThickness],
@@ -1866,16 +1927,16 @@ var SMB = () => {
1866
1927
  )
1867
1928
  ] }) });
1868
1929
  };
1869
- return /* @__PURE__ */ jsxs26(Fragment24, { children: [
1870
- /* @__PURE__ */ jsx28(Lead, { xDir: 1 }),
1871
- /* @__PURE__ */ jsx28(Lead, { xDir: -1 }),
1930
+ return /* @__PURE__ */ jsxs27(Fragment25, { children: [
1931
+ /* @__PURE__ */ jsx29(Lead, { xDir: 1 }),
1932
+ /* @__PURE__ */ jsx29(Lead, { xDir: -1 }),
1872
1933
  Body
1873
1934
  ] });
1874
1935
  };
1875
1936
 
1876
1937
  // lib/SMC.tsx
1877
1938
  import { Cuboid as Cuboid21, Colorize as Colorize13, Union as Union8, Hull as Hull7, Translate as Translate12 } from "jscad-fiber";
1878
- import { Fragment as Fragment25, jsx as jsx29, jsxs as jsxs27 } from "react/jsx-runtime";
1939
+ import { Fragment as Fragment26, jsx as jsx30, jsxs as jsxs28 } from "react/jsx-runtime";
1879
1940
  var SMC = () => {
1880
1941
  const bodyWidth = 6.8;
1881
1942
  const bodyLength10 = 6;
@@ -1886,19 +1947,19 @@ var SMC = () => {
1886
1947
  const leadHeight = 1.14;
1887
1948
  const taperOffset = 0.4;
1888
1949
  const straightHeight = bodyHeight * 0.5;
1889
- const Body = /* @__PURE__ */ jsx29(Colorize13, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs27(Union8, { children: [
1890
- /* @__PURE__ */ jsxs27(Hull7, { children: [
1891
- /* @__PURE__ */ jsx29(Translate12, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx29(
1950
+ const Body = /* @__PURE__ */ jsx30(Colorize13, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs28(Union8, { children: [
1951
+ /* @__PURE__ */ jsxs28(Hull7, { children: [
1952
+ /* @__PURE__ */ jsx30(Translate12, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx30(
1892
1953
  Cuboid21,
1893
1954
  {
1894
1955
  size: [bodyWidth - taperOffset, bodyLength10 - taperOffset, 0.03]
1895
1956
  }
1896
1957
  ) }),
1897
- /* @__PURE__ */ jsx29(Translate12, { z: straightHeight, children: /* @__PURE__ */ jsx29(Cuboid21, { size: [bodyWidth, bodyLength10, 0.01] }) })
1958
+ /* @__PURE__ */ jsx30(Translate12, { z: straightHeight, children: /* @__PURE__ */ jsx30(Cuboid21, { size: [bodyWidth, bodyLength10, 0.01] }) })
1898
1959
  ] }),
1899
- /* @__PURE__ */ jsxs27(Hull7, { children: [
1900
- /* @__PURE__ */ jsx29(Translate12, { z: straightHeight, children: /* @__PURE__ */ jsx29(Cuboid21, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1901
- /* @__PURE__ */ jsx29(Translate12, { z: bodyHeight, children: /* @__PURE__ */ jsx29(
1960
+ /* @__PURE__ */ jsxs28(Hull7, { children: [
1961
+ /* @__PURE__ */ jsx30(Translate12, { z: straightHeight, children: /* @__PURE__ */ jsx30(Cuboid21, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1962
+ /* @__PURE__ */ jsx30(Translate12, { z: bodyHeight, children: /* @__PURE__ */ jsx30(
1902
1963
  Cuboid21,
1903
1964
  {
1904
1965
  size: [bodyWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
@@ -1914,22 +1975,22 @@ var SMC = () => {
1914
1975
  const bodyEdgeX = xDir * (bodyLength10 / 2 - leadThickness / 2);
1915
1976
  const bridgeLength = Math.abs(bodyEdgeX - verticalLeadX);
1916
1977
  const bridgeCenterX = (verticalLeadX + bodyEdgeX) / 2;
1917
- return /* @__PURE__ */ jsx29(Colorize13, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs27(Union8, { children: [
1918
- /* @__PURE__ */ jsx29(
1978
+ return /* @__PURE__ */ jsx30(Colorize13, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs28(Union8, { children: [
1979
+ /* @__PURE__ */ jsx30(
1919
1980
  Cuboid21,
1920
1981
  {
1921
1982
  size: [bodyHeight * 0.8, padWidth, leadThickness],
1922
1983
  center: [lowerPadX, 0, leadThickness / 2]
1923
1984
  }
1924
1985
  ),
1925
- /* @__PURE__ */ jsx29(
1986
+ /* @__PURE__ */ jsx30(
1926
1987
  Cuboid21,
1927
1988
  {
1928
1989
  size: [leadThickness, padWidth, leadHeight],
1929
1990
  center: [verticalLeadX, 0, leadHeight / 2 + leadThickness]
1930
1991
  }
1931
1992
  ),
1932
- /* @__PURE__ */ jsx29(
1993
+ /* @__PURE__ */ jsx30(
1933
1994
  Cuboid21,
1934
1995
  {
1935
1996
  size: [bridgeLength, padWidth, leadThickness],
@@ -1938,16 +1999,16 @@ var SMC = () => {
1938
1999
  )
1939
2000
  ] }) });
1940
2001
  };
1941
- return /* @__PURE__ */ jsxs27(Fragment25, { children: [
1942
- /* @__PURE__ */ jsx29(Lead, { xDir: 1 }),
1943
- /* @__PURE__ */ jsx29(Lead, { xDir: -1 }),
2002
+ return /* @__PURE__ */ jsxs28(Fragment26, { children: [
2003
+ /* @__PURE__ */ jsx30(Lead, { xDir: 1 }),
2004
+ /* @__PURE__ */ jsx30(Lead, { xDir: -1 }),
1944
2005
  Body
1945
2006
  ] });
1946
2007
  };
1947
2008
 
1948
2009
  // lib/SMF.tsx
1949
2010
  import { Colorize as Colorize14, Cuboid as Cuboid22, Hull as Hull8, Translate as Translate13, Union as Union9 } from "jscad-fiber";
1950
- import { Fragment as Fragment26, jsx as jsx30, jsxs as jsxs28 } from "react/jsx-runtime";
2011
+ import { Fragment as Fragment27, jsx as jsx31, jsxs as jsxs29 } from "react/jsx-runtime";
1951
2012
  var SMF = () => {
1952
2013
  const fullWidth = 2.9;
1953
2014
  const bodyLength10 = 1.9;
@@ -1960,11 +2021,11 @@ var SMF = () => {
1960
2021
  const rightPadCenterX = 1.3;
1961
2022
  const taperOffset = 0.2;
1962
2023
  const straightHeight = bodyHeight * 0.5;
1963
- const Body = /* @__PURE__ */ jsx30(Colorize14, { color: "#222", children: /* @__PURE__ */ jsxs28(Union9, { children: [
1964
- /* @__PURE__ */ jsx30(Translate13, { z: straightHeight / 2, children: /* @__PURE__ */ jsx30(Cuboid22, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
1965
- /* @__PURE__ */ jsxs28(Hull8, { children: [
1966
- /* @__PURE__ */ jsx30(Translate13, { z: straightHeight, children: /* @__PURE__ */ jsx30(Cuboid22, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1967
- /* @__PURE__ */ jsx30(Translate13, { z: bodyHeight, children: /* @__PURE__ */ jsx30(
2024
+ const Body = /* @__PURE__ */ jsx31(Colorize14, { color: "#222", children: /* @__PURE__ */ jsxs29(Union9, { children: [
2025
+ /* @__PURE__ */ jsx31(Translate13, { z: straightHeight / 2, children: /* @__PURE__ */ jsx31(Cuboid22, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
2026
+ /* @__PURE__ */ jsxs29(Hull8, { children: [
2027
+ /* @__PURE__ */ jsx31(Translate13, { z: straightHeight, children: /* @__PURE__ */ jsx31(Cuboid22, { size: [bodyWidth, bodyLength10, 0.01] }) }),
2028
+ /* @__PURE__ */ jsx31(Translate13, { z: bodyHeight, children: /* @__PURE__ */ jsx31(
1968
2029
  Cuboid22,
1969
2030
  {
1970
2031
  size: [bodyWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
@@ -1972,8 +2033,8 @@ var SMF = () => {
1972
2033
  ) })
1973
2034
  ] })
1974
2035
  ] }) });
1975
- return /* @__PURE__ */ jsxs28(Fragment26, { children: [
1976
- /* @__PURE__ */ jsx30(
2036
+ return /* @__PURE__ */ jsxs29(Fragment27, { children: [
2037
+ /* @__PURE__ */ jsx31(
1977
2038
  Cuboid22,
1978
2039
  {
1979
2040
  color: "#ccc",
@@ -1981,7 +2042,7 @@ var SMF = () => {
1981
2042
  center: [leftPadCenterX, 0, padThickness / 2]
1982
2043
  }
1983
2044
  ),
1984
- /* @__PURE__ */ jsx30(
2045
+ /* @__PURE__ */ jsx31(
1985
2046
  Cuboid22,
1986
2047
  {
1987
2048
  color: "#ccc",
@@ -1995,7 +2056,7 @@ var SMF = () => {
1995
2056
 
1996
2057
  // lib/sod-123F.tsx
1997
2058
  import { Colorize as Colorize15, Cuboid as Cuboid23, Hull as Hull9, Translate as Translate14, Union as Union10 } from "jscad-fiber";
1998
- import { Fragment as Fragment27, jsx as jsx31, jsxs as jsxs29 } from "react/jsx-runtime";
2059
+ import { Fragment as Fragment28, jsx as jsx32, jsxs as jsxs30 } from "react/jsx-runtime";
1999
2060
  var SOD123F = () => {
2000
2061
  const fullWidth = 2.7;
2001
2062
  const bodyLength10 = 1.6;
@@ -2007,8 +2068,8 @@ var SOD123F = () => {
2007
2068
  const rightPadCenterX = 1.3;
2008
2069
  const taperOffset = 0.2;
2009
2070
  const straightHeight = bodyHeight * 0.5;
2010
- return /* @__PURE__ */ jsxs29(Fragment27, { children: [
2011
- /* @__PURE__ */ jsx31(
2071
+ return /* @__PURE__ */ jsxs30(Fragment28, { children: [
2072
+ /* @__PURE__ */ jsx32(
2012
2073
  Cuboid23,
2013
2074
  {
2014
2075
  color: "#ccc",
@@ -2016,7 +2077,7 @@ var SOD123F = () => {
2016
2077
  center: [leftPadCenterX, 0, padThickness / 2]
2017
2078
  }
2018
2079
  ),
2019
- /* @__PURE__ */ jsx31(
2080
+ /* @__PURE__ */ jsx32(
2020
2081
  Cuboid23,
2021
2082
  {
2022
2083
  color: "#ccc",
@@ -2024,11 +2085,11 @@ var SOD123F = () => {
2024
2085
  center: [rightPadCenterX, 0, padThickness / 2]
2025
2086
  }
2026
2087
  ),
2027
- /* @__PURE__ */ jsx31(Colorize15, { color: "#222", children: /* @__PURE__ */ jsxs29(Union10, { children: [
2028
- /* @__PURE__ */ jsx31(Translate14, { z: straightHeight / 2, children: /* @__PURE__ */ jsx31(Cuboid23, { size: [fullWidth, bodyLength10, straightHeight] }) }),
2029
- /* @__PURE__ */ jsxs29(Hull9, { children: [
2030
- /* @__PURE__ */ jsx31(Translate14, { z: straightHeight, children: /* @__PURE__ */ jsx31(Cuboid23, { size: [fullWidth, bodyLength10, 0.01] }) }),
2031
- /* @__PURE__ */ jsx31(Translate14, { z: bodyHeight, children: /* @__PURE__ */ jsx31(
2088
+ /* @__PURE__ */ jsx32(Colorize15, { color: "#222", children: /* @__PURE__ */ jsxs30(Union10, { children: [
2089
+ /* @__PURE__ */ jsx32(Translate14, { z: straightHeight / 2, children: /* @__PURE__ */ jsx32(Cuboid23, { size: [fullWidth, bodyLength10, straightHeight] }) }),
2090
+ /* @__PURE__ */ jsxs30(Hull9, { children: [
2091
+ /* @__PURE__ */ jsx32(Translate14, { z: straightHeight, children: /* @__PURE__ */ jsx32(Cuboid23, { size: [fullWidth, bodyLength10, 0.01] }) }),
2092
+ /* @__PURE__ */ jsx32(Translate14, { z: bodyHeight, children: /* @__PURE__ */ jsx32(
2032
2093
  Cuboid23,
2033
2094
  {
2034
2095
  size: [fullWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
@@ -2041,7 +2102,7 @@ var SOD123F = () => {
2041
2102
 
2042
2103
  // lib/sod-123FL.tsx
2043
2104
  import { Colorize as Colorize16, Cuboid as Cuboid24, Hull as Hull10, Translate as Translate15, Union as Union11 } from "jscad-fiber";
2044
- import { Fragment as Fragment28, jsx as jsx32, jsxs as jsxs30 } from "react/jsx-runtime";
2105
+ import { Fragment as Fragment29, jsx as jsx33, jsxs as jsxs31 } from "react/jsx-runtime";
2045
2106
  var SOD123FL = () => {
2046
2107
  const fullWidth = 2.75;
2047
2108
  const bodyLength10 = 1.8;
@@ -2053,8 +2114,8 @@ var SOD123FL = () => {
2053
2114
  const rightPadCenterX = fullWidth / 2 - 0.075;
2054
2115
  const taperOffset = 0.4;
2055
2116
  const straightHeight = bodyHeight * 0.2;
2056
- return /* @__PURE__ */ jsxs30(Fragment28, { children: [
2057
- /* @__PURE__ */ jsx32(
2117
+ return /* @__PURE__ */ jsxs31(Fragment29, { children: [
2118
+ /* @__PURE__ */ jsx33(
2058
2119
  Cuboid24,
2059
2120
  {
2060
2121
  color: "#ccc",
@@ -2062,7 +2123,7 @@ var SOD123FL = () => {
2062
2123
  center: [leftPadCenterX, 0, padThickness / 2]
2063
2124
  }
2064
2125
  ),
2065
- /* @__PURE__ */ jsx32(
2126
+ /* @__PURE__ */ jsx33(
2066
2127
  Cuboid24,
2067
2128
  {
2068
2129
  color: "#ccc",
@@ -2070,11 +2131,11 @@ var SOD123FL = () => {
2070
2131
  center: [rightPadCenterX, 0, padThickness / 2]
2071
2132
  }
2072
2133
  ),
2073
- /* @__PURE__ */ jsx32(Colorize16, { color: "#222", children: /* @__PURE__ */ jsxs30(Union11, { children: [
2074
- /* @__PURE__ */ jsx32(Translate15, { z: straightHeight / 2, children: /* @__PURE__ */ jsx32(Cuboid24, { size: [fullWidth, bodyLength10, straightHeight] }) }),
2075
- /* @__PURE__ */ jsxs30(Hull10, { children: [
2076
- /* @__PURE__ */ jsx32(Translate15, { z: straightHeight, children: /* @__PURE__ */ jsx32(Cuboid24, { size: [fullWidth, bodyLength10, 0.01] }) }),
2077
- /* @__PURE__ */ jsx32(Translate15, { z: bodyHeight, children: /* @__PURE__ */ jsx32(
2134
+ /* @__PURE__ */ jsx33(Colorize16, { color: "#222", children: /* @__PURE__ */ jsxs31(Union11, { children: [
2135
+ /* @__PURE__ */ jsx33(Translate15, { z: straightHeight / 2, children: /* @__PURE__ */ jsx33(Cuboid24, { size: [fullWidth, bodyLength10, straightHeight] }) }),
2136
+ /* @__PURE__ */ jsxs31(Hull10, { children: [
2137
+ /* @__PURE__ */ jsx33(Translate15, { z: straightHeight, children: /* @__PURE__ */ jsx33(Cuboid24, { size: [fullWidth, bodyLength10, 0.01] }) }),
2138
+ /* @__PURE__ */ jsx33(Translate15, { z: bodyHeight, children: /* @__PURE__ */ jsx33(
2078
2139
  Cuboid24,
2079
2140
  {
2080
2141
  size: [fullWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
@@ -2082,7 +2143,7 @@ var SOD123FL = () => {
2082
2143
  ) })
2083
2144
  ] })
2084
2145
  ] }) }),
2085
- /* @__PURE__ */ jsx32(
2146
+ /* @__PURE__ */ jsx33(
2086
2147
  Cuboid24,
2087
2148
  {
2088
2149
  color: "#777",
@@ -2095,7 +2156,7 @@ var SOD123FL = () => {
2095
2156
 
2096
2157
  // lib/SOD-923.tsx
2097
2158
  import { Colorize as Colorize17, Cuboid as Cuboid25, Hull as Hull11, Translate as Translate16, Union as Union12 } from "jscad-fiber";
2098
- import { Fragment as Fragment29, jsx as jsx33, jsxs as jsxs31 } from "react/jsx-runtime";
2159
+ import { Fragment as Fragment30, jsx as jsx34, jsxs as jsxs32 } from "react/jsx-runtime";
2099
2160
  var SOD923 = () => {
2100
2161
  const fullWidth = 0.8;
2101
2162
  const bodyLength10 = 0.6;
@@ -2107,8 +2168,8 @@ var SOD923 = () => {
2107
2168
  const rightPadCenterX = fullWidth / 2;
2108
2169
  const taperOffset = 0.1;
2109
2170
  const straightHeight = padThickness;
2110
- return /* @__PURE__ */ jsxs31(Fragment29, { children: [
2111
- /* @__PURE__ */ jsx33(
2171
+ return /* @__PURE__ */ jsxs32(Fragment30, { children: [
2172
+ /* @__PURE__ */ jsx34(
2112
2173
  Cuboid25,
2113
2174
  {
2114
2175
  color: "#ccc",
@@ -2116,7 +2177,7 @@ var SOD923 = () => {
2116
2177
  center: [leftPadCenterX, 0, padThickness / 2]
2117
2178
  }
2118
2179
  ),
2119
- /* @__PURE__ */ jsx33(
2180
+ /* @__PURE__ */ jsx34(
2120
2181
  Cuboid25,
2121
2182
  {
2122
2183
  color: "#ccc",
@@ -2124,11 +2185,11 @@ var SOD923 = () => {
2124
2185
  center: [rightPadCenterX, 0, padThickness / 2]
2125
2186
  }
2126
2187
  ),
2127
- /* @__PURE__ */ jsx33(Colorize17, { color: "#222", children: /* @__PURE__ */ jsxs31(Union12, { children: [
2128
- /* @__PURE__ */ jsx33(Translate16, { z: straightHeight / 2, children: /* @__PURE__ */ jsx33(Cuboid25, { size: [fullWidth, bodyLength10, straightHeight] }) }),
2129
- /* @__PURE__ */ jsxs31(Hull11, { children: [
2130
- /* @__PURE__ */ jsx33(Translate16, { z: straightHeight, children: /* @__PURE__ */ jsx33(Cuboid25, { size: [fullWidth, bodyLength10, 0.01] }) }),
2131
- /* @__PURE__ */ jsx33(Translate16, { z: bodyHeight, children: /* @__PURE__ */ jsx33(
2188
+ /* @__PURE__ */ jsx34(Colorize17, { color: "#222", children: /* @__PURE__ */ jsxs32(Union12, { children: [
2189
+ /* @__PURE__ */ jsx34(Translate16, { z: straightHeight / 2, children: /* @__PURE__ */ jsx34(Cuboid25, { size: [fullWidth, bodyLength10, straightHeight] }) }),
2190
+ /* @__PURE__ */ jsxs32(Hull11, { children: [
2191
+ /* @__PURE__ */ jsx34(Translate16, { z: straightHeight, children: /* @__PURE__ */ jsx34(Cuboid25, { size: [fullWidth, bodyLength10, 0.01] }) }),
2192
+ /* @__PURE__ */ jsx34(Translate16, { z: bodyHeight, children: /* @__PURE__ */ jsx34(
2132
2193
  Cuboid25,
2133
2194
  {
2134
2195
  size: [fullWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
@@ -2140,7 +2201,7 @@ var SOD923 = () => {
2140
2201
  };
2141
2202
 
2142
2203
  // lib/SOT-223.tsx
2143
- import { Fragment as Fragment30, jsx as jsx34, jsxs as jsxs32 } from "react/jsx-runtime";
2204
+ import { Fragment as Fragment31, jsx as jsx35, jsxs as jsxs33 } from "react/jsx-runtime";
2144
2205
  var SOT223 = () => {
2145
2206
  const fullWidth = 6.6;
2146
2207
  const bodyWidth = 3.5;
@@ -2153,8 +2214,8 @@ var SOT223 = () => {
2153
2214
  const padContactLength = 0.5;
2154
2215
  const padPitch = 2.3;
2155
2216
  const extendedBodyDistance = fullWidth - bodyWidth;
2156
- return /* @__PURE__ */ jsxs32(Fragment30, { children: [
2157
- /* @__PURE__ */ jsx34(
2217
+ return /* @__PURE__ */ jsxs33(Fragment31, { children: [
2218
+ /* @__PURE__ */ jsx35(
2158
2219
  SmdChipLead,
2159
2220
  {
2160
2221
  rotation: Math.PI,
@@ -2171,7 +2232,7 @@ var SOT223 = () => {
2171
2232
  },
2172
2233
  4
2173
2234
  ),
2174
- /* @__PURE__ */ jsx34(
2235
+ /* @__PURE__ */ jsx35(
2175
2236
  SmdChipLead,
2176
2237
  {
2177
2238
  position: {
@@ -2187,7 +2248,7 @@ var SOT223 = () => {
2187
2248
  },
2188
2249
  3
2189
2250
  ),
2190
- /* @__PURE__ */ jsx34(
2251
+ /* @__PURE__ */ jsx35(
2191
2252
  SmdChipLead,
2192
2253
  {
2193
2254
  position: {
@@ -2203,7 +2264,7 @@ var SOT223 = () => {
2203
2264
  },
2204
2265
  1
2205
2266
  ),
2206
- /* @__PURE__ */ jsx34(
2267
+ /* @__PURE__ */ jsx35(
2207
2268
  SmdChipLead,
2208
2269
  {
2209
2270
  position: {
@@ -2219,7 +2280,7 @@ var SOT223 = () => {
2219
2280
  },
2220
2281
  2
2221
2282
  ),
2222
- /* @__PURE__ */ jsx34(
2283
+ /* @__PURE__ */ jsx35(
2223
2284
  ChipBody,
2224
2285
  {
2225
2286
  center: { x: 0, y: 0, z: 0 },
@@ -2235,7 +2296,7 @@ var SOT223 = () => {
2235
2296
  };
2236
2297
 
2237
2298
  // lib/tqfp.tsx
2238
- import { Fragment as Fragment31, jsx as jsx35, jsxs as jsxs33 } from "react/jsx-runtime";
2299
+ import { Fragment as Fragment32, jsx as jsx36, jsxs as jsxs34 } from "react/jsx-runtime";
2239
2300
  var TQFP = () => {
2240
2301
  const pinCount = 64;
2241
2302
  const pitch = 0.5;
@@ -2250,8 +2311,8 @@ var TQFP = () => {
2250
2311
  const leadHeight = 0.8;
2251
2312
  const leadThickness = 0.25;
2252
2313
  const bodyDistance = (fullWidth - bodyWidth) / 2 + 0.2;
2253
- return /* @__PURE__ */ jsxs33(Fragment31, { children: [
2254
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx35(
2314
+ return /* @__PURE__ */ jsxs34(Fragment32, { children: [
2315
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx36(
2255
2316
  SmdChipLead,
2256
2317
  {
2257
2318
  position: {
@@ -2267,7 +2328,7 @@ var TQFP = () => {
2267
2328
  },
2268
2329
  `left-${i}`
2269
2330
  )),
2270
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx35(
2331
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx36(
2271
2332
  SmdChipLead,
2272
2333
  {
2273
2334
  rotation: Math.PI,
@@ -2284,7 +2345,7 @@ var TQFP = () => {
2284
2345
  },
2285
2346
  `right-${i}`
2286
2347
  )),
2287
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx35(
2348
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx36(
2288
2349
  SmdChipLead,
2289
2350
  {
2290
2351
  rotation: Math.PI / 2,
@@ -2301,7 +2362,7 @@ var TQFP = () => {
2301
2362
  },
2302
2363
  `bottom-${i}`
2303
2364
  )),
2304
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx35(
2365
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx36(
2305
2366
  SmdChipLead,
2306
2367
  {
2307
2368
  rotation: -Math.PI / 2,
@@ -2318,7 +2379,7 @@ var TQFP = () => {
2318
2379
  },
2319
2380
  `top-${i}`
2320
2381
  )),
2321
- /* @__PURE__ */ jsx35(
2382
+ /* @__PURE__ */ jsx36(
2322
2383
  ChipBody,
2323
2384
  {
2324
2385
  center: { x: 0, y: 0, z: leadThickness / 2 },
@@ -2335,7 +2396,7 @@ var TQFP = () => {
2335
2396
  var tqfp_default = TQFP;
2336
2397
 
2337
2398
  // lib/SOT-323.tsx
2338
- import { Fragment as Fragment32, jsx as jsx36, jsxs as jsxs34 } from "react/jsx-runtime";
2399
+ import { Fragment as Fragment33, jsx as jsx37, jsxs as jsxs35 } from "react/jsx-runtime";
2339
2400
  var SOT323 = () => {
2340
2401
  const fullWidth = 2.05;
2341
2402
  const bodyWidth = 1.25;
@@ -2347,8 +2408,8 @@ var SOT323 = () => {
2347
2408
  const padContactLength = 0.2;
2348
2409
  const padPitch = 0.65;
2349
2410
  const extendedBodyDistance = fullWidth - bodyWidth;
2350
- return /* @__PURE__ */ jsxs34(Fragment32, { children: [
2351
- /* @__PURE__ */ jsx36(
2411
+ return /* @__PURE__ */ jsxs35(Fragment33, { children: [
2412
+ /* @__PURE__ */ jsx37(
2352
2413
  SmdChipLead,
2353
2414
  {
2354
2415
  rotation: Math.PI,
@@ -2365,7 +2426,7 @@ var SOT323 = () => {
2365
2426
  },
2366
2427
  4
2367
2428
  ),
2368
- /* @__PURE__ */ jsx36(
2429
+ /* @__PURE__ */ jsx37(
2369
2430
  SmdChipLead,
2370
2431
  {
2371
2432
  position: {
@@ -2381,7 +2442,7 @@ var SOT323 = () => {
2381
2442
  },
2382
2443
  1
2383
2444
  ),
2384
- /* @__PURE__ */ jsx36(
2445
+ /* @__PURE__ */ jsx37(
2385
2446
  SmdChipLead,
2386
2447
  {
2387
2448
  position: {
@@ -2397,7 +2458,7 @@ var SOT323 = () => {
2397
2458
  },
2398
2459
  2
2399
2460
  ),
2400
- /* @__PURE__ */ jsx36(
2461
+ /* @__PURE__ */ jsx37(
2401
2462
  ChipBody,
2402
2463
  {
2403
2464
  center: { x: 0, y: 0, z: 0 },
@@ -2414,7 +2475,7 @@ var SOT323 = () => {
2414
2475
  };
2415
2476
 
2416
2477
  // lib/lqfp.tsx
2417
- import { Fragment as Fragment33, jsx as jsx37, jsxs as jsxs35 } from "react/jsx-runtime";
2478
+ import { Fragment as Fragment34, jsx as jsx38, jsxs as jsxs36 } from "react/jsx-runtime";
2418
2479
  var LQFP = ({
2419
2480
  pinCount,
2420
2481
  pitch,
@@ -2437,8 +2498,8 @@ var LQFP = ({
2437
2498
  const leadHeight = 0.8;
2438
2499
  const leadThickness = 0.2;
2439
2500
  const bodyDistance = (fullWidth - bodyWidth) / 2 + 0.2;
2440
- return /* @__PURE__ */ jsxs35(Fragment33, { children: [
2441
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx37(
2501
+ return /* @__PURE__ */ jsxs36(Fragment34, { children: [
2502
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx38(
2442
2503
  SmdChipLead,
2443
2504
  {
2444
2505
  position: {
@@ -2454,7 +2515,7 @@ var LQFP = ({
2454
2515
  },
2455
2516
  `left-${i}`
2456
2517
  )),
2457
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx37(
2518
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx38(
2458
2519
  SmdChipLead,
2459
2520
  {
2460
2521
  rotation: Math.PI,
@@ -2471,7 +2532,7 @@ var LQFP = ({
2471
2532
  },
2472
2533
  `right-${i}`
2473
2534
  )),
2474
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx37(
2535
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx38(
2475
2536
  SmdChipLead,
2476
2537
  {
2477
2538
  rotation: Math.PI / 2,
@@ -2488,7 +2549,7 @@ var LQFP = ({
2488
2549
  },
2489
2550
  `bottom-${i}`
2490
2551
  )),
2491
- Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx37(
2552
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx38(
2492
2553
  SmdChipLead,
2493
2554
  {
2494
2555
  rotation: -Math.PI / 2,
@@ -2505,7 +2566,7 @@ var LQFP = ({
2505
2566
  },
2506
2567
  `top-${i}`
2507
2568
  )),
2508
- /* @__PURE__ */ jsx37(
2569
+ /* @__PURE__ */ jsx38(
2509
2570
  ChipBody,
2510
2571
  {
2511
2572
  center: { x: 0, y: 0, z: leadThickness / 2 },
@@ -2527,7 +2588,7 @@ var LQFP = ({
2527
2588
 
2528
2589
  // lib/dfn.tsx
2529
2590
  import { Cuboid as Cuboid26 } from "jscad-fiber";
2530
- import { Fragment as Fragment34, jsx as jsx38, jsxs as jsxs36 } from "react/jsx-runtime";
2591
+ import { Fragment as Fragment35, jsx as jsx39, jsxs as jsxs37 } from "react/jsx-runtime";
2531
2592
  var DFN = ({
2532
2593
  num_pins,
2533
2594
  bodyWidth = 5.3,
@@ -2554,8 +2615,8 @@ var DFN = ({
2554
2615
  const pinNumber = i + 1;
2555
2616
  pinPositions.push({ pinNumber, x, y, padSizeX, padSizeY });
2556
2617
  }
2557
- return /* @__PURE__ */ jsxs36(Fragment34, { children: [
2558
- /* @__PURE__ */ jsx38(
2618
+ return /* @__PURE__ */ jsxs37(Fragment35, { children: [
2619
+ /* @__PURE__ */ jsx39(
2559
2620
  ChipBody,
2560
2621
  {
2561
2622
  center: { x: 0, y: 0, z: 0 },
@@ -2573,7 +2634,7 @@ var DFN = ({
2573
2634
  }
2574
2635
  }
2575
2636
  ),
2576
- pinPositions.map((p, i) => /* @__PURE__ */ jsx38(
2637
+ pinPositions.map((p, i) => /* @__PURE__ */ jsx39(
2577
2638
  Cuboid26,
2578
2639
  {
2579
2640
  center: [p.x, p.y, thermalPadThickness / 2],
@@ -2581,7 +2642,7 @@ var DFN = ({
2581
2642
  },
2582
2643
  i
2583
2644
  )),
2584
- thermalPadSize?.length !== void 0 && thermalPadSize?.width !== void 0 && /* @__PURE__ */ jsx38(
2645
+ thermalPadSize?.length !== void 0 && thermalPadSize?.width !== void 0 && /* @__PURE__ */ jsx39(
2585
2646
  Cuboid26,
2586
2647
  {
2587
2648
  center: [0, 0, thermalPadThickness / 2],
@@ -2597,7 +2658,7 @@ var DFN = ({
2597
2658
 
2598
2659
  // lib/hc49.tsx
2599
2660
  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";
2661
+ import { Fragment as Fragment36, jsx as jsx40, jsxs as jsxs38 } from "react/jsx-runtime";
2601
2662
  var HC49 = ({
2602
2663
  bodyLength: bodyLength10 = 10.2,
2603
2664
  bodyWidth = 4.65,
@@ -2613,10 +2674,10 @@ var HC49 = ({
2613
2674
  const endCenterX = halfLength - endRadius;
2614
2675
  const leadCenterX = leadSpacing / 2;
2615
2676
  const baseHeight = 0.85;
2616
- return /* @__PURE__ */ jsxs37(Fragment35, { children: [
2617
- /* @__PURE__ */ jsxs37(Colorize18, { color, children: [
2618
- /* @__PURE__ */ jsxs37(Hull12, { children: [
2619
- /* @__PURE__ */ jsx39(
2677
+ return /* @__PURE__ */ jsxs38(Fragment36, { children: [
2678
+ /* @__PURE__ */ jsxs38(Colorize18, { color, children: [
2679
+ /* @__PURE__ */ jsxs38(Hull12, { children: [
2680
+ /* @__PURE__ */ jsx40(
2620
2681
  RoundedCylinder,
2621
2682
  {
2622
2683
  height: bodyHeight,
@@ -2625,7 +2686,7 @@ var HC49 = ({
2625
2686
  center: [-endCenterX, 0, bodyHeight]
2626
2687
  }
2627
2688
  ),
2628
- /* @__PURE__ */ jsx39(
2689
+ /* @__PURE__ */ jsx40(
2629
2690
  RoundedCylinder,
2630
2691
  {
2631
2692
  height: bodyHeight,
@@ -2635,8 +2696,8 @@ var HC49 = ({
2635
2696
  }
2636
2697
  )
2637
2698
  ] }),
2638
- /* @__PURE__ */ jsxs37(Hull12, { children: [
2639
- /* @__PURE__ */ jsx39(
2699
+ /* @__PURE__ */ jsxs38(Hull12, { children: [
2700
+ /* @__PURE__ */ jsx40(
2640
2701
  RoundedCylinder,
2641
2702
  {
2642
2703
  height: baseHeight,
@@ -2645,7 +2706,7 @@ var HC49 = ({
2645
2706
  center: [-endCenterX, 0, bodyHeight / 2 + baseHeight / 2]
2646
2707
  }
2647
2708
  ),
2648
- /* @__PURE__ */ jsx39(
2709
+ /* @__PURE__ */ jsx40(
2649
2710
  RoundedCylinder,
2650
2711
  {
2651
2712
  height: baseHeight,
@@ -2656,8 +2717,8 @@ var HC49 = ({
2656
2717
  )
2657
2718
  ] })
2658
2719
  ] }),
2659
- /* @__PURE__ */ jsxs37(Colorize18, { color: leadColor, children: [
2660
- /* @__PURE__ */ jsx39(
2720
+ /* @__PURE__ */ jsxs38(Colorize18, { color: leadColor, children: [
2721
+ /* @__PURE__ */ jsx40(
2661
2722
  Cylinder6,
2662
2723
  {
2663
2724
  height: leadLength + bodyHeight / 2,
@@ -2665,7 +2726,7 @@ var HC49 = ({
2665
2726
  center: [-leadCenterX + 0.06, 0, -(leadLength / 2) + bodyHeight / 2]
2666
2727
  }
2667
2728
  ),
2668
- /* @__PURE__ */ jsx39(
2729
+ /* @__PURE__ */ jsx40(
2669
2730
  Cylinder6,
2670
2731
  {
2671
2732
  height: leadLength + bodyHeight / 2,
@@ -2677,15 +2738,80 @@ var HC49 = ({
2677
2738
  ] });
2678
2739
  };
2679
2740
 
2741
+ // lib/ms012.tsx
2742
+ import { Fragment as Fragment37, jsx as jsx41, jsxs as jsxs39 } from "react/jsx-runtime";
2743
+ var MS012 = ({
2744
+ pinCount,
2745
+ padContactLength = 0.6,
2746
+ leadWidth = 0.41,
2747
+ pitch = 1.27
2748
+ }) => {
2749
+ if (pinCount % 2 !== 0) {
2750
+ throw new Error("MS012 pinCount must be even");
2751
+ }
2752
+ const sidePinCount = pinCount / 2;
2753
+ const bodyWidth = 4.9;
2754
+ const bodyLength10 = 3.9;
2755
+ const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
2756
+ const leadThickness = 0.2;
2757
+ return /* @__PURE__ */ jsxs39(Fragment37, { children: [
2758
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx41(
2759
+ SmdChipLead,
2760
+ {
2761
+ position: {
2762
+ x: -bodyLength10 / 2 - padContactLength - 0.3,
2763
+ y: i * pitch - pinOffsetToCenter,
2764
+ z: leadThickness / 2
2765
+ },
2766
+ width: leadWidth,
2767
+ thickness: leadThickness,
2768
+ padContactLength,
2769
+ bodyDistance: padContactLength + 0.4,
2770
+ height: 0.85
2771
+ },
2772
+ i
2773
+ )),
2774
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx41(
2775
+ SmdChipLead,
2776
+ {
2777
+ rotation: Math.PI,
2778
+ position: {
2779
+ x: bodyLength10 / 2 + padContactLength + 0.3,
2780
+ y: i * pitch - pinOffsetToCenter,
2781
+ z: leadThickness / 2
2782
+ },
2783
+ width: leadWidth,
2784
+ thickness: leadThickness,
2785
+ padContactLength,
2786
+ bodyDistance: padContactLength + 0.4,
2787
+ height: 0.85
2788
+ },
2789
+ `right-${i}`
2790
+ )),
2791
+ /* @__PURE__ */ jsx41(
2792
+ ChipBody,
2793
+ {
2794
+ center: { x: 0, y: 0, z: leadThickness / 2 },
2795
+ width: bodyLength10,
2796
+ length: bodyWidth,
2797
+ height: 1.55,
2798
+ notchPosition: { x: bodyLength10 / 2 - 1, y: bodyWidth / 2 - 1, z: 1.55 },
2799
+ heightAboveSurface: 0.17,
2800
+ taperRatio: 0.09
2801
+ }
2802
+ )
2803
+ ] });
2804
+ };
2805
+
2680
2806
  // lib/Footprinter3d.tsx
2681
- import { jsx as jsx40 } from "react/jsx-runtime";
2807
+ import { jsx as jsx42 } from "react/jsx-runtime";
2682
2808
  var Footprinter3d = ({ footprint }) => {
2683
2809
  const fpJson = fp3.string(footprint).json();
2684
2810
  switch (fpJson.fn) {
2685
2811
  case "dip":
2686
- return /* @__PURE__ */ jsx40(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2812
+ return /* @__PURE__ */ jsx42(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2687
2813
  case "tssop":
2688
- return /* @__PURE__ */ jsx40(
2814
+ return /* @__PURE__ */ jsx42(
2689
2815
  Tssop,
2690
2816
  {
2691
2817
  pinCount: fpJson.num_pins,
@@ -2695,8 +2821,19 @@ var Footprinter3d = ({ footprint }) => {
2695
2821
  bodyWidth: fpJson.w
2696
2822
  }
2697
2823
  );
2824
+ case "msop":
2825
+ return /* @__PURE__ */ jsx42(
2826
+ MSOP,
2827
+ {
2828
+ pinCount: fpJson.num_pins,
2829
+ padContactLength: fpJson.pl,
2830
+ leadWidth: fpJson.pw,
2831
+ pitch: fpJson.p,
2832
+ bodyWidth: fpJson.w
2833
+ }
2834
+ );
2698
2835
  case "vssop":
2699
- return /* @__PURE__ */ jsx40(
2836
+ return /* @__PURE__ */ jsx42(
2700
2837
  VSSOP,
2701
2838
  {
2702
2839
  pinCount: fpJson.num_pins,
@@ -2708,7 +2845,7 @@ var Footprinter3d = ({ footprint }) => {
2708
2845
  }
2709
2846
  );
2710
2847
  case "qfp":
2711
- return /* @__PURE__ */ jsx40(
2848
+ return /* @__PURE__ */ jsx42(
2712
2849
  QFP,
2713
2850
  {
2714
2851
  pinCount: fpJson.num_pins,
@@ -2719,12 +2856,12 @@ var Footprinter3d = ({ footprint }) => {
2719
2856
  }
2720
2857
  );
2721
2858
  case "tqfp":
2722
- return /* @__PURE__ */ jsx40(tqfp_default, {});
2859
+ return /* @__PURE__ */ jsx42(tqfp_default, {});
2723
2860
  case "lqfp":
2724
- return /* @__PURE__ */ jsx40(LQFP, { pinCount: fpJson.num_pins });
2861
+ return /* @__PURE__ */ jsx42(LQFP, { pinCount: fpJson.num_pins });
2725
2862
  case "qfn": {
2726
2863
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
2727
- return /* @__PURE__ */ jsx40(
2864
+ return /* @__PURE__ */ jsx42(
2728
2865
  qfn_default,
2729
2866
  {
2730
2867
  num_pins: fpJson.num_pins,
@@ -2742,7 +2879,7 @@ var Footprinter3d = ({ footprint }) => {
2742
2879
  }
2743
2880
  case "dfn": {
2744
2881
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
2745
- return /* @__PURE__ */ jsx40(
2882
+ return /* @__PURE__ */ jsx42(
2746
2883
  DFN,
2747
2884
  {
2748
2885
  num_pins: fpJson.num_pins,
@@ -2760,39 +2897,39 @@ var Footprinter3d = ({ footprint }) => {
2760
2897
  }
2761
2898
  case "pinrow":
2762
2899
  if (fpJson.male)
2763
- return /* @__PURE__ */ jsx40(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2900
+ return /* @__PURE__ */ jsx42(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2764
2901
  if (fpJson.female)
2765
- return /* @__PURE__ */ jsx40(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2902
+ return /* @__PURE__ */ jsx42(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2766
2903
  case "cap": {
2767
2904
  switch (fpJson.imperial) {
2768
2905
  case "0402":
2769
- return /* @__PURE__ */ jsx40(A0402, { color: "#856c4d" });
2906
+ return /* @__PURE__ */ jsx42(A0402, { color: "#856c4d" });
2770
2907
  case "0603":
2771
- return /* @__PURE__ */ jsx40(A0603, { color: "#856c4d" });
2908
+ return /* @__PURE__ */ jsx42(A0603, { color: "#856c4d" });
2772
2909
  case "0805":
2773
- return /* @__PURE__ */ jsx40(A0805, { color: "#856c4d" });
2910
+ return /* @__PURE__ */ jsx42(A0805, { color: "#856c4d" });
2774
2911
  case "0201":
2775
- return /* @__PURE__ */ jsx40(A0201, { color: "#856c4d" });
2912
+ return /* @__PURE__ */ jsx42(A0201, { color: "#856c4d" });
2776
2913
  case "01005":
2777
- return /* @__PURE__ */ jsx40(A01005, { color: "#856c4d" });
2914
+ return /* @__PURE__ */ jsx42(A01005, { color: "#856c4d" });
2778
2915
  case "1206":
2779
- return /* @__PURE__ */ jsx40(A1206, { color: "#856c4d" });
2916
+ return /* @__PURE__ */ jsx42(A1206, { color: "#856c4d" });
2780
2917
  case "1210":
2781
- return /* @__PURE__ */ jsx40(A1210, { color: "#856c4d" });
2918
+ return /* @__PURE__ */ jsx42(A1210, { color: "#856c4d" });
2782
2919
  case "2010":
2783
- return /* @__PURE__ */ jsx40(A2010, { color: "#856c4d" });
2920
+ return /* @__PURE__ */ jsx42(A2010, { color: "#856c4d" });
2784
2921
  case "2512":
2785
- return /* @__PURE__ */ jsx40(A2512, { color: "#856c4d" });
2922
+ return /* @__PURE__ */ jsx42(A2512, { color: "#856c4d" });
2786
2923
  }
2787
2924
  }
2788
2925
  case "sot235":
2789
- return /* @__PURE__ */ jsx40(SOT_235_default, {});
2926
+ return /* @__PURE__ */ jsx42(SOT_235_default, {});
2790
2927
  case "sot223":
2791
- return /* @__PURE__ */ jsx40(SOT223, {});
2928
+ return /* @__PURE__ */ jsx42(SOT223, {});
2792
2929
  case "sot323":
2793
- return /* @__PURE__ */ jsx40(SOT323, {});
2930
+ return /* @__PURE__ */ jsx42(SOT323, {});
2794
2931
  case "pushbutton":
2795
- return /* @__PURE__ */ jsx40(
2932
+ return /* @__PURE__ */ jsx42(
2796
2933
  PushButton,
2797
2934
  {
2798
2935
  width: fpJson.w,
@@ -2801,7 +2938,7 @@ var Footprinter3d = ({ footprint }) => {
2801
2938
  }
2802
2939
  );
2803
2940
  case "soic":
2804
- return /* @__PURE__ */ jsx40(
2941
+ return /* @__PURE__ */ jsx42(
2805
2942
  SOIC,
2806
2943
  {
2807
2944
  pinCount: fpJson.num_pins,
@@ -2812,51 +2949,61 @@ var Footprinter3d = ({ footprint }) => {
2812
2949
  }
2813
2950
  );
2814
2951
  case "sod523":
2815
- return /* @__PURE__ */ jsx40(SOD523, {});
2952
+ return /* @__PURE__ */ jsx42(SOD523, {});
2816
2953
  case "sma":
2817
- return /* @__PURE__ */ jsx40(SMA, {});
2954
+ return /* @__PURE__ */ jsx42(SMA, {});
2818
2955
  case "smb":
2819
- return /* @__PURE__ */ jsx40(SMB, {});
2956
+ return /* @__PURE__ */ jsx42(SMB, {});
2820
2957
  case "smc":
2821
- return /* @__PURE__ */ jsx40(SMC, {});
2958
+ return /* @__PURE__ */ jsx42(SMC, {});
2822
2959
  case "smf":
2823
- return /* @__PURE__ */ jsx40(SMF, {});
2960
+ return /* @__PURE__ */ jsx42(SMF, {});
2824
2961
  case "sod123f":
2825
- return /* @__PURE__ */ jsx40(SOD123F, {});
2962
+ return /* @__PURE__ */ jsx42(SOD123F, {});
2826
2963
  case "sod123fl":
2827
- return /* @__PURE__ */ jsx40(SOD123FL, {});
2964
+ return /* @__PURE__ */ jsx42(SOD123FL, {});
2828
2965
  case "sod923":
2829
- return /* @__PURE__ */ jsx40(SOD923, {});
2966
+ return /* @__PURE__ */ jsx42(SOD923, {});
2830
2967
  case "hc49":
2831
- return /* @__PURE__ */ jsx40(HC49, {});
2968
+ return /* @__PURE__ */ jsx42(HC49, {});
2969
+ case "ms012":
2970
+ return /* @__PURE__ */ jsx42(
2971
+ MS012,
2972
+ {
2973
+ pinCount: fpJson.num_pins,
2974
+ padContactLength: fpJson.pl,
2975
+ leadWidth: fpJson.pw,
2976
+ pitch: fpJson.p
2977
+ }
2978
+ );
2832
2979
  }
2833
2980
  const colorMatch = footprint.match(/_color\(([^)]+)\)/);
2834
2981
  const color = colorMatch ? colorMatch[1] : void 0;
2835
2982
  switch (fpJson.imperial) {
2836
2983
  case "0402":
2837
- return /* @__PURE__ */ jsx40(A0402, { color });
2984
+ return /* @__PURE__ */ jsx42(A0402, { color });
2838
2985
  case "0603":
2839
- return /* @__PURE__ */ jsx40(A0603, { color });
2986
+ return /* @__PURE__ */ jsx42(A0603, { color });
2840
2987
  case "0805":
2841
- return /* @__PURE__ */ jsx40(A0805, { color });
2988
+ return /* @__PURE__ */ jsx42(A0805, { color });
2842
2989
  case "0201":
2843
- return /* @__PURE__ */ jsx40(A0201, { color });
2990
+ return /* @__PURE__ */ jsx42(A0201, { color });
2844
2991
  case "01005":
2845
- return /* @__PURE__ */ jsx40(A01005, { color });
2992
+ return /* @__PURE__ */ jsx42(A01005, { color });
2846
2993
  case "1206":
2847
- return /* @__PURE__ */ jsx40(A1206, { color });
2994
+ return /* @__PURE__ */ jsx42(A1206, { color });
2848
2995
  case "1210":
2849
- return /* @__PURE__ */ jsx40(A1210, { color });
2996
+ return /* @__PURE__ */ jsx42(A1210, { color });
2850
2997
  case "2010":
2851
- return /* @__PURE__ */ jsx40(A2010, { color });
2998
+ return /* @__PURE__ */ jsx42(A2010, { color });
2852
2999
  case "2512":
2853
- return /* @__PURE__ */ jsx40(A2512, { color });
3000
+ return /* @__PURE__ */ jsx42(A2512, { color });
2854
3001
  }
2855
3002
  return null;
2856
3003
  };
2857
3004
 
2858
3005
  // lib/SOT-23-3P.tsx
2859
- import { Fragment as Fragment36, jsx as jsx41, jsxs as jsxs38 } from "react/jsx-runtime";
3006
+ import { Fragment as Fragment38, jsx as jsx43, jsxs as jsxs40 } from "react/jsx-runtime";
2860
3007
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2861
3008
  const bodyWidth = 1.3;
2862
3009
  const bodyLength10 = 2.9;
@@ -2867,8 +3014,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2867
3014
  const padContactLength = 0.4;
2868
3015
  const padThickness = leadThickness / 2;
2869
3016
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
2870
- return /* @__PURE__ */ jsxs38(Fragment36, { children: [
2871
- /* @__PURE__ */ jsx41(
3017
+ return /* @__PURE__ */ jsxs40(Fragment38, { children: [
3018
+ /* @__PURE__ */ jsx43(
2872
3019
  SmdChipLead,
2873
3020
  {
2874
3021
  rotation: Math.PI,
@@ -2885,7 +3032,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2885
3032
  },
2886
3033
  1
2887
3034
  ),
2888
- /* @__PURE__ */ jsx41(
3035
+ /* @__PURE__ */ jsx43(
2889
3036
  SmdChipLead,
2890
3037
  {
2891
3038
  rotation: Math.PI,
@@ -2902,7 +3049,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2902
3049
  },
2903
3050
  2
2904
3051
  ),
2905
- /* @__PURE__ */ jsx41(
3052
+ /* @__PURE__ */ jsx43(
2906
3053
  SmdChipLead,
2907
3054
  {
2908
3055
  position: {
@@ -2918,7 +3065,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2918
3065
  },
2919
3066
  3
2920
3067
  ),
2921
- /* @__PURE__ */ jsx41(
3068
+ /* @__PURE__ */ jsx43(
2922
3069
  ChipBody,
2923
3070
  {
2924
3071
  center: { x: 0, y: 0, z: 0 },
@@ -2932,7 +3079,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2932
3079
 
2933
3080
  // lib/SOT-563.tsx
2934
3081
  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";
3082
+ import { Fragment as Fragment39, jsx as jsx44, jsxs as jsxs41 } from "react/jsx-runtime";
2936
3083
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2937
3084
  const bodyWidth = 1.2;
2938
3085
  const bodyLength10 = 1.6;
@@ -2942,11 +3089,11 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2942
3089
  const leadHeight = 0.13;
2943
3090
  const leadSpacing = 0.5;
2944
3091
  const bodyZOffset = -0.4;
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] }) }) }) }),
3092
+ return /* @__PURE__ */ jsxs41(Fragment39, { children: [
3093
+ /* @__PURE__ */ jsx44(Rotate6, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx44(Translate17, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx44(Colorize19, { color: "grey", children: /* @__PURE__ */ jsx44(Cuboid27, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
2947
3094
  [-1, 0, 1].flatMap((yOffset, index) => [
2948
3095
  // Left lead
2949
- /* @__PURE__ */ jsx42(
3096
+ /* @__PURE__ */ jsx44(
2950
3097
  Translate17,
2951
3098
  {
2952
3099
  center: [
@@ -2954,16 +3101,16 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2954
3101
  yOffset * leadSpacing,
2955
3102
  leadHeight / 2
2956
3103
  ],
2957
- children: /* @__PURE__ */ jsx42(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
3104
+ children: /* @__PURE__ */ jsx44(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
2958
3105
  },
2959
3106
  `left-${index}`
2960
3107
  ),
2961
3108
  // Right lead
2962
- /* @__PURE__ */ jsx42(
3109
+ /* @__PURE__ */ jsx44(
2963
3110
  Translate17,
2964
3111
  {
2965
3112
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
2966
- children: /* @__PURE__ */ jsx42(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
3113
+ children: /* @__PURE__ */ jsx44(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
2967
3114
  },
2968
3115
  `right-${index}`
2969
3116
  )
@@ -2973,7 +3120,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2973
3120
 
2974
3121
  // lib/SOT-723.tsx
2975
3122
  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";
3123
+ import { Fragment as Fragment40, jsx as jsx45, jsxs as jsxs42 } from "react/jsx-runtime";
2977
3124
  var getCcwSot723Coords = (pn) => {
2978
3125
  if (pn === 1) {
2979
3126
  return { x: 0, y: 0 };
@@ -2991,11 +3138,11 @@ var SOT723 = () => {
2991
3138
  const leadLength = 0.3;
2992
3139
  const leadHeight = 0.1;
2993
3140
  const centerLeadWidth = 0.42;
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] }) }) }) }),
3141
+ return /* @__PURE__ */ jsxs42(Fragment40, { children: [
3142
+ /* @__PURE__ */ jsx45(Rotate7, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx45(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx45(Colorize20, { color: "grey", children: /* @__PURE__ */ jsx45(Cuboid28, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
2996
3143
  [1, 2, 3].map((pn) => {
2997
3144
  const { x, y } = getCcwSot723Coords(pn);
2998
- return /* @__PURE__ */ jsx43(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx43(
3145
+ return /* @__PURE__ */ jsx45(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx45(
2999
3146
  Cuboid28,
3000
3147
  {
3001
3148
  size: [
@@ -3010,7 +3157,7 @@ var SOT723 = () => {
3010
3157
  };
3011
3158
 
3012
3159
  // lib/sod-123.tsx
3013
- import { Fragment as Fragment39, jsx as jsx44, jsxs as jsxs41 } from "react/jsx-runtime";
3160
+ import { Fragment as Fragment41, jsx as jsx46, jsxs as jsxs43 } from "react/jsx-runtime";
3014
3161
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3015
3162
  const bodyWidth = 2.9;
3016
3163
  const bodyLength10 = 1.3;
@@ -3021,8 +3168,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3021
3168
  const padContactLength = 0.4;
3022
3169
  const padThickness = leadThickness / 2;
3023
3170
  const bodyDistance = (fullWidth - bodyWidth) / 2;
3024
- return /* @__PURE__ */ jsxs41(Fragment39, { children: [
3025
- /* @__PURE__ */ jsx44(
3171
+ return /* @__PURE__ */ jsxs43(Fragment41, { children: [
3172
+ /* @__PURE__ */ jsx46(
3026
3173
  SmdChipLead,
3027
3174
  {
3028
3175
  position: {
@@ -3038,7 +3185,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3038
3185
  },
3039
3186
  1
3040
3187
  ),
3041
- /* @__PURE__ */ jsx44(
3188
+ /* @__PURE__ */ jsx46(
3042
3189
  SmdChipLead,
3043
3190
  {
3044
3191
  rotation: Math.PI,
@@ -3055,7 +3202,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
3055
3202
  },
3056
3203
  2
3057
3204
  ),
3058
- /* @__PURE__ */ jsx44(
3205
+ /* @__PURE__ */ jsx46(
3059
3206
  ChipBody,
3060
3207
  {
3061
3208
  center: { x: 0, y: 0, z: 0 },
@@ -3085,6 +3232,8 @@ export {
3085
3232
  Footprinter3d,
3086
3233
  HC49,
3087
3234
  LQFP,
3235
+ MS012,
3236
+ MSOP,
3088
3237
  PinRow,
3089
3238
  QFN,
3090
3239
  QFP,