jscad-electronics 0.0.182 → 0.0.184

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
@@ -896,7 +896,7 @@ var createHexSocketBoltMesh = (input) => {
896
896
  } = hexSocketBoltDimensions[props.metricSize];
897
897
  const { length, showThreads } = props;
898
898
  const segments = 96;
899
- const steps = Math.max(2, Math.ceil(length / pitch * 24));
899
+ const steps = showThreads ? Math.max(2, Math.ceil(length / pitch * 24)) : 2;
900
900
  if (steps > 24e3)
901
901
  throw new Error(
902
902
  "Bolt length exceeds mesh resolution limit (1000 thread turns)"
@@ -932,8 +932,11 @@ var createHexSocketBoltMesh = (input) => {
932
932
  }
933
933
  };
934
934
  let previous = -1;
935
- for (let step = 0; step <= steps; step++) {
936
- const z = -length + length * step / steps;
935
+ const shaftLevels = showThreads ? Array.from(
936
+ { length: steps + 1 },
937
+ (_, step) => -length + length * step / steps
938
+ ) : [-length, -length + tipBevel, 0];
939
+ for (const z of shaftLevels) {
937
940
  const current = ring(z, (angle) => {
938
941
  const phase = ((z / pitch - angle / (2 * Math.PI)) % 1 + 1) % 1;
939
942
  const distance2 = Math.min(phase, 1 - phase);
@@ -1155,7 +1158,11 @@ function SheetMetal({ color = "#737e8f", ...props }) {
1155
1158
  }
1156
1159
 
1157
1160
  // lib/NemaMotor.tsx
1161
+ import jscad3 from "@jscad/modeling";
1162
+
1163
+ // lib/utils/nemaMotorWireGeometry.ts
1158
1164
  import jscad2 from "@jscad/modeling";
1165
+ import { getNemaMotorReferencePoints } from "@tscircuit/modelprinter";
1159
1166
 
1160
1167
  // lib/utils/nemaMotorParameters.ts
1161
1168
  import { mp as mp2, nemaMotorModelPropsSchema } from "@tscircuit/modelprinter";
@@ -1163,6 +1170,66 @@ var resolveNemaMotorProps = nemaMotorModelPropsSchema.parse.bind(
1163
1170
  nemaMotorModelPropsSchema
1164
1171
  );
1165
1172
 
1173
+ // lib/utils/nemaMotorWireGeometry.ts
1174
+ function createNemaMotorWireGeometry(input) {
1175
+ const p = resolveNemaMotorProps(input);
1176
+ if (p.wireConnection === "none") return [];
1177
+ const { position } = getNemaMotorReferencePoints(p).wireside;
1178
+ const angle = p.wireSideAngle * Math.PI / 180;
1179
+ const place = (geometry) => jscad2.transforms.translate(
1180
+ [position.x, position.y, position.z],
1181
+ jscad2.transforms.rotateZ(angle, geometry)
1182
+ );
1183
+ if (p.wireConnection === "stubs") {
1184
+ const colors = [
1185
+ "#d53f3f",
1186
+ "#2463af",
1187
+ "#3b934b",
1188
+ "#252830",
1189
+ "#e5d049",
1190
+ "#eeeeee",
1191
+ "#ce7432",
1192
+ "#803e91"
1193
+ ];
1194
+ return Array.from({ length: p.wireCount }, (_, i) => ({
1195
+ color: colors[i],
1196
+ geometry: place(
1197
+ jscad2.transforms.translate(
1198
+ [
1199
+ (p.wireLength - 0.15) / 2,
1200
+ (i - (p.wireCount - 1) / 2) * p.wireDiameter * 1.5,
1201
+ 0
1202
+ ],
1203
+ jscad2.transforms.rotateY(
1204
+ Math.PI / 2,
1205
+ jscad2.primitives.cylinder({
1206
+ height: p.wireLength + 0.15,
1207
+ radius: p.wireDiameter / 2,
1208
+ segments: 24
1209
+ })
1210
+ )
1211
+ )
1212
+ )
1213
+ }));
1214
+ }
1215
+ const shell = jscad2.booleans.subtract(
1216
+ jscad2.primitives.cuboid({ size: [6.1, 13.9, 4.5], center: [2.95, 0, 0] }),
1217
+ jscad2.primitives.cuboid({ size: [5.5, 12.7, 3.3], center: [3.55, 0, 0] })
1218
+ );
1219
+ return [
1220
+ { color: "#eeeeea", geometry: place(shell) },
1221
+ ...Array.from({ length: 6 }, (_, i) => ({
1222
+ color: "#b8bec6",
1223
+ geometry: place(
1224
+ jscad2.primitives.cuboid({
1225
+ size: [3.4, 0.5, 0.5],
1226
+ center: [1.7, (i - 2.5) * 2, 0]
1227
+ })
1228
+ )
1229
+ }))
1230
+ ];
1231
+ }
1232
+
1166
1233
  // lib/utils/nemaMotorGeometry.ts
1167
1234
  var circle = (radius, x = 0, y = 0) => Array.from({ length: 96 }, (_, i) => [
1168
1235
  x + radius * Math.cos(i * Math.PI / 48),
@@ -1210,12 +1277,34 @@ function createNemaMotorSections(input) {
1210
1277
  add("frontCap", front, -holeDepth, 0, holes);
1211
1278
  add("frontCap", front, -p.frontCapLength, -holeDepth);
1212
1279
  add("body", core, -p.bodyLength + p.rearCapLength, -p.frontCapLength);
1213
- add(
1214
- "rearCap",
1215
- p.mountingHoleThrough ? core : front,
1216
- -p.bodyLength,
1217
- -p.bodyLength + p.rearCapLength
1218
- );
1280
+ if (p.backFace === "plain") {
1281
+ add(
1282
+ "rearCap",
1283
+ p.mountingHoleThrough ? core : front,
1284
+ -p.bodyLength,
1285
+ -p.bodyLength + p.rearCapLength
1286
+ );
1287
+ } else {
1288
+ const halfPitch = p.backFaceHoleSpacing / 2;
1289
+ const rearHoles = [-halfPitch, halfPitch].flatMap(
1290
+ (x) => [-halfPitch, halfPitch].map(
1291
+ (y) => circle(p.backFaceHoleDiameter / 2, x, y)
1292
+ )
1293
+ );
1294
+ add(
1295
+ "rearCap",
1296
+ front,
1297
+ -p.bodyLength,
1298
+ -p.bodyLength + p.backFaceHoleDepth,
1299
+ rearHoles
1300
+ );
1301
+ add(
1302
+ "rearCap",
1303
+ front,
1304
+ -p.bodyLength + p.backFaceHoleDepth,
1305
+ -p.bodyLength + p.rearCapLength
1306
+ );
1307
+ }
1219
1308
  add("pilot", circle(p.pilotDiameter / 2), 0, p.pilotLength);
1220
1309
  const r = p.shaftDiameter / 2;
1221
1310
  const round = circle(r);
@@ -1241,35 +1330,61 @@ function createNemaMotorSections(input) {
1241
1330
 
1242
1331
  // lib/NemaMotor.tsx
1243
1332
  import { Colorize as Colorize9, Custom as Custom3 } from "jscad-fiber";
1244
- import { Fragment as Fragment14, jsx as jsx19 } from "react/jsx-runtime";
1333
+ import { Fragment as Fragment14, jsx as jsx19, jsxs as jsxs16 } from "react/jsx-runtime";
1334
+ var generalize = jscad3.modifiers.generalize;
1245
1335
  function NemaMotor({
1246
1336
  bodyColor = "#242830",
1247
1337
  capColor = "#aeb5bd",
1248
1338
  shaftColor = "#b8bec6",
1339
+ screwColor = "#626b78",
1249
1340
  ...props
1250
1341
  }) {
1251
- return /* @__PURE__ */ jsx19(Fragment14, { children: createNemaMotorSections(props).map((section, index) => {
1252
- const outline = jscad2.geometries.geom2.fromPoints(section.outline);
1253
- const profile = section.holes.length ? jscad2.booleans.subtract(
1254
- outline,
1255
- ...section.holes.map((h) => jscad2.geometries.geom2.fromPoints(h))
1256
- ) : outline;
1257
- const geometry = jscad2.transforms.translate(
1258
- [0, 0, section.zMin],
1259
- jscad2.extrusions.extrudeLinear(
1260
- { height: section.zMax - section.zMin },
1261
- profile
1262
- )
1263
- );
1264
- return /* @__PURE__ */ jsx19(
1265
- Colorize9,
1266
- {
1267
- color: section.name === "body" ? bodyColor : section.name === "shaft" ? shaftColor : capColor,
1268
- children: /* @__PURE__ */ jsx19(Custom3, { geometry })
1269
- },
1270
- `${section.name}-${index}`
1271
- );
1272
- }) });
1342
+ const p = resolveNemaMotorProps(props);
1343
+ const screw = p.backFace === "screws" ? jscad3.transforms.rotateX(
1344
+ Math.PI,
1345
+ createHexSocketBoltGeom({
1346
+ metricSize: p.backFaceScrewSize,
1347
+ length: p.backFaceHoleDepth,
1348
+ showThreads: false
1349
+ })
1350
+ ) : void 0;
1351
+ const halfPitch = p.backFaceHoleSpacing / 2;
1352
+ return /* @__PURE__ */ jsxs16(Fragment14, { children: [
1353
+ createNemaMotorSections(p).map((section, index) => {
1354
+ const outline = jscad3.geometries.geom2.fromPoints(section.outline);
1355
+ const profile = section.holes.length ? jscad3.booleans.subtract(
1356
+ outline,
1357
+ ...section.holes.map((h) => jscad3.geometries.geom2.fromPoints(h))
1358
+ ) : outline;
1359
+ const geometry = jscad3.transforms.translate(
1360
+ [0, 0, section.zMin],
1361
+ jscad3.extrusions.extrudeLinear(
1362
+ { height: section.zMax - section.zMin },
1363
+ profile
1364
+ )
1365
+ );
1366
+ return /* @__PURE__ */ jsx19(
1367
+ Colorize9,
1368
+ {
1369
+ color: section.name === "body" ? bodyColor : section.name === "shaft" ? shaftColor : capColor,
1370
+ children: /* @__PURE__ */ jsx19(Custom3, { geometry: generalize({ simplify: true }, geometry) })
1371
+ },
1372
+ `${section.name}-${index}`
1373
+ );
1374
+ }),
1375
+ createNemaMotorWireGeometry(p).map(({ geometry, color }, index) => /* @__PURE__ */ jsx19(Colorize9, { color, children: /* @__PURE__ */ jsx19(Custom3, { geometry: generalize({ simplify: true }, geometry) }) }, `wire-${index}`)),
1376
+ screw && [-halfPitch, halfPitch].flatMap(
1377
+ (x) => [-halfPitch, halfPitch].map((y) => /* @__PURE__ */ jsx19(Colorize9, { color: screwColor, children: /* @__PURE__ */ jsx19(
1378
+ Custom3,
1379
+ {
1380
+ geometry: jscad3.transforms.translate(
1381
+ [x, y, -p.bodyLength],
1382
+ generalize({ simplify: true }, screw)
1383
+ )
1384
+ }
1385
+ ) }, `rear-screw-${x}-${y}`))
1386
+ )
1387
+ ] });
1273
1388
  }
1274
1389
  var NEMA8 = (props) => /* @__PURE__ */ jsx19(NemaMotor, { ...props, nemaSize: 8 });
1275
1390
  var NEMA17 = (props) => /* @__PURE__ */ jsx19(NemaMotor, { ...props, nemaSize: 17 });
@@ -1285,7 +1400,7 @@ import {
1285
1400
  Translate as Translate7,
1286
1401
  Union as Union3
1287
1402
  } from "jscad-fiber";
1288
- import { Fragment as Fragment15, jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
1403
+ import { Fragment as Fragment15, jsx as jsx20, jsxs as jsxs17 } from "react/jsx-runtime";
1289
1404
  function createDualRowGullWing(p) {
1290
1405
  const {
1291
1406
  pinCount,
@@ -1333,7 +1448,7 @@ function createDualRowGullWing(p) {
1333
1448
  throw new Error("Exposed pad must fit inside the bottom mold face");
1334
1449
  const midZ = standoff + moldHeight / 2;
1335
1450
  const slice = Math.min(2e-3, moldHeight / 100);
1336
- const body = /* @__PURE__ */ jsxs16(Hull4, { children: [
1451
+ const body = /* @__PURE__ */ jsxs17(Hull4, { children: [
1337
1452
  /* @__PURE__ */ jsx20(Translate7, { z: standoff + slice / 2, children: /* @__PURE__ */ jsx20(
1338
1453
  Cuboid15,
1339
1454
  {
@@ -1376,13 +1491,13 @@ function createDualRowGullWing(p) {
1376
1491
  }
1377
1492
  points.push([root, midZ]);
1378
1493
  const section = ([x, z]) => /* @__PURE__ */ jsx20(Translate7, { offset: { x: side * x, y, z }, children: /* @__PURE__ */ jsx20(Cuboid15, { size: [slice, leadWidth, leadThickness] }) });
1379
- return /* @__PURE__ */ jsx20(Union3, { children: points.slice(1).map((point, i) => /* @__PURE__ */ jsxs16(Hull4, { children: [
1494
+ return /* @__PURE__ */ jsx20(Union3, { children: points.slice(1).map((point, i) => /* @__PURE__ */ jsxs17(Hull4, { children: [
1380
1495
  section(points[i]),
1381
1496
  section(point)
1382
1497
  ] }, i)) });
1383
1498
  };
1384
- return /* @__PURE__ */ jsxs16(Fragment15, { children: [
1385
- /* @__PURE__ */ jsx20(Colorize10, { color: "#353535", children: /* @__PURE__ */ jsxs16(Subtract4, { children: [
1499
+ return /* @__PURE__ */ jsxs17(Fragment15, { children: [
1500
+ /* @__PURE__ */ jsx20(Colorize10, { color: "#353535", children: /* @__PURE__ */ jsxs17(Subtract4, { children: [
1386
1501
  body,
1387
1502
  /* @__PURE__ */ jsx20(
1388
1503
  Translate7,
@@ -1556,7 +1671,7 @@ function getExpandedStroke(strokeInput, width10) {
1556
1671
  }
1557
1672
 
1558
1673
  // lib/DualInlinePackage.tsx
1559
- import { Fragment as Fragment16, jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
1674
+ import { Fragment as Fragment16, jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
1560
1675
  var normalizeOnY = (points) => {
1561
1676
  const minX = Math.min(...points.map((p) => p.x));
1562
1677
  const maxX = Math.max(...points.map((p) => p.x));
@@ -1585,7 +1700,7 @@ var DIP_PIN_HEIGHT = 5.47;
1585
1700
  var heightAboveSurface = 0.5;
1586
1701
  var DipPinLeg = ({ x, y, z }) => {
1587
1702
  const isRotated = x > 0;
1588
- return /* @__PURE__ */ jsxs17(Fragment16, { children: [
1703
+ return /* @__PURE__ */ jsxs18(Fragment16, { children: [
1589
1704
  /* @__PURE__ */ jsx22(Translate8, { offset: { x: x + 0.25 / 2, y, z }, children: /* @__PURE__ */ jsx22(Rotate4, { rotation: ["-90deg", 0, "90deg"], children: /* @__PURE__ */ jsx22(ExtrudeLinear3, { height: 0.25, children: /* @__PURE__ */ jsx22(
1590
1705
  Polygon3,
1591
1706
  {
@@ -1626,7 +1741,7 @@ var Dip = ({
1626
1741
  const numPinsOnEachSide = Math.floor(numPins / 2);
1627
1742
  const pinRowSpacing = rowSpacing ?? (bodyWidth >= 7 ? bodyWidth : bodyWidth + 1.22);
1628
1743
  const chipBodyWidth = bodyWidth >= 7 ? pinRowSpacing - 1.22 : bodyWidth;
1629
- return /* @__PURE__ */ jsxs17(Fragment16, { children: [
1744
+ return /* @__PURE__ */ jsxs18(Fragment16, { children: [
1630
1745
  range(numPins).map((i) => {
1631
1746
  const yRow = i % numPinsOnEachSide;
1632
1747
  const xRow = (Math.floor(i / numPinsOnEachSide) - 0.5) * 2;
@@ -1691,7 +1806,7 @@ var SmdChipLead = (props) => {
1691
1806
  };
1692
1807
 
1693
1808
  // lib/Tssop.tsx
1694
- import { Fragment as Fragment17, jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
1809
+ import { Fragment as Fragment17, jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
1695
1810
  var LegacyTssop = ({
1696
1811
  pinCount,
1697
1812
  leadLength,
@@ -1717,7 +1832,7 @@ var LegacyTssop = ({
1717
1832
  Math.min(bodyVisualWidth, bodyLength10) * 0.12,
1718
1833
  0.45
1719
1834
  );
1720
- return /* @__PURE__ */ jsxs18(Fragment17, { children: [
1835
+ return /* @__PURE__ */ jsxs19(Fragment17, { children: [
1721
1836
  Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx24(
1722
1837
  SmdChipLead,
1723
1838
  {
@@ -1773,7 +1888,7 @@ var LegacyTssop = ({
1773
1888
  var Tssop = (props) => "leadSpan" in props ? createDualRowGullWing(props) : LegacyTssop(props);
1774
1889
 
1775
1890
  // lib/MSOP.tsx
1776
- import { Fragment as Fragment18, jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
1891
+ import { Fragment as Fragment18, jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
1777
1892
  var LegacyMSOP = ({
1778
1893
  pinCount,
1779
1894
  padContactLength = 0.4,
@@ -1784,7 +1899,7 @@ var LegacyMSOP = ({
1784
1899
  const sidePinCount = Math.ceil(pinCount / 2);
1785
1900
  const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
1786
1901
  const leadThickness = 0.2;
1787
- return /* @__PURE__ */ jsxs19(Fragment18, { children: [
1902
+ return /* @__PURE__ */ jsxs20(Fragment18, { children: [
1788
1903
  Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx25(
1789
1904
  SmdChipLead,
1790
1905
  {
@@ -1836,7 +1951,7 @@ var MSOP = (props) => "leadSpan" in props ? createDualRowGullWing(props) : Legac
1836
1951
 
1837
1952
  // lib/SmdLED.tsx
1838
1953
  import { Colorize as Colorize12, Cuboid as Cuboid16, RoundedCuboid, Translate as Translate10 } from "jscad-fiber";
1839
- import { Fragment as Fragment19, jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
1954
+ import { Fragment as Fragment19, jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
1840
1955
  var smdLedDimensions = {
1841
1956
  "0402": { length: 1, width: 0.5, height: 0.5, terminalLength: 0.2 },
1842
1957
  "0603": { length: 1.62, width: 0.8, height: 0.615, terminalLength: 0.21 },
@@ -1848,7 +1963,7 @@ function SmdLED({
1848
1963
  }) {
1849
1964
  const p = smdLedDimensions[footprint];
1850
1965
  if (footprint === "0603")
1851
- return /* @__PURE__ */ jsxs20(Fragment19, { children: [
1966
+ return /* @__PURE__ */ jsxs21(Fragment19, { children: [
1852
1967
  /* @__PURE__ */ jsx26(Colorize12, { color: "#f0eee7", children: /* @__PURE__ */ jsx26(
1853
1968
  RoundedCuboid,
1854
1969
  {
@@ -1869,7 +1984,7 @@ function SmdLED({
1869
1984
  ] });
1870
1985
  const terminalThickness = Math.min(0.1, p.height / 4);
1871
1986
  const apertureHeight = 0.02;
1872
- return /* @__PURE__ */ jsxs20(Fragment19, { children: [
1987
+ return /* @__PURE__ */ jsxs21(Fragment19, { children: [
1873
1988
  /* @__PURE__ */ jsx26(Colorize12, { color: "#f0eee7", children: /* @__PURE__ */ jsx26(Translate10, { z: (p.height + terminalThickness - apertureHeight) / 2, children: /* @__PURE__ */ jsx26(
1874
1989
  Cuboid16,
1875
1990
  {
@@ -1897,7 +2012,7 @@ function SmdLED({
1897
2012
  }
1898
2013
 
1899
2014
  // lib/qfp.tsx
1900
- import { Fragment as Fragment20, jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
2015
+ import { Fragment as Fragment20, jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
1901
2016
  var QFP = ({
1902
2017
  pinCount,
1903
2018
  pitch,
@@ -1921,7 +2036,7 @@ var QFP = ({
1921
2036
  const bodyDistance = leadReach;
1922
2037
  const fullPadContactLength = leadReach * 0.5;
1923
2038
  const curveLength = leadReach * 0.18;
1924
- return /* @__PURE__ */ jsxs21(Fragment20, { children: [
2039
+ return /* @__PURE__ */ jsxs22(Fragment20, { children: [
1925
2040
  Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx27(
1926
2041
  SmdChipLead,
1927
2042
  {
@@ -2056,7 +2171,7 @@ var getLeadWidth = (pinCount, width10) => {
2056
2171
 
2057
2172
  // lib/PinHeader.tsx
2058
2173
  import { Colorize as Colorize13, Cuboid as Cuboid17, Hull as Hull5, Rotate as Rotate6, Translate as Translate11 } from "jscad-fiber";
2059
- import { Fragment as Fragment21, jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
2174
+ import { Fragment as Fragment21, jsx as jsx28, jsxs as jsxs23 } from "react/jsx-runtime";
2060
2175
  var PIN_METAL_COLOR = "#c0c0c0";
2061
2176
  var PinHeader = ({
2062
2177
  x,
@@ -2071,7 +2186,7 @@ var PinHeader = ({
2071
2186
  smd,
2072
2187
  rightangle
2073
2188
  }) => {
2074
- return /* @__PURE__ */ jsxs22(Fragment21, { children: [
2189
+ return /* @__PURE__ */ jsxs23(Fragment21, { children: [
2075
2190
  /* @__PURE__ */ jsx28(Translate11, { y: rightangle ? -3 : 0, children: /* @__PURE__ */ jsx28(
2076
2191
  Cuboid17,
2077
2192
  {
@@ -2095,7 +2210,7 @@ var PinHeader = ({
2095
2210
  padContactLength: 2,
2096
2211
  bodyDistance: 3
2097
2212
  }
2098
- ) : /* @__PURE__ */ jsxs22(Hull5, { children: [
2213
+ ) : /* @__PURE__ */ jsxs23(Hull5, { children: [
2099
2214
  /* @__PURE__ */ jsx28(
2100
2215
  Cuboid17,
2101
2216
  {
@@ -2117,7 +2232,7 @@ var PinHeader = ({
2117
2232
  }
2118
2233
  )
2119
2234
  ] }) }),
2120
- /* @__PURE__ */ jsx28(Colorize13, { color: PIN_METAL_COLOR, children: /* @__PURE__ */ jsx28(Translate11, { y: rightangle ? -3.9 : 0, z: rightangle ? 1 : 0, children: /* @__PURE__ */ jsx28(Rotate6, { rotation: rightangle ? [-Math.PI / 2, 0, 0] : [0, 0, 0], children: /* @__PURE__ */ jsxs22(Hull5, { children: [
2235
+ /* @__PURE__ */ jsx28(Colorize13, { color: PIN_METAL_COLOR, children: /* @__PURE__ */ jsx28(Translate11, { y: rightangle ? -3.9 : 0, z: rightangle ? 1 : 0, children: /* @__PURE__ */ jsx28(Rotate6, { rotation: rightangle ? [-Math.PI / 2, 0, 0] : [0, 0, 0], children: /* @__PURE__ */ jsxs23(Hull5, { children: [
2121
2236
  /* @__PURE__ */ jsx28(
2122
2237
  Cuboid17,
2123
2238
  {
@@ -2187,7 +2302,7 @@ var PinRow = ({
2187
2302
 
2188
2303
  // lib/utils/PhysicalQfn.tsx
2189
2304
  import { Colorize as Colorize14, Cuboid as Cuboid18, Cylinder as Cylinder7, Subtract as Subtract5, Translate as Translate12 } from "jscad-fiber";
2190
- import { Fragment as Fragment23, jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
2305
+ import { Fragment as Fragment23, jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
2191
2306
  function createPhysicalQfn(p) {
2192
2307
  const {
2193
2308
  num_pins,
@@ -2232,8 +2347,8 @@ function createPhysicalQfn(p) {
2232
2347
  );
2233
2348
  const body = /* @__PURE__ */ jsx30(Translate12, { z: (bodyHeight + standoff) / 2, children: /* @__PURE__ */ jsx30(Cuboid18, { size: [bodyWidth, bodyLength10, bodyHeight - standoff] }) });
2234
2349
  const radius = Math.min(bodyWidth, bodyLength10) * 0.035;
2235
- return /* @__PURE__ */ jsxs23(Fragment23, { children: [
2236
- /* @__PURE__ */ jsx30(Colorize14, { color: "#353535", children: /* @__PURE__ */ jsxs23(Subtract5, { children: [
2350
+ return /* @__PURE__ */ jsxs24(Fragment23, { children: [
2351
+ /* @__PURE__ */ jsx30(Colorize14, { color: "#353535", children: /* @__PURE__ */ jsxs24(Subtract5, { children: [
2237
2352
  body,
2238
2353
  /* @__PURE__ */ jsx30(
2239
2354
  Translate12,
@@ -2377,7 +2492,7 @@ var getQuadPinMap = ({
2377
2492
  };
2378
2493
 
2379
2494
  // lib/qfn.tsx
2380
- import { Fragment as Fragment24, jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
2495
+ import { Fragment as Fragment24, jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
2381
2496
  var LegacyQFN = ({
2382
2497
  num_pins = 16,
2383
2498
  bodyWidth = 9,
@@ -2419,7 +2534,7 @@ var LegacyQFN = ({
2419
2534
  const pn = pin_map[i + 1];
2420
2535
  pinPositions.push({ pn, x, y, pw, pl });
2421
2536
  }
2422
- return /* @__PURE__ */ jsxs24(Fragment24, { children: [
2537
+ return /* @__PURE__ */ jsxs25(Fragment24, { children: [
2423
2538
  /* @__PURE__ */ jsx31(Colorize15, { color: "grey", children: /* @__PURE__ */ jsx31(
2424
2539
  Cuboid19,
2425
2540
  {
@@ -2452,7 +2567,7 @@ var QFN = (props) => "bodyHeight" in props ? createPhysicalQfn(props) : LegacyQF
2452
2567
  var qfn_default = QFN;
2453
2568
 
2454
2569
  // lib/SOT-235.tsx
2455
- import { Fragment as Fragment25, jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
2570
+ import { Fragment as Fragment25, jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
2456
2571
  var SOT235 = () => {
2457
2572
  const fullWidth = 2.8;
2458
2573
  const bodyWidth = 1.6;
@@ -2464,7 +2579,7 @@ var SOT235 = () => {
2464
2579
  const padContactLength = 0.5;
2465
2580
  const padPitch = 0.95;
2466
2581
  const extendedBodyDistance = fullWidth - bodyWidth;
2467
- return /* @__PURE__ */ jsxs25(Fragment25, { children: [
2582
+ return /* @__PURE__ */ jsxs26(Fragment25, { children: [
2468
2583
  /* @__PURE__ */ jsx32(
2469
2584
  SmdChipLead,
2470
2585
  {
@@ -2561,7 +2676,7 @@ var SOT235 = () => {
2561
2676
  var SOT_235_default = SOT235;
2562
2677
 
2563
2678
  // lib/SOT-23-3P.tsx
2564
- import { Fragment as Fragment26, jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
2679
+ import { Fragment as Fragment26, jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
2565
2680
  var SOT233P = ({
2566
2681
  fullWidth = 2.9,
2567
2682
  fullLength: fullLength10 = 2.8,
@@ -2576,7 +2691,7 @@ var SOT233P = ({
2576
2691
  const padContactLength = 0.4;
2577
2692
  const padThickness = leadThickness / 2;
2578
2693
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
2579
- return /* @__PURE__ */ jsxs26(Fragment26, { children: [
2694
+ return /* @__PURE__ */ jsxs27(Fragment26, { children: [
2580
2695
  /* @__PURE__ */ jsx33(
2581
2696
  SmdChipLead,
2582
2697
  {
@@ -2640,7 +2755,7 @@ var SOT233P = ({
2640
2755
  };
2641
2756
 
2642
2757
  // lib/SOT-23W.tsx
2643
- import { Fragment as Fragment27, jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
2758
+ import { Fragment as Fragment27, jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime";
2644
2759
  var SOT23W = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2645
2760
  const bodyWidth = 1.92;
2646
2761
  const bodyLength10 = 2.9;
@@ -2651,7 +2766,7 @@ var SOT23W = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2651
2766
  const padContactLength = 0.25;
2652
2767
  const padThickness = leadThickness / 2;
2653
2768
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
2654
- return /* @__PURE__ */ jsxs27(Fragment27, { children: [
2769
+ return /* @__PURE__ */ jsxs28(Fragment27, { children: [
2655
2770
  /* @__PURE__ */ jsx34(
2656
2771
  SmdChipLead,
2657
2772
  {
@@ -2717,7 +2832,7 @@ var SOT23W = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2717
2832
 
2718
2833
  // lib/FemaleHeader.tsx
2719
2834
  import { Colorize as Colorize16, Cuboid as Cuboid20, Hull as Hull6, Subtract as Subtract6 } from "jscad-fiber";
2720
- import { Fragment as Fragment28, jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
2835
+ import { Fragment as Fragment28, jsx as jsx35, jsxs as jsxs29 } from "react/jsx-runtime";
2721
2836
  var FemaleHeader = ({
2722
2837
  x,
2723
2838
  y,
@@ -2739,8 +2854,8 @@ var FemaleHeader = ({
2739
2854
  const socketCenterZ = flipZ(z + socketDepth / 2);
2740
2855
  const socketEntryBaseZ = z + bodyHeight - socketEntryHeight;
2741
2856
  const gapWidth = pinThickness * 1.6;
2742
- return /* @__PURE__ */ jsxs28(Fragment28, { children: [
2743
- /* @__PURE__ */ jsx35(Colorize16, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs28(Subtract6, { children: [
2857
+ return /* @__PURE__ */ jsxs29(Fragment28, { children: [
2858
+ /* @__PURE__ */ jsx35(Colorize16, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs29(Subtract6, { children: [
2744
2859
  /* @__PURE__ */ jsx35(
2745
2860
  Cuboid20,
2746
2861
  {
@@ -2756,7 +2871,7 @@ var FemaleHeader = ({
2756
2871
  center: [x, y, socketCenterZ]
2757
2872
  }
2758
2873
  ),
2759
- /* @__PURE__ */ jsxs28(Hull6, { children: [
2874
+ /* @__PURE__ */ jsxs29(Hull6, { children: [
2760
2875
  /* @__PURE__ */ jsx35(
2761
2876
  Cuboid20,
2762
2877
  {
@@ -2773,8 +2888,8 @@ var FemaleHeader = ({
2773
2888
  )
2774
2889
  ] })
2775
2890
  ] }) }),
2776
- /* @__PURE__ */ jsxs28(Colorize16, { color: "silver", children: [
2777
- /* @__PURE__ */ jsxs28(Hull6, { children: [
2891
+ /* @__PURE__ */ jsxs29(Colorize16, { color: "silver", children: [
2892
+ /* @__PURE__ */ jsxs29(Hull6, { children: [
2778
2893
  /* @__PURE__ */ jsx35(
2779
2894
  Cuboid20,
2780
2895
  {
@@ -2849,7 +2964,7 @@ import {
2849
2964
  RoundedCuboid as RoundedCuboid2,
2850
2965
  Translate as Translate13
2851
2966
  } from "jscad-fiber";
2852
- import { Fragment as Fragment30, jsx as jsx37, jsxs as jsxs29 } from "react/jsx-runtime";
2967
+ import { Fragment as Fragment30, jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
2853
2968
  var PushButton = ({
2854
2969
  width: width10,
2855
2970
  length,
@@ -2859,7 +2974,7 @@ var PushButton = ({
2859
2974
  const bodyLength10 = length;
2860
2975
  const bodyHeight = width10 * 0.7;
2861
2976
  const legWidth = innerDiameter / 2.5;
2862
- return /* @__PURE__ */ jsxs29(Fragment30, { children: [
2977
+ return /* @__PURE__ */ jsxs30(Fragment30, { children: [
2863
2978
  /* @__PURE__ */ jsx37(
2864
2979
  RoundedCuboid2,
2865
2980
  {
@@ -3025,7 +3140,7 @@ var PushButtonLeg = (props) => {
3025
3140
  };
3026
3141
 
3027
3142
  // lib/SOIC.tsx
3028
- import { Fragment as Fragment31, jsx as jsx38, jsxs as jsxs30 } from "react/jsx-runtime";
3143
+ import { Fragment as Fragment31, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
3029
3144
  var LegacySOIC = ({
3030
3145
  pinCount,
3031
3146
  leadLength,
@@ -3041,7 +3156,7 @@ var LegacySOIC = ({
3041
3156
  const leadBodyOffset = leadLength * 0;
3042
3157
  const fullLength10 = pitch * (sidePinCount - 1) + leadWidth + 0.2;
3043
3158
  const bodyWidthAdjusted = bodyWidth * 0.55;
3044
- return /* @__PURE__ */ jsxs30(Fragment31, { children: [
3159
+ return /* @__PURE__ */ jsxs31(Fragment31, { children: [
3045
3160
  Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx38(
3046
3161
  SmdChipLead,
3047
3162
  {
@@ -3089,7 +3204,7 @@ var LegacySOIC = ({
3089
3204
  var SOIC = (props) => "leadSpan" in props ? createDualRowGullWing(props) : LegacySOIC(props);
3090
3205
 
3091
3206
  // lib/VSSOP.tsx
3092
- import { Fragment as Fragment32, jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
3207
+ import { Fragment as Fragment32, jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime";
3093
3208
  var VSSOP = ({
3094
3209
  pinCount,
3095
3210
  pitch,
@@ -3119,7 +3234,7 @@ var VSSOP = ({
3119
3234
  const componentFullWidth = 4.5;
3120
3235
  const leadBodyDistance = (componentFullWidth - _bodyWidth) / 2;
3121
3236
  const padContactLength = leadBodyDistance * 0.5;
3122
- return /* @__PURE__ */ jsxs31(Fragment32, { children: [
3237
+ return /* @__PURE__ */ jsxs32(Fragment32, { children: [
3123
3238
  Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx39(
3124
3239
  SmdChipLead,
3125
3240
  {
@@ -3167,7 +3282,7 @@ var VSSOP = ({
3167
3282
 
3168
3283
  // lib/SOD523.tsx
3169
3284
  import { Colorize as Colorize18, Cuboid as Cuboid22, Hull as Hull7, Translate as Translate14, Union as Union5 } from "jscad-fiber";
3170
- import { Fragment as Fragment33, jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
3285
+ import { Fragment as Fragment33, jsx as jsx40, jsxs as jsxs33 } from "react/jsx-runtime";
3171
3286
  var SOD523 = () => {
3172
3287
  const fullWidth = 2.15;
3173
3288
  const bodyLength10 = 0.8;
@@ -3180,7 +3295,7 @@ var SOD523 = () => {
3180
3295
  const rightPadCenterX = bodyWidth / 2 - padLength / 2 + 0.15;
3181
3296
  const taperOffset = 0.2;
3182
3297
  const straightHeight = bodyHeight * 0.5;
3183
- return /* @__PURE__ */ jsxs32(Fragment33, { children: [
3298
+ return /* @__PURE__ */ jsxs33(Fragment33, { children: [
3184
3299
  /* @__PURE__ */ jsx40(
3185
3300
  Cuboid22,
3186
3301
  {
@@ -3197,9 +3312,9 @@ var SOD523 = () => {
3197
3312
  center: [rightPadCenterX, 0, padThickness / 2]
3198
3313
  }
3199
3314
  ),
3200
- /* @__PURE__ */ jsx40(Colorize18, { color: "#222", children: /* @__PURE__ */ jsxs32(Union5, { children: [
3315
+ /* @__PURE__ */ jsx40(Colorize18, { color: "#222", children: /* @__PURE__ */ jsxs33(Union5, { children: [
3201
3316
  /* @__PURE__ */ jsx40(Translate14, { z: straightHeight / 2, children: /* @__PURE__ */ jsx40(Cuboid22, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
3202
- /* @__PURE__ */ jsxs32(Hull7, { children: [
3317
+ /* @__PURE__ */ jsxs33(Hull7, { children: [
3203
3318
  /* @__PURE__ */ jsx40(Translate14, { z: straightHeight, children: /* @__PURE__ */ jsx40(Cuboid22, { size: [bodyWidth, bodyLength10, 0.01] }) }),
3204
3319
  /* @__PURE__ */ jsx40(Translate14, { z: bodyHeight, children: /* @__PURE__ */ jsx40(
3205
3320
  Cuboid22,
@@ -3214,7 +3329,7 @@ var SOD523 = () => {
3214
3329
 
3215
3330
  // lib/SOD882.tsx
3216
3331
  import { Colorize as Colorize19, Cuboid as Cuboid23, Translate as Translate15 } from "jscad-fiber";
3217
- import { Fragment as Fragment34, jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
3332
+ import { Fragment as Fragment34, jsx as jsx41, jsxs as jsxs34 } from "react/jsx-runtime";
3218
3333
  var SOD882 = () => {
3219
3334
  const bodyLength10 = 0.98;
3220
3335
  const bodyHeight = 0.47;
@@ -3225,7 +3340,7 @@ var SOD882 = () => {
3225
3340
  const bodyWidth = 0.58;
3226
3341
  const leftPadCenterX = -pitch / 2;
3227
3342
  const rightPadCenterX = pitch / 2;
3228
- return /* @__PURE__ */ jsxs33(Fragment34, { children: [
3343
+ return /* @__PURE__ */ jsxs34(Fragment34, { children: [
3229
3344
  /* @__PURE__ */ jsx41(
3230
3345
  Cuboid23,
3231
3346
  {
@@ -3280,7 +3395,7 @@ var SOD882 = () => {
3280
3395
 
3281
3396
  // lib/SMA.tsx
3282
3397
  import { Cuboid as Cuboid24, Colorize as Colorize20, Union as Union7, Hull as Hull9, Translate as Translate16 } from "jscad-fiber";
3283
- import { Fragment as Fragment35, jsx as jsx42, jsxs as jsxs34 } from "react/jsx-runtime";
3398
+ import { Fragment as Fragment35, jsx as jsx42, jsxs as jsxs35 } from "react/jsx-runtime";
3284
3399
  var SMA = () => {
3285
3400
  const bodyWidth = 4.4;
3286
3401
  const bodyLength10 = 3.4;
@@ -3291,8 +3406,8 @@ var SMA = () => {
3291
3406
  const leadHeight = 1.14;
3292
3407
  const taperOffset = 0.4;
3293
3408
  const straightHeight = bodyHeight * 0.5;
3294
- const Body = /* @__PURE__ */ jsx42(Colorize20, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs34(Union7, { children: [
3295
- /* @__PURE__ */ jsxs34(Hull9, { children: [
3409
+ const Body = /* @__PURE__ */ jsx42(Colorize20, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs35(Union7, { children: [
3410
+ /* @__PURE__ */ jsxs35(Hull9, { children: [
3296
3411
  /* @__PURE__ */ jsx42(Translate16, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx42(
3297
3412
  Cuboid24,
3298
3413
  {
@@ -3301,7 +3416,7 @@ var SMA = () => {
3301
3416
  ) }),
3302
3417
  /* @__PURE__ */ jsx42(Translate16, { z: straightHeight, children: /* @__PURE__ */ jsx42(Cuboid24, { size: [bodyWidth, bodyLength10, 0.01] }) })
3303
3418
  ] }),
3304
- /* @__PURE__ */ jsxs34(Hull9, { children: [
3419
+ /* @__PURE__ */ jsxs35(Hull9, { children: [
3305
3420
  /* @__PURE__ */ jsx42(Translate16, { z: straightHeight, children: /* @__PURE__ */ jsx42(Cuboid24, { size: [bodyWidth, bodyLength10, 0.01] }) }),
3306
3421
  /* @__PURE__ */ jsx42(Translate16, { z: bodyHeight, children: /* @__PURE__ */ jsx42(
3307
3422
  Cuboid24,
@@ -3319,7 +3434,7 @@ var SMA = () => {
3319
3434
  const bodyEdgeX = xDir * (bodyLength10 / 2 - leadThickness / 2);
3320
3435
  const bridgeLength = Math.abs(bodyEdgeX - verticalLeadX);
3321
3436
  const bridgeCenterX = (verticalLeadX + bodyEdgeX) / 2;
3322
- return /* @__PURE__ */ jsx42(Colorize20, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs34(Union7, { children: [
3437
+ return /* @__PURE__ */ jsx42(Colorize20, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs35(Union7, { children: [
3323
3438
  /* @__PURE__ */ jsx42(
3324
3439
  Cuboid24,
3325
3440
  {
@@ -3343,7 +3458,7 @@ var SMA = () => {
3343
3458
  )
3344
3459
  ] }) });
3345
3460
  };
3346
- return /* @__PURE__ */ jsxs34(Fragment35, { children: [
3461
+ return /* @__PURE__ */ jsxs35(Fragment35, { children: [
3347
3462
  /* @__PURE__ */ jsx42(Lead, { xDir: 1 }),
3348
3463
  /* @__PURE__ */ jsx42(Lead, { xDir: -1 }),
3349
3464
  Body
@@ -3352,7 +3467,7 @@ var SMA = () => {
3352
3467
 
3353
3468
  // lib/SMB.tsx
3354
3469
  import { Cuboid as Cuboid25, Colorize as Colorize21, Union as Union8, Hull as Hull10, Translate as Translate17 } from "jscad-fiber";
3355
- import { Fragment as Fragment36, jsx as jsx43, jsxs as jsxs35 } from "react/jsx-runtime";
3470
+ import { Fragment as Fragment36, jsx as jsx43, jsxs as jsxs36 } from "react/jsx-runtime";
3356
3471
  var SMB = () => {
3357
3472
  const bodyWidth = 4.6;
3358
3473
  const bodyLength10 = 4;
@@ -3363,8 +3478,8 @@ var SMB = () => {
3363
3478
  const leadHeight = 1.14;
3364
3479
  const taperOffset = 0.4;
3365
3480
  const straightHeight = bodyHeight * 0.5;
3366
- const Body = /* @__PURE__ */ jsx43(Colorize21, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs35(Union8, { children: [
3367
- /* @__PURE__ */ jsxs35(Hull10, { children: [
3481
+ const Body = /* @__PURE__ */ jsx43(Colorize21, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs36(Union8, { children: [
3482
+ /* @__PURE__ */ jsxs36(Hull10, { children: [
3368
3483
  /* @__PURE__ */ jsx43(Translate17, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx43(
3369
3484
  Cuboid25,
3370
3485
  {
@@ -3373,7 +3488,7 @@ var SMB = () => {
3373
3488
  ) }),
3374
3489
  /* @__PURE__ */ jsx43(Translate17, { z: straightHeight, children: /* @__PURE__ */ jsx43(Cuboid25, { size: [bodyWidth, bodyLength10, 0.01] }) })
3375
3490
  ] }),
3376
- /* @__PURE__ */ jsxs35(Hull10, { children: [
3491
+ /* @__PURE__ */ jsxs36(Hull10, { children: [
3377
3492
  /* @__PURE__ */ jsx43(Translate17, { z: straightHeight, children: /* @__PURE__ */ jsx43(Cuboid25, { size: [bodyWidth, bodyLength10, 0.01] }) }),
3378
3493
  /* @__PURE__ */ jsx43(Translate17, { z: bodyHeight, children: /* @__PURE__ */ jsx43(
3379
3494
  Cuboid25,
@@ -3391,7 +3506,7 @@ var SMB = () => {
3391
3506
  const bodyEdgeX = xDir * (bodyLength10 / 2 - leadThickness / 2);
3392
3507
  const bridgeLength = Math.abs(bodyEdgeX - verticalLeadX);
3393
3508
  const bridgeCenterX = (verticalLeadX + bodyEdgeX) / 2;
3394
- return /* @__PURE__ */ jsx43(Colorize21, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs35(Union8, { children: [
3509
+ return /* @__PURE__ */ jsx43(Colorize21, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs36(Union8, { children: [
3395
3510
  /* @__PURE__ */ jsx43(
3396
3511
  Cuboid25,
3397
3512
  {
@@ -3415,7 +3530,7 @@ var SMB = () => {
3415
3530
  )
3416
3531
  ] }) });
3417
3532
  };
3418
- return /* @__PURE__ */ jsxs35(Fragment36, { children: [
3533
+ return /* @__PURE__ */ jsxs36(Fragment36, { children: [
3419
3534
  /* @__PURE__ */ jsx43(Lead, { xDir: 1 }),
3420
3535
  /* @__PURE__ */ jsx43(Lead, { xDir: -1 }),
3421
3536
  Body
@@ -3424,7 +3539,7 @@ var SMB = () => {
3424
3539
 
3425
3540
  // lib/SMC.tsx
3426
3541
  import { Cuboid as Cuboid26, Colorize as Colorize22, Union as Union9, Hull as Hull11, Translate as Translate18 } from "jscad-fiber";
3427
- import { Fragment as Fragment37, jsx as jsx44, jsxs as jsxs36 } from "react/jsx-runtime";
3542
+ import { Fragment as Fragment37, jsx as jsx44, jsxs as jsxs37 } from "react/jsx-runtime";
3428
3543
  var SMC = () => {
3429
3544
  const bodyWidth = 6.8;
3430
3545
  const bodyLength10 = 6;
@@ -3435,8 +3550,8 @@ var SMC = () => {
3435
3550
  const leadHeight = 1.14;
3436
3551
  const taperOffset = 0.4;
3437
3552
  const straightHeight = bodyHeight * 0.5;
3438
- const Body = /* @__PURE__ */ jsx44(Colorize22, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs36(Union9, { children: [
3439
- /* @__PURE__ */ jsxs36(Hull11, { children: [
3553
+ const Body = /* @__PURE__ */ jsx44(Colorize22, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs37(Union9, { children: [
3554
+ /* @__PURE__ */ jsxs37(Hull11, { children: [
3440
3555
  /* @__PURE__ */ jsx44(Translate18, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx44(
3441
3556
  Cuboid26,
3442
3557
  {
@@ -3445,7 +3560,7 @@ var SMC = () => {
3445
3560
  ) }),
3446
3561
  /* @__PURE__ */ jsx44(Translate18, { z: straightHeight, children: /* @__PURE__ */ jsx44(Cuboid26, { size: [bodyWidth, bodyLength10, 0.01] }) })
3447
3562
  ] }),
3448
- /* @__PURE__ */ jsxs36(Hull11, { children: [
3563
+ /* @__PURE__ */ jsxs37(Hull11, { children: [
3449
3564
  /* @__PURE__ */ jsx44(Translate18, { z: straightHeight, children: /* @__PURE__ */ jsx44(Cuboid26, { size: [bodyWidth, bodyLength10, 0.01] }) }),
3450
3565
  /* @__PURE__ */ jsx44(Translate18, { z: bodyHeight, children: /* @__PURE__ */ jsx44(
3451
3566
  Cuboid26,
@@ -3463,7 +3578,7 @@ var SMC = () => {
3463
3578
  const bodyEdgeX = xDir * (bodyLength10 / 2 - leadThickness / 2);
3464
3579
  const bridgeLength = Math.abs(bodyEdgeX - verticalLeadX);
3465
3580
  const bridgeCenterX = (verticalLeadX + bodyEdgeX) / 2;
3466
- return /* @__PURE__ */ jsx44(Colorize22, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs36(Union9, { children: [
3581
+ return /* @__PURE__ */ jsx44(Colorize22, { color: "#c0c0c0", children: /* @__PURE__ */ jsxs37(Union9, { children: [
3467
3582
  /* @__PURE__ */ jsx44(
3468
3583
  Cuboid26,
3469
3584
  {
@@ -3487,7 +3602,7 @@ var SMC = () => {
3487
3602
  )
3488
3603
  ] }) });
3489
3604
  };
3490
- return /* @__PURE__ */ jsxs36(Fragment37, { children: [
3605
+ return /* @__PURE__ */ jsxs37(Fragment37, { children: [
3491
3606
  /* @__PURE__ */ jsx44(Lead, { xDir: 1 }),
3492
3607
  /* @__PURE__ */ jsx44(Lead, { xDir: -1 }),
3493
3608
  Body
@@ -3496,7 +3611,7 @@ var SMC = () => {
3496
3611
 
3497
3612
  // lib/SMF.tsx
3498
3613
  import { Colorize as Colorize23, Cuboid as Cuboid27, Hull as Hull12, Translate as Translate19, Union as Union10 } from "jscad-fiber";
3499
- import { Fragment as Fragment38, jsx as jsx45, jsxs as jsxs37 } from "react/jsx-runtime";
3614
+ import { Fragment as Fragment38, jsx as jsx45, jsxs as jsxs38 } from "react/jsx-runtime";
3500
3615
  var SMF = () => {
3501
3616
  const fullWidth = 2.9;
3502
3617
  const bodyLength10 = 1.9;
@@ -3509,9 +3624,9 @@ var SMF = () => {
3509
3624
  const rightPadCenterX = 1.3;
3510
3625
  const taperOffset = 0.2;
3511
3626
  const straightHeight = bodyHeight * 0.5;
3512
- const Body = /* @__PURE__ */ jsx45(Colorize23, { color: "#222", children: /* @__PURE__ */ jsxs37(Union10, { children: [
3627
+ const Body = /* @__PURE__ */ jsx45(Colorize23, { color: "#222", children: /* @__PURE__ */ jsxs38(Union10, { children: [
3513
3628
  /* @__PURE__ */ jsx45(Translate19, { z: straightHeight / 2, children: /* @__PURE__ */ jsx45(Cuboid27, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
3514
- /* @__PURE__ */ jsxs37(Hull12, { children: [
3629
+ /* @__PURE__ */ jsxs38(Hull12, { children: [
3515
3630
  /* @__PURE__ */ jsx45(Translate19, { z: straightHeight, children: /* @__PURE__ */ jsx45(Cuboid27, { size: [bodyWidth, bodyLength10, 0.01] }) }),
3516
3631
  /* @__PURE__ */ jsx45(Translate19, { z: bodyHeight, children: /* @__PURE__ */ jsx45(
3517
3632
  Cuboid27,
@@ -3521,7 +3636,7 @@ var SMF = () => {
3521
3636
  ) })
3522
3637
  ] })
3523
3638
  ] }) });
3524
- return /* @__PURE__ */ jsxs37(Fragment38, { children: [
3639
+ return /* @__PURE__ */ jsxs38(Fragment38, { children: [
3525
3640
  /* @__PURE__ */ jsx45(
3526
3641
  Cuboid27,
3527
3642
  {
@@ -3544,7 +3659,7 @@ var SMF = () => {
3544
3659
 
3545
3660
  // lib/sod-123F.tsx
3546
3661
  import { Colorize as Colorize24, Cuboid as Cuboid28, Hull as Hull13, Translate as Translate20, Union as Union11 } from "jscad-fiber";
3547
- import { Fragment as Fragment39, jsx as jsx46, jsxs as jsxs38 } from "react/jsx-runtime";
3662
+ import { Fragment as Fragment39, jsx as jsx46, jsxs as jsxs39 } from "react/jsx-runtime";
3548
3663
  var SOD123F = () => {
3549
3664
  const fullWidth = 2.7;
3550
3665
  const bodyLength10 = 1.6;
@@ -3556,7 +3671,7 @@ var SOD123F = () => {
3556
3671
  const rightPadCenterX = 1.3;
3557
3672
  const taperOffset = 0.2;
3558
3673
  const straightHeight = bodyHeight * 0.5;
3559
- return /* @__PURE__ */ jsxs38(Fragment39, { children: [
3674
+ return /* @__PURE__ */ jsxs39(Fragment39, { children: [
3560
3675
  /* @__PURE__ */ jsx46(
3561
3676
  Cuboid28,
3562
3677
  {
@@ -3573,9 +3688,9 @@ var SOD123F = () => {
3573
3688
  center: [rightPadCenterX, 0, padThickness / 2]
3574
3689
  }
3575
3690
  ),
3576
- /* @__PURE__ */ jsx46(Colorize24, { color: "#222", children: /* @__PURE__ */ jsxs38(Union11, { children: [
3691
+ /* @__PURE__ */ jsx46(Colorize24, { color: "#222", children: /* @__PURE__ */ jsxs39(Union11, { children: [
3577
3692
  /* @__PURE__ */ jsx46(Translate20, { z: straightHeight / 2, children: /* @__PURE__ */ jsx46(Cuboid28, { size: [fullWidth, bodyLength10, straightHeight] }) }),
3578
- /* @__PURE__ */ jsxs38(Hull13, { children: [
3693
+ /* @__PURE__ */ jsxs39(Hull13, { children: [
3579
3694
  /* @__PURE__ */ jsx46(Translate20, { z: straightHeight, children: /* @__PURE__ */ jsx46(Cuboid28, { size: [fullWidth, bodyLength10, 0.01] }) }),
3580
3695
  /* @__PURE__ */ jsx46(Translate20, { z: bodyHeight, children: /* @__PURE__ */ jsx46(
3581
3696
  Cuboid28,
@@ -3590,7 +3705,7 @@ var SOD123F = () => {
3590
3705
 
3591
3706
  // lib/sod-123FL.tsx
3592
3707
  import { Colorize as Colorize25, Cuboid as Cuboid29, Hull as Hull14, Translate as Translate21, Union as Union12 } from "jscad-fiber";
3593
- import { Fragment as Fragment40, jsx as jsx47, jsxs as jsxs39 } from "react/jsx-runtime";
3708
+ import { Fragment as Fragment40, jsx as jsx47, jsxs as jsxs40 } from "react/jsx-runtime";
3594
3709
  var SOD123FL = () => {
3595
3710
  const fullWidth = 2.75;
3596
3711
  const bodyLength10 = 1.8;
@@ -3602,7 +3717,7 @@ var SOD123FL = () => {
3602
3717
  const rightPadCenterX = fullWidth / 2 - 0.075;
3603
3718
  const taperOffset = 0.4;
3604
3719
  const straightHeight = bodyHeight * 0.2;
3605
- return /* @__PURE__ */ jsxs39(Fragment40, { children: [
3720
+ return /* @__PURE__ */ jsxs40(Fragment40, { children: [
3606
3721
  /* @__PURE__ */ jsx47(
3607
3722
  Cuboid29,
3608
3723
  {
@@ -3619,9 +3734,9 @@ var SOD123FL = () => {
3619
3734
  center: [rightPadCenterX, 0, padThickness / 2]
3620
3735
  }
3621
3736
  ),
3622
- /* @__PURE__ */ jsx47(Colorize25, { color: "#222", children: /* @__PURE__ */ jsxs39(Union12, { children: [
3737
+ /* @__PURE__ */ jsx47(Colorize25, { color: "#222", children: /* @__PURE__ */ jsxs40(Union12, { children: [
3623
3738
  /* @__PURE__ */ jsx47(Translate21, { z: straightHeight / 2, children: /* @__PURE__ */ jsx47(Cuboid29, { size: [fullWidth, bodyLength10, straightHeight] }) }),
3624
- /* @__PURE__ */ jsxs39(Hull14, { children: [
3739
+ /* @__PURE__ */ jsxs40(Hull14, { children: [
3625
3740
  /* @__PURE__ */ jsx47(Translate21, { z: straightHeight, children: /* @__PURE__ */ jsx47(Cuboid29, { size: [fullWidth, bodyLength10, 0.01] }) }),
3626
3741
  /* @__PURE__ */ jsx47(Translate21, { z: bodyHeight, children: /* @__PURE__ */ jsx47(
3627
3742
  Cuboid29,
@@ -3644,7 +3759,7 @@ var SOD123FL = () => {
3644
3759
 
3645
3760
  // lib/sod-123W.tsx
3646
3761
  import { Colorize as Colorize26, Cuboid as Cuboid30, Hull as Hull15, Translate as Translate22, Union as Union13 } from "jscad-fiber";
3647
- import { Fragment as Fragment41, jsx as jsx48, jsxs as jsxs40 } from "react/jsx-runtime";
3762
+ import { Fragment as Fragment41, jsx as jsx48, jsxs as jsxs41 } from "react/jsx-runtime";
3648
3763
  var SOD123W = ({
3649
3764
  bodyWidth = 2.6,
3650
3765
  bodyLength: bodyLength10 = 1.7,
@@ -3659,7 +3774,7 @@ var SOD123W = ({
3659
3774
  const taperOffset = 0.4;
3660
3775
  const lowerTaperOffset = 0.1;
3661
3776
  const straightHeight = bodyHeight * 0.2;
3662
- return /* @__PURE__ */ jsxs40(Fragment41, { children: [
3777
+ return /* @__PURE__ */ jsxs41(Fragment41, { children: [
3663
3778
  /* @__PURE__ */ jsx48(
3664
3779
  Cuboid30,
3665
3780
  {
@@ -3676,8 +3791,8 @@ var SOD123W = ({
3676
3791
  center: [rightPadCenterX, 0, padThickness / 2]
3677
3792
  }
3678
3793
  ),
3679
- /* @__PURE__ */ jsx48(Colorize26, { color: "#222", children: /* @__PURE__ */ jsxs40(Union13, { children: [
3680
- /* @__PURE__ */ jsxs40(Hull15, { children: [
3794
+ /* @__PURE__ */ jsx48(Colorize26, { color: "#222", children: /* @__PURE__ */ jsxs41(Union13, { children: [
3795
+ /* @__PURE__ */ jsxs41(Hull15, { children: [
3681
3796
  /* @__PURE__ */ jsx48(Translate22, { z: straightHeight, children: /* @__PURE__ */ jsx48(
3682
3797
  Cuboid30,
3683
3798
  {
@@ -3699,7 +3814,7 @@ var SOD123W = ({
3699
3814
  }
3700
3815
  ) })
3701
3816
  ] }),
3702
- /* @__PURE__ */ jsxs40(Hull15, { children: [
3817
+ /* @__PURE__ */ jsxs41(Hull15, { children: [
3703
3818
  /* @__PURE__ */ jsx48(Translate22, { z: straightHeight, children: /* @__PURE__ */ jsx48(Cuboid30, { size: [fullWidth, bodyLength10, 0.01] }) }),
3704
3819
  /* @__PURE__ */ jsx48(Translate22, { z: bodyHeight, children: /* @__PURE__ */ jsx48(
3705
3820
  Cuboid30,
@@ -3722,7 +3837,7 @@ var SOD123W = ({
3722
3837
 
3723
3838
  // lib/sod-123.tsx
3724
3839
  import { Cuboid as Cuboid31 } from "jscad-fiber";
3725
- import { Fragment as Fragment42, jsx as jsx49, jsxs as jsxs41 } from "react/jsx-runtime";
3840
+ import { Fragment as Fragment42, jsx as jsx49, jsxs as jsxs42 } from "react/jsx-runtime";
3726
3841
  var SOD123 = ({
3727
3842
  fullWidth = 3.7,
3728
3843
  fullLength: fullLength10 = 1.55
@@ -3738,7 +3853,7 @@ var SOD123 = ({
3738
3853
  const bodyDistance = (fullWidth - bodyWidth) / 2;
3739
3854
  const padContactLength = 0.25;
3740
3855
  const leadCurveLength = 0.2;
3741
- return /* @__PURE__ */ jsxs41(Fragment42, { children: [
3856
+ return /* @__PURE__ */ jsxs42(Fragment42, { children: [
3742
3857
  /* @__PURE__ */ jsx49(
3743
3858
  SmdChipLead,
3744
3859
  {
@@ -3799,7 +3914,7 @@ var SOD123 = ({
3799
3914
 
3800
3915
  // lib/sod-128.tsx
3801
3916
  import { Colorize as Colorize27, Cuboid as Cuboid32, Hull as Hull16, Translate as Translate23, Union as Union14 } from "jscad-fiber";
3802
- import { Fragment as Fragment43, jsx as jsx50, jsxs as jsxs42 } from "react/jsx-runtime";
3917
+ import { Fragment as Fragment43, jsx as jsx50, jsxs as jsxs43 } from "react/jsx-runtime";
3803
3918
  var SOD128 = () => {
3804
3919
  const fullWidth = 3.8;
3805
3920
  const bodyLength10 = 2.5;
@@ -3812,7 +3927,7 @@ var SOD128 = () => {
3812
3927
  const taperOffset = 0.4;
3813
3928
  const lowerTaperOffset = 0.05;
3814
3929
  const straightHeight = bodyHeight * 0.2;
3815
- return /* @__PURE__ */ jsxs42(Fragment43, { children: [
3930
+ return /* @__PURE__ */ jsxs43(Fragment43, { children: [
3816
3931
  /* @__PURE__ */ jsx50(
3817
3932
  Cuboid32,
3818
3933
  {
@@ -3829,8 +3944,8 @@ var SOD128 = () => {
3829
3944
  center: [rightPadCenterX, 0, padThickness / 2]
3830
3945
  }
3831
3946
  ),
3832
- /* @__PURE__ */ jsx50(Colorize27, { color: "#222", children: /* @__PURE__ */ jsxs42(Union14, { children: [
3833
- /* @__PURE__ */ jsxs42(Hull16, { children: [
3947
+ /* @__PURE__ */ jsx50(Colorize27, { color: "#222", children: /* @__PURE__ */ jsxs43(Union14, { children: [
3948
+ /* @__PURE__ */ jsxs43(Hull16, { children: [
3834
3949
  /* @__PURE__ */ jsx50(Translate23, { z: straightHeight, children: /* @__PURE__ */ jsx50(
3835
3950
  Cuboid32,
3836
3951
  {
@@ -3852,7 +3967,7 @@ var SOD128 = () => {
3852
3967
  }
3853
3968
  ) })
3854
3969
  ] }),
3855
- /* @__PURE__ */ jsxs42(Hull16, { children: [
3970
+ /* @__PURE__ */ jsxs43(Hull16, { children: [
3856
3971
  /* @__PURE__ */ jsx50(Translate23, { z: straightHeight, children: /* @__PURE__ */ jsx50(Cuboid32, { size: [fullWidth, bodyLength10, 0.01] }) }),
3857
3972
  /* @__PURE__ */ jsx50(Translate23, { z: bodyHeight, children: /* @__PURE__ */ jsx50(
3858
3973
  Cuboid32,
@@ -3875,7 +3990,7 @@ var SOD128 = () => {
3875
3990
 
3876
3991
  // lib/SOD-923.tsx
3877
3992
  import { Colorize as Colorize28, Cuboid as Cuboid33, Hull as Hull17, Translate as Translate24, Union as Union15 } from "jscad-fiber";
3878
- import { Fragment as Fragment44, jsx as jsx51, jsxs as jsxs43 } from "react/jsx-runtime";
3993
+ import { Fragment as Fragment44, jsx as jsx51, jsxs as jsxs44 } from "react/jsx-runtime";
3879
3994
  var SOD923 = () => {
3880
3995
  const fullWidth = 0.8;
3881
3996
  const bodyLength10 = 0.6;
@@ -3887,7 +4002,7 @@ var SOD923 = () => {
3887
4002
  const rightPadCenterX = fullWidth / 2;
3888
4003
  const taperOffset = 0.1;
3889
4004
  const straightHeight = padThickness;
3890
- return /* @__PURE__ */ jsxs43(Fragment44, { children: [
4005
+ return /* @__PURE__ */ jsxs44(Fragment44, { children: [
3891
4006
  /* @__PURE__ */ jsx51(
3892
4007
  Cuboid33,
3893
4008
  {
@@ -3904,9 +4019,9 @@ var SOD923 = () => {
3904
4019
  center: [rightPadCenterX, 0, padThickness / 2]
3905
4020
  }
3906
4021
  ),
3907
- /* @__PURE__ */ jsx51(Colorize28, { color: "#222", children: /* @__PURE__ */ jsxs43(Union15, { children: [
4022
+ /* @__PURE__ */ jsx51(Colorize28, { color: "#222", children: /* @__PURE__ */ jsxs44(Union15, { children: [
3908
4023
  /* @__PURE__ */ jsx51(Translate24, { z: straightHeight / 2, children: /* @__PURE__ */ jsx51(Cuboid33, { size: [fullWidth, bodyLength10, straightHeight] }) }),
3909
- /* @__PURE__ */ jsxs43(Hull17, { children: [
4024
+ /* @__PURE__ */ jsxs44(Hull17, { children: [
3910
4025
  /* @__PURE__ */ jsx51(Translate24, { z: straightHeight, children: /* @__PURE__ */ jsx51(Cuboid33, { size: [fullWidth, bodyLength10, 0.01] }) }),
3911
4026
  /* @__PURE__ */ jsx51(Translate24, { z: bodyHeight, children: /* @__PURE__ */ jsx51(
3912
4027
  Cuboid33,
@@ -3920,7 +4035,7 @@ var SOD923 = () => {
3920
4035
  };
3921
4036
 
3922
4037
  // lib/SOT-223.tsx
3923
- import { Fragment as Fragment45, jsx as jsx52, jsxs as jsxs44 } from "react/jsx-runtime";
4038
+ import { Fragment as Fragment45, jsx as jsx52, jsxs as jsxs45 } from "react/jsx-runtime";
3924
4039
  var SOT223 = ({
3925
4040
  fullWidth = 6.6,
3926
4041
  bodyWidth = 3.5,
@@ -3935,7 +4050,7 @@ var SOT223 = ({
3935
4050
  const leadThickness = 0.25;
3936
4051
  const padContactLength = 0.5;
3937
4052
  const extendedBodyDistance = fullWidth - bodyWidth;
3938
- return /* @__PURE__ */ jsxs44(Fragment45, { children: [
4053
+ return /* @__PURE__ */ jsxs45(Fragment45, { children: [
3939
4054
  /* @__PURE__ */ jsx52(
3940
4055
  SmdChipLead,
3941
4056
  {
@@ -4017,7 +4132,7 @@ var SOT223 = ({
4017
4132
  };
4018
4133
 
4019
4134
  // lib/tqfp.tsx
4020
- import { Fragment as Fragment46, jsx as jsx53, jsxs as jsxs45 } from "react/jsx-runtime";
4135
+ import { Fragment as Fragment46, jsx as jsx53, jsxs as jsxs46 } from "react/jsx-runtime";
4021
4136
  var TQFP = () => {
4022
4137
  const pinCount = 64;
4023
4138
  const pitch = 0.5;
@@ -4032,7 +4147,7 @@ var TQFP = () => {
4032
4147
  const leadHeight = 0.65;
4033
4148
  const leadThickness = 0.25;
4034
4149
  const bodyDistance = (fullWidth - bodyWidth) / 2 + 0.2;
4035
- return /* @__PURE__ */ jsxs45(Fragment46, { children: [
4150
+ return /* @__PURE__ */ jsxs46(Fragment46, { children: [
4036
4151
  Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx53(
4037
4152
  SmdChipLead,
4038
4153
  {
@@ -4118,7 +4233,7 @@ var TQFP = () => {
4118
4233
  var tqfp_default = TQFP;
4119
4234
 
4120
4235
  // lib/SOT-323.tsx
4121
- import { Fragment as Fragment47, jsx as jsx54, jsxs as jsxs46 } from "react/jsx-runtime";
4236
+ import { Fragment as Fragment47, jsx as jsx54, jsxs as jsxs47 } from "react/jsx-runtime";
4122
4237
  var SOT323 = () => {
4123
4238
  const fullWidth = 2.05;
4124
4239
  const bodyWidth = 1.25;
@@ -4130,7 +4245,7 @@ var SOT323 = () => {
4130
4245
  const padContactLength = 0.2;
4131
4246
  const padPitch = 0.65;
4132
4247
  const extendedBodyDistance = fullWidth - bodyWidth;
4133
- return /* @__PURE__ */ jsxs46(Fragment47, { children: [
4248
+ return /* @__PURE__ */ jsxs47(Fragment47, { children: [
4134
4249
  /* @__PURE__ */ jsx54(
4135
4250
  SmdChipLead,
4136
4251
  {
@@ -4206,7 +4321,7 @@ import {
4206
4321
  Translate as Translate25,
4207
4322
  Union as Union16
4208
4323
  } from "jscad-fiber";
4209
- import { Fragment as Fragment48, jsx as jsx55, jsxs as jsxs47 } from "react/jsx-runtime";
4324
+ import { Fragment as Fragment48, jsx as jsx55, jsxs as jsxs48 } from "react/jsx-runtime";
4210
4325
  function createPhysicalLqfp(p) {
4211
4326
  const {
4212
4327
  pinCount,
@@ -4250,7 +4365,7 @@ function createPhysicalLqfp(p) {
4250
4365
  throw new Error("Invalid mold, lead spacing, or terminal reach");
4251
4366
  const midZ = standoff + moldHeight / 2;
4252
4367
  const slice = Math.min(2e-3, moldHeight / 100);
4253
- const body = /* @__PURE__ */ jsxs47(Hull18, { children: [
4368
+ const body = /* @__PURE__ */ jsxs48(Hull18, { children: [
4254
4369
  /* @__PURE__ */ jsx55(Translate25, { z: standoff + slice / 2, children: /* @__PURE__ */ jsx55(
4255
4370
  Cuboid34,
4256
4371
  {
@@ -4311,13 +4426,13 @@ function createPhysicalLqfp(p) {
4311
4426
  )
4312
4427
  }
4313
4428
  );
4314
- return /* @__PURE__ */ jsx55(Union16, { children: points.slice(1).map((point, i) => /* @__PURE__ */ jsxs47(Hull18, { children: [
4429
+ return /* @__PURE__ */ jsx55(Union16, { children: points.slice(1).map((point, i) => /* @__PURE__ */ jsxs48(Hull18, { children: [
4315
4430
  section(points[i]),
4316
4431
  section(point)
4317
4432
  ] }, i)) });
4318
4433
  };
4319
- return /* @__PURE__ */ jsxs47(Fragment48, { children: [
4320
- /* @__PURE__ */ jsx55(Colorize29, { color: "#353535", children: /* @__PURE__ */ jsxs47(Subtract7, { children: [
4434
+ return /* @__PURE__ */ jsxs48(Fragment48, { children: [
4435
+ /* @__PURE__ */ jsx55(Colorize29, { color: "#353535", children: /* @__PURE__ */ jsxs48(Subtract7, { children: [
4321
4436
  body,
4322
4437
  /* @__PURE__ */ jsx55(
4323
4438
  Translate25,
@@ -4342,7 +4457,7 @@ function createPhysicalLqfp(p) {
4342
4457
  }
4343
4458
 
4344
4459
  // lib/lqfp.tsx
4345
- import { Fragment as Fragment49, jsx as jsx56, jsxs as jsxs48 } from "react/jsx-runtime";
4460
+ import { Fragment as Fragment49, jsx as jsx56, jsxs as jsxs49 } from "react/jsx-runtime";
4346
4461
  var LegacyLQFP = ({
4347
4462
  pinCount,
4348
4463
  pitch,
@@ -4365,7 +4480,7 @@ var LegacyLQFP = ({
4365
4480
  const leadHeight = 0.8;
4366
4481
  const leadThickness = 0.2;
4367
4482
  const bodyDistance = (fullWidth - bodyWidth) / 2 + 0.4;
4368
- return /* @__PURE__ */ jsxs48(Fragment49, { children: [
4483
+ return /* @__PURE__ */ jsxs49(Fragment49, { children: [
4369
4484
  Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx56(
4370
4485
  SmdChipLead,
4371
4486
  {
@@ -4457,7 +4572,7 @@ var LQFP = (props) => "leadSpanX" in props ? createPhysicalLqfp(props) : LegacyL
4457
4572
 
4458
4573
  // lib/SOT-723.tsx
4459
4574
  import { Cuboid as Cuboid35, Translate as Translate26, Colorize as Colorize30, Hull as Hull19, Union as Union17 } from "jscad-fiber";
4460
- import { Fragment as Fragment50, jsx as jsx57, jsxs as jsxs49 } from "react/jsx-runtime";
4575
+ import { Fragment as Fragment50, jsx as jsx57, jsxs as jsxs50 } from "react/jsx-runtime";
4461
4576
  var SOT723 = () => {
4462
4577
  const bodyWidth = 0.85;
4463
4578
  const bodyLength10 = 1.2;
@@ -4474,8 +4589,8 @@ var SOT723 = () => {
4474
4589
  const leftTopPadCenterY = 0.4;
4475
4590
  const leftBottomPadCenterX = -0.55;
4476
4591
  const leftBottomPadCenterY = -0.4;
4477
- return /* @__PURE__ */ jsxs49(Fragment50, { children: [
4478
- /* @__PURE__ */ jsx57(Colorize30, { color: "#222", children: /* @__PURE__ */ jsxs49(Union17, { children: [
4592
+ return /* @__PURE__ */ jsxs50(Fragment50, { children: [
4593
+ /* @__PURE__ */ jsx57(Colorize30, { color: "#222", children: /* @__PURE__ */ jsxs50(Union17, { children: [
4479
4594
  /* @__PURE__ */ jsx57(
4480
4595
  Cuboid35,
4481
4596
  {
@@ -4483,7 +4598,7 @@ var SOT723 = () => {
4483
4598
  center: [0, 0, straightHeight / 2]
4484
4599
  }
4485
4600
  ),
4486
- /* @__PURE__ */ jsxs49(Hull19, { children: [
4601
+ /* @__PURE__ */ jsxs50(Hull19, { children: [
4487
4602
  /* @__PURE__ */ jsx57(Translate26, { z: straightHeight, children: /* @__PURE__ */ jsx57(Cuboid35, { size: [bodyWidth, bodyLength10, 0.01] }) }),
4488
4603
  /* @__PURE__ */ jsx57(Translate26, { z: bodyHeight, children: /* @__PURE__ */ jsx57(
4489
4604
  Cuboid35,
@@ -4522,7 +4637,7 @@ var SOT723 = () => {
4522
4637
 
4523
4638
  // lib/dfn.tsx
4524
4639
  import { Colorize as Colorize31, Cuboid as Cuboid36, Hull as Hull20, Subtract as Subtract8 } from "jscad-fiber";
4525
- import { Fragment as Fragment51, jsx as jsx58, jsxs as jsxs50 } from "react/jsx-runtime";
4640
+ import { Fragment as Fragment51, jsx as jsx58, jsxs as jsxs51 } from "react/jsx-runtime";
4526
4641
  var DFN = ({
4527
4642
  num_pins,
4528
4643
  bodyWidth = 5.3,
@@ -4603,13 +4718,13 @@ var DFN = ({
4603
4718
  center: [0, 0, standoff + bodyThickness / 2]
4604
4719
  }
4605
4720
  );
4606
- return /* @__PURE__ */ jsxs50(Fragment51, { children: [
4607
- /* @__PURE__ */ jsx58(Colorize31, { color: "#25272a", children: pin1MarkWidth > 0 ? /* @__PURE__ */ jsxs50(Subtract8, { children: [
4721
+ return /* @__PURE__ */ jsxs51(Fragment51, { children: [
4722
+ /* @__PURE__ */ jsx58(Colorize31, { color: "#25272a", children: pin1MarkWidth > 0 ? /* @__PURE__ */ jsxs51(Subtract8, { children: [
4608
4723
  body,
4609
4724
  stripe
4610
4725
  ] }) : body }),
4611
4726
  /* @__PURE__ */ jsx58(Colorize31, { color: "#c7c9cd", children: pinPositions.map(
4612
- (p) => p.pinNumber === 1 && pin1TerminalChamfer > 0 ? /* @__PURE__ */ jsxs50(Hull20, { children: [
4727
+ (p) => p.pinNumber === 1 && pin1TerminalChamfer > 0 ? /* @__PURE__ */ jsxs51(Hull20, { children: [
4613
4728
  /* @__PURE__ */ jsx58(
4614
4729
  Cuboid36,
4615
4730
  {
@@ -4660,7 +4775,7 @@ var DFN = ({
4660
4775
  pin1MarkWidth > 0 && /* @__PURE__ */ jsx58(Colorize31, { color: "#969997", children: stripe })
4661
4776
  ] });
4662
4777
  }
4663
- return /* @__PURE__ */ jsxs50(Fragment51, { children: [
4778
+ return /* @__PURE__ */ jsxs51(Fragment51, { children: [
4664
4779
  /* @__PURE__ */ jsx58(
4665
4780
  ChipBody,
4666
4781
  {
@@ -4703,7 +4818,7 @@ var DFN = ({
4703
4818
 
4704
4819
  // lib/hc49.tsx
4705
4820
  import { Colorize as Colorize32, Cylinder as Cylinder10, Hull as Hull21, RoundedCylinder } from "jscad-fiber";
4706
- import { Fragment as Fragment52, jsx as jsx59, jsxs as jsxs51 } from "react/jsx-runtime";
4821
+ import { Fragment as Fragment52, jsx as jsx59, jsxs as jsxs52 } from "react/jsx-runtime";
4707
4822
  var HC49 = ({
4708
4823
  bodyLength: bodyLength10 = 10.2,
4709
4824
  bodyWidth = 4.65,
@@ -4719,9 +4834,9 @@ var HC49 = ({
4719
4834
  const endCenterX = halfLength - endRadius;
4720
4835
  const leadCenterX = leadSpacing / 2;
4721
4836
  const baseHeight = 0.85;
4722
- return /* @__PURE__ */ jsxs51(Fragment52, { children: [
4723
- /* @__PURE__ */ jsxs51(Colorize32, { color, children: [
4724
- /* @__PURE__ */ jsxs51(Hull21, { children: [
4837
+ return /* @__PURE__ */ jsxs52(Fragment52, { children: [
4838
+ /* @__PURE__ */ jsxs52(Colorize32, { color, children: [
4839
+ /* @__PURE__ */ jsxs52(Hull21, { children: [
4725
4840
  /* @__PURE__ */ jsx59(
4726
4841
  RoundedCylinder,
4727
4842
  {
@@ -4741,7 +4856,7 @@ var HC49 = ({
4741
4856
  }
4742
4857
  )
4743
4858
  ] }),
4744
- /* @__PURE__ */ jsxs51(Hull21, { children: [
4859
+ /* @__PURE__ */ jsxs52(Hull21, { children: [
4745
4860
  /* @__PURE__ */ jsx59(
4746
4861
  RoundedCylinder,
4747
4862
  {
@@ -4762,7 +4877,7 @@ var HC49 = ({
4762
4877
  )
4763
4878
  ] })
4764
4879
  ] }),
4765
- /* @__PURE__ */ jsxs51(Colorize32, { color: leadColor, children: [
4880
+ /* @__PURE__ */ jsxs52(Colorize32, { color: leadColor, children: [
4766
4881
  /* @__PURE__ */ jsx59(
4767
4882
  Cylinder10,
4768
4883
  {
@@ -4791,7 +4906,7 @@ import {
4791
4906
  Rotate as Rotate8,
4792
4907
  RoundedCuboid as RoundedCuboid3
4793
4908
  } from "jscad-fiber";
4794
- import { Fragment as Fragment53, jsx as jsx60, jsxs as jsxs52 } from "react/jsx-runtime";
4909
+ import { Fragment as Fragment53, jsx as jsx60, jsxs as jsxs53 } from "react/jsx-runtime";
4795
4910
  var MicroMELF = ({
4796
4911
  bodyLength: bodyLength10 = 1.4,
4797
4912
  bodyDiameter = 1.1,
@@ -4800,8 +4915,8 @@ var MicroMELF = ({
4800
4915
  cathodeIdentification = "#111"
4801
4916
  }) => {
4802
4917
  const padLength = 0.2;
4803
- return /* @__PURE__ */ jsxs52(Fragment53, { children: [
4804
- /* @__PURE__ */ jsx60(Colorize33, { color, children: /* @__PURE__ */ jsxs52(Rotate8, { rotation: [0, "90deg", 0], children: [
4918
+ return /* @__PURE__ */ jsxs53(Fragment53, { children: [
4919
+ /* @__PURE__ */ jsx60(Colorize33, { color, children: /* @__PURE__ */ jsxs53(Rotate8, { rotation: [0, "90deg", 0], children: [
4805
4920
  /* @__PURE__ */ jsx60(
4806
4921
  RoundedCuboid3,
4807
4922
  {
@@ -4850,7 +4965,7 @@ var MicroMELF = ({
4850
4965
 
4851
4966
  // lib/MINIMELF.tsx
4852
4967
  import { Colorize as Colorize34, Cylinder as Cylinder12, RoundedCylinder as RoundedCylinder3, Rotate as Rotate9 } from "jscad-fiber";
4853
- import { Fragment as Fragment54, jsx as jsx61, jsxs as jsxs53 } from "react/jsx-runtime";
4968
+ import { Fragment as Fragment54, jsx as jsx61, jsxs as jsxs54 } from "react/jsx-runtime";
4854
4969
  var MINIMELF = ({
4855
4970
  bodyLength: bodyLength10 = 3.5,
4856
4971
  bodyDiameter = 1.5,
@@ -4864,7 +4979,7 @@ var MINIMELF = ({
4864
4979
  const contactRadius = bodyDiameter / 2 + 0.02;
4865
4980
  const bandLength = 0.14;
4866
4981
  const bandOffset = -bodyLength10 / 2 + contactLength + 0.35;
4867
- return /* @__PURE__ */ jsxs53(Fragment54, { children: [
4982
+ return /* @__PURE__ */ jsxs54(Fragment54, { children: [
4868
4983
  /* @__PURE__ */ jsx61(Colorize34, { color, children: /* @__PURE__ */ jsx61(Rotate9, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx61(
4869
4984
  RoundedCylinder3,
4870
4985
  {
@@ -4905,7 +5020,7 @@ var MINIMELF = ({
4905
5020
 
4906
5021
  // lib/MELF.tsx
4907
5022
  import { Colorize as Colorize35, RoundedCylinder as RoundedCylinder4, Rotate as Rotate10 } from "jscad-fiber";
4908
- import { Fragment as Fragment55, jsx as jsx62, jsxs as jsxs54 } from "react/jsx-runtime";
5023
+ import { Fragment as Fragment55, jsx as jsx62, jsxs as jsxs55 } from "react/jsx-runtime";
4909
5024
  var MELF = ({
4910
5025
  bodyLength: bodyLength10 = 3.9,
4911
5026
  bodyDiameter = 2.5,
@@ -4913,7 +5028,7 @@ var MELF = ({
4913
5028
  contactColor = "#c6c6c6"
4914
5029
  }) => {
4915
5030
  const padLength = 0.55;
4916
- return /* @__PURE__ */ jsxs54(Fragment55, { children: [
5031
+ return /* @__PURE__ */ jsxs55(Fragment55, { children: [
4917
5032
  /* @__PURE__ */ jsx62(Colorize35, { color, children: /* @__PURE__ */ jsx62(Rotate10, { rotation: [0, "90deg", 0], children: /* @__PURE__ */ jsx62(
4918
5033
  RoundedCylinder4,
4919
5034
  {
@@ -4945,7 +5060,7 @@ var MELF = ({
4945
5060
  };
4946
5061
 
4947
5062
  // lib/ms012.tsx
4948
- import { Fragment as Fragment56, jsx as jsx63, jsxs as jsxs55 } from "react/jsx-runtime";
5063
+ import { Fragment as Fragment56, jsx as jsx63, jsxs as jsxs56 } from "react/jsx-runtime";
4949
5064
  var MS012 = ({
4950
5065
  pinCount,
4951
5066
  padContactLength = 0.6,
@@ -4960,7 +5075,7 @@ var MS012 = ({
4960
5075
  const bodyLength10 = 3.9;
4961
5076
  const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
4962
5077
  const leadThickness = 0.2;
4963
- return /* @__PURE__ */ jsxs55(Fragment56, { children: [
5078
+ return /* @__PURE__ */ jsxs56(Fragment56, { children: [
4964
5079
  Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx63(
4965
5080
  SmdChipLead,
4966
5081
  {
@@ -5014,7 +5129,7 @@ var MS012 = ({
5014
5129
  };
5015
5130
 
5016
5131
  // lib/ms013.tsx
5017
- import { Fragment as Fragment57, jsx as jsx64, jsxs as jsxs56 } from "react/jsx-runtime";
5132
+ import { Fragment as Fragment57, jsx as jsx64, jsxs as jsxs57 } from "react/jsx-runtime";
5018
5133
  var MS013 = ({
5019
5134
  pinCount = 16,
5020
5135
  padContactLength = 0.6,
@@ -5029,7 +5144,7 @@ var MS013 = ({
5029
5144
  const bodyLength10 = 10.3;
5030
5145
  const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
5031
5146
  const leadThickness = 0.2;
5032
- return /* @__PURE__ */ jsxs56(Fragment57, { children: [
5147
+ return /* @__PURE__ */ jsxs57(Fragment57, { children: [
5033
5148
  Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx64(
5034
5149
  SmdChipLead,
5035
5150
  {
@@ -5091,7 +5206,7 @@ import {
5091
5206
  Subtract as Subtract9,
5092
5207
  Translate as Translate27
5093
5208
  } from "jscad-fiber";
5094
- import { Fragment as Fragment58, jsx as jsx65, jsxs as jsxs57 } from "react/jsx-runtime";
5209
+ import { Fragment as Fragment58, jsx as jsx65, jsxs as jsxs58 } from "react/jsx-runtime";
5095
5210
  var TO220_DEFAULT_LEADS = [
5096
5211
  { x: -2.54, y: -1 },
5097
5212
  { x: 0, y: -1 },
@@ -5121,7 +5236,7 @@ var TO220 = ({
5121
5236
  const holeZ = tabTop - Math.max(mountingHoleDiameter * 0.8, 2.6);
5122
5237
  const leadWidth = 0.8;
5123
5238
  const leadThickness = 0.5;
5124
- return /* @__PURE__ */ jsxs57(Fragment58, { children: [
5239
+ return /* @__PURE__ */ jsxs58(Fragment58, { children: [
5125
5240
  /* @__PURE__ */ jsx65(Colorize36, { color: bodyColor, children: /* @__PURE__ */ jsx65(
5126
5241
  Cuboid38,
5127
5242
  {
@@ -5129,7 +5244,7 @@ var TO220 = ({
5129
5244
  center: [centerX, centerY, bodyBottom + bodyHeight / 2]
5130
5245
  }
5131
5246
  ) }),
5132
- /* @__PURE__ */ jsx65(Colorize36, { color: mouldedTab ? bodyColor : tabColor, children: /* @__PURE__ */ jsxs57(Subtract9, { children: [
5247
+ /* @__PURE__ */ jsx65(Colorize36, { color: mouldedTab ? bodyColor : tabColor, children: /* @__PURE__ */ jsxs58(Subtract9, { children: [
5133
5248
  /* @__PURE__ */ jsx65(
5134
5249
  Cuboid38,
5135
5250
  {
@@ -5156,7 +5271,7 @@ var TO220 = ({
5156
5271
  };
5157
5272
 
5158
5273
  // lib/SOT-457.tsx
5159
- import { Fragment as Fragment59, jsx as jsx66, jsxs as jsxs58 } from "react/jsx-runtime";
5274
+ import { Fragment as Fragment59, jsx as jsx66, jsxs as jsxs59 } from "react/jsx-runtime";
5160
5275
  var SOT457 = () => {
5161
5276
  const fullWidth = 2.8;
5162
5277
  const bodyWidth = 1.6;
@@ -5168,7 +5283,7 @@ var SOT457 = () => {
5168
5283
  const padContactLength = 0.5;
5169
5284
  const padPitch = 0.95;
5170
5285
  const extendedBodyDistance = fullWidth - bodyWidth;
5171
- return /* @__PURE__ */ jsxs58(Fragment59, { children: [
5286
+ return /* @__PURE__ */ jsxs59(Fragment59, { children: [
5172
5287
  /* @__PURE__ */ jsx66(
5173
5288
  SmdChipLead,
5174
5289
  {
@@ -5289,7 +5404,7 @@ var SOT457 = () => {
5289
5404
 
5290
5405
  // lib/SOT-963.tsx
5291
5406
  import { Cuboid as Cuboid39 } from "jscad-fiber";
5292
- import { Fragment as Fragment60, jsx as jsx67, jsxs as jsxs59 } from "react/jsx-runtime";
5407
+ import { Fragment as Fragment60, jsx as jsx67, jsxs as jsxs60 } from "react/jsx-runtime";
5293
5408
  var SOT963 = () => {
5294
5409
  const bodyWidth = 0.8;
5295
5410
  const bodyLength10 = 1;
@@ -5300,7 +5415,7 @@ var SOT963 = () => {
5300
5415
  const pitch = 0.35;
5301
5416
  const pinsPerSide = 3;
5302
5417
  const pinSpan = pitch * (pinsPerSide - 1);
5303
- return /* @__PURE__ */ jsxs59(Fragment60, { children: [
5418
+ return /* @__PURE__ */ jsxs60(Fragment60, { children: [
5304
5419
  /* @__PURE__ */ jsx67(
5305
5420
  ChipBody,
5306
5421
  {
@@ -5361,7 +5476,7 @@ import {
5361
5476
  Cylinder as Cylinder14,
5362
5477
  Subtract as Subtract10
5363
5478
  } from "jscad-fiber";
5364
- import { Fragment as Fragment61, jsx as jsx68, jsxs as jsxs60 } from "react/jsx-runtime";
5479
+ import { Fragment as Fragment61, jsx as jsx68, jsxs as jsxs61 } from "react/jsx-runtime";
5365
5480
  var TO92_DEFAULT_LEADS = [
5366
5481
  { x: -1.27, y: 0.98 },
5367
5482
  { x: 0, y: 2.25 },
@@ -5420,8 +5535,8 @@ var TO92 = ({
5420
5535
  legWidth,
5421
5536
  legThickness
5422
5537
  ];
5423
- return /* @__PURE__ */ jsxs60(Fragment61, { children: [
5424
- /* @__PURE__ */ jsx68(Colorize37, { color: bodyColor, children: /* @__PURE__ */ jsxs60(Subtract10, { children: [
5538
+ return /* @__PURE__ */ jsxs61(Fragment61, { children: [
5539
+ /* @__PURE__ */ jsx68(Colorize37, { color: bodyColor, children: /* @__PURE__ */ jsxs61(Subtract10, { children: [
5425
5540
  /* @__PURE__ */ jsx68(
5426
5541
  Translate28,
5427
5542
  {
@@ -5443,8 +5558,8 @@ var TO92 = ({
5443
5558
  ] }) }),
5444
5559
  leads.map((lead, index) => {
5445
5560
  const exit = exitFor(index);
5446
- return /* @__PURE__ */ jsxs60(Translate28, { center: [0, 0, 0], children: [
5447
- /* @__PURE__ */ jsxs60(Hull22, { children: [
5561
+ return /* @__PURE__ */ jsxs61(Translate28, { center: [0, 0, 0], children: [
5562
+ /* @__PURE__ */ jsxs61(Hull22, { children: [
5448
5563
  /* @__PURE__ */ jsx68(Translate28, { center: [lead.x, lead.y, 0], children: /* @__PURE__ */ jsx68(Cuboid40, { size: leadSize }) }),
5449
5564
  /* @__PURE__ */ jsx68(Translate28, { center: [exit.x, exit.y, standoff], children: /* @__PURE__ */ jsx68(Cuboid40, { size: leadSize }) })
5450
5565
  ] }),
@@ -5455,7 +5570,7 @@ var TO92 = ({
5455
5570
  };
5456
5571
 
5457
5572
  // lib/SOT-363.tsx
5458
- import { Fragment as Fragment62, jsx as jsx69, jsxs as jsxs61 } from "react/jsx-runtime";
5573
+ import { Fragment as Fragment62, jsx as jsx69, jsxs as jsxs62 } from "react/jsx-runtime";
5459
5574
  var SOT363 = () => {
5460
5575
  const fullWidth = 2;
5461
5576
  const bodyWidth = 1.25;
@@ -5466,7 +5581,7 @@ var SOT363 = () => {
5466
5581
  const leadHeight = 0.85;
5467
5582
  const padContactLength = 0.3;
5468
5583
  const extendedBodyDistance = fullWidth - bodyWidth;
5469
- return /* @__PURE__ */ jsxs61(Fragment62, { children: [
5584
+ return /* @__PURE__ */ jsxs62(Fragment62, { children: [
5470
5585
  /* @__PURE__ */ jsx69(
5471
5586
  SmdChipLead,
5472
5587
  {
@@ -5588,7 +5703,7 @@ var SOT_363_default = SOT363;
5588
5703
 
5589
5704
  // lib/SOT-886.tsx
5590
5705
  import { Cuboid as Cuboid41 } from "jscad-fiber";
5591
- import { Fragment as Fragment63, jsx as jsx70, jsxs as jsxs62 } from "react/jsx-runtime";
5706
+ import { Fragment as Fragment63, jsx as jsx70, jsxs as jsxs63 } from "react/jsx-runtime";
5592
5707
  var SOT886 = () => {
5593
5708
  const bodyWidth = 1;
5594
5709
  const bodyLength10 = 1.45;
@@ -5599,7 +5714,7 @@ var SOT886 = () => {
5599
5714
  const pitch = 0.5;
5600
5715
  const pinsPerSide = 3;
5601
5716
  const pinSpan = pitch * (pinsPerSide - 1);
5602
- return /* @__PURE__ */ jsxs62(Fragment63, { children: [
5717
+ return /* @__PURE__ */ jsxs63(Fragment63, { children: [
5603
5718
  /* @__PURE__ */ jsx70(
5604
5719
  ChipBody,
5605
5720
  {
@@ -5648,7 +5763,7 @@ var SOT886 = () => {
5648
5763
 
5649
5764
  // lib/sod-323.tsx
5650
5765
  import { Colorize as Colorize38, Cuboid as Cuboid42 } from "jscad-fiber";
5651
- import { Fragment as Fragment64, jsx as jsx71, jsxs as jsxs63 } from "react/jsx-runtime";
5766
+ import { Fragment as Fragment64, jsx as jsx71, jsxs as jsxs64 } from "react/jsx-runtime";
5652
5767
  var SOD323 = () => {
5653
5768
  const fullWidth = 2.5;
5654
5769
  const bodyLength10 = 1.4;
@@ -5660,7 +5775,7 @@ var SOD323 = () => {
5660
5775
  const padCenterX = bodyWidth / 2;
5661
5776
  const bodyDistance = 0.45;
5662
5777
  const leadHeight = 0.7;
5663
- return /* @__PURE__ */ jsxs63(Fragment64, { children: [
5778
+ return /* @__PURE__ */ jsxs64(Fragment64, { children: [
5664
5779
  /* @__PURE__ */ jsx71(
5665
5780
  SmdChipLead,
5666
5781
  {
@@ -5720,7 +5835,7 @@ var SOD323 = () => {
5720
5835
 
5721
5836
  // lib/sod-323F.tsx
5722
5837
  import { Colorize as Colorize39, Cuboid as Cuboid43, Hull as Hull24, Translate as Translate30, Union as Union19 } from "jscad-fiber";
5723
- import { Fragment as Fragment65, jsx as jsx72, jsxs as jsxs64 } from "react/jsx-runtime";
5838
+ import { Fragment as Fragment65, jsx as jsx72, jsxs as jsxs65 } from "react/jsx-runtime";
5724
5839
  var SOD323F = () => {
5725
5840
  const fullWidth = 1.7;
5726
5841
  const bodyLength10 = 1.25;
@@ -5732,7 +5847,7 @@ var SOD323F = () => {
5732
5847
  const rightPadCenterX = fullWidth / 2 + padLength / 2;
5733
5848
  const taperOffset = 0.2;
5734
5849
  const straightHeight = padThickness;
5735
- return /* @__PURE__ */ jsxs64(Fragment65, { children: [
5850
+ return /* @__PURE__ */ jsxs65(Fragment65, { children: [
5736
5851
  /* @__PURE__ */ jsx72(
5737
5852
  Cuboid43,
5738
5853
  {
@@ -5749,9 +5864,9 @@ var SOD323F = () => {
5749
5864
  center: [rightPadCenterX, 0, padThickness / 2]
5750
5865
  }
5751
5866
  ),
5752
- /* @__PURE__ */ jsx72(Colorize39, { color: "#222", children: /* @__PURE__ */ jsxs64(Union19, { children: [
5867
+ /* @__PURE__ */ jsx72(Colorize39, { color: "#222", children: /* @__PURE__ */ jsxs65(Union19, { children: [
5753
5868
  /* @__PURE__ */ jsx72(Translate30, { z: straightHeight / 2, children: /* @__PURE__ */ jsx72(Cuboid43, { size: [fullWidth, bodyLength10, straightHeight] }) }),
5754
- /* @__PURE__ */ jsxs64(Hull24, { children: [
5869
+ /* @__PURE__ */ jsxs65(Hull24, { children: [
5755
5870
  /* @__PURE__ */ jsx72(Translate30, { z: straightHeight, children: /* @__PURE__ */ jsx72(Cuboid43, { size: [fullWidth, bodyLength10, 0.01] }) }),
5756
5871
  /* @__PURE__ */ jsx72(Translate30, { z: bodyHeight, children: /* @__PURE__ */ jsx72(
5757
5872
  Cuboid43,
@@ -5774,7 +5889,7 @@ var SOD323F = () => {
5774
5889
 
5775
5890
  // lib/sod-323FL.tsx
5776
5891
  import { Colorize as Colorize40, Cuboid as Cuboid44 } from "jscad-fiber";
5777
- import { Fragment as Fragment66, jsx as jsx73, jsxs as jsxs65 } from "react/jsx-runtime";
5892
+ import { Fragment as Fragment66, jsx as jsx73, jsxs as jsxs66 } from "react/jsx-runtime";
5778
5893
  var SOD323FL = () => {
5779
5894
  const fullWidth = 1.775;
5780
5895
  const bodyLength10 = 1.25;
@@ -5785,7 +5900,7 @@ var SOD323FL = () => {
5785
5900
  const leftPadCenterX = -fullWidth / 2 - padLength / 2 + 0.04;
5786
5901
  const rightPadCenterX = fullWidth / 2 + padLength / 2 - 0.04;
5787
5902
  const taperOffset = 0.2;
5788
- return /* @__PURE__ */ jsxs65(Fragment66, { children: [
5903
+ return /* @__PURE__ */ jsxs66(Fragment66, { children: [
5789
5904
  /* @__PURE__ */ jsx73(
5790
5905
  Cuboid44,
5791
5906
  {
@@ -5828,10 +5943,10 @@ var SOD323FL = () => {
5828
5943
 
5829
5944
  // lib/AxialCapacitor.tsx
5830
5945
  import { Colorize as Colorize41, Cylinder as Cylinder15, Rotate as Rotate12, Sphere as Sphere2, Translate as Translate32 } from "jscad-fiber";
5831
- import { Fragment as Fragment67, jsx as jsx74, jsxs as jsxs66 } from "react/jsx-runtime";
5946
+ import { Fragment as Fragment67, jsx as jsx74, jsxs as jsxs67 } from "react/jsx-runtime";
5832
5947
  var AxialCapacitor = ({ pitch = 10 }) => {
5833
5948
  const heightToCenterOfCapacitor = 0.5 + 4 / 2;
5834
- return /* @__PURE__ */ jsxs66(Fragment67, { children: [
5949
+ return /* @__PURE__ */ jsxs67(Fragment67, { children: [
5835
5950
  /* @__PURE__ */ jsx74(Cylinder15, { height: 4, radius: 0.5, center: [-pitch / 2, 0, 0.5] }),
5836
5951
  /* @__PURE__ */ jsx74(
5837
5952
  Sphere2,
@@ -5840,7 +5955,7 @@ var AxialCapacitor = ({ pitch = 10 }) => {
5840
5955
  center: [-pitch / 2, 0, heightToCenterOfCapacitor]
5841
5956
  }
5842
5957
  ),
5843
- /* @__PURE__ */ jsx74(Translate32, { x: -2.5, y: 0, z: heightToCenterOfCapacitor, children: /* @__PURE__ */ jsxs66(Rotate12, { rotation: [0, Math.PI / 2, 0], children: [
5958
+ /* @__PURE__ */ jsx74(Translate32, { x: -2.5, y: 0, z: heightToCenterOfCapacitor, children: /* @__PURE__ */ jsxs67(Rotate12, { rotation: [0, Math.PI / 2, 0], children: [
5844
5959
  /* @__PURE__ */ jsx74(
5845
5960
  Cylinder15,
5846
5961
  {
@@ -5865,7 +5980,7 @@ var AxialCapacitor = ({ pitch = 10 }) => {
5865
5980
 
5866
5981
  // lib/stampboard.tsx
5867
5982
  import { Colorize as Colorize42, Cuboid as Cuboid45, Cylinder as Cylinder16, Subtract as Subtract11, Union as Union21 } from "jscad-fiber";
5868
- import { Fragment as Fragment68, jsx as jsx75, jsxs as jsxs67 } from "react/jsx-runtime";
5983
+ import { Fragment as Fragment68, jsx as jsx75, jsxs as jsxs68 } from "react/jsx-runtime";
5869
5984
  var StampBoard = ({
5870
5985
  bodyWidth = 21,
5871
5986
  boardThickness = 0.5,
@@ -5963,7 +6078,7 @@ var StampBoard = ({
5963
6078
  }
5964
6079
  }
5965
6080
  }
5966
- const boardBody = /* @__PURE__ */ jsx75(Colorize42, { color: "#051a0a", children: /* @__PURE__ */ jsxs67(Subtract11, { children: [
6081
+ const boardBody = /* @__PURE__ */ jsx75(Colorize42, { color: "#051a0a", children: /* @__PURE__ */ jsxs68(Subtract11, { children: [
5967
6082
  /* @__PURE__ */ jsx75(
5968
6083
  Cuboid45,
5969
6084
  {
@@ -5998,9 +6113,9 @@ var StampBoard = ({
5998
6113
  },
5999
6114
  index
6000
6115
  ));
6001
- return /* @__PURE__ */ jsxs67(Fragment68, { children: [
6116
+ return /* @__PURE__ */ jsxs68(Fragment68, { children: [
6002
6117
  boardBody,
6003
- /* @__PURE__ */ jsx75(Colorize42, { color: "#FFD700", children: innerHoles ? /* @__PURE__ */ jsxs67(Subtract11, { children: [
6118
+ /* @__PURE__ */ jsx75(Colorize42, { color: "#FFD700", children: innerHoles ? /* @__PURE__ */ jsxs68(Subtract11, { children: [
6004
6119
  /* @__PURE__ */ jsx75(Union21, { children: pads.map((pad, index) => /* @__PURE__ */ jsx75(
6005
6120
  Cuboid45,
6006
6121
  {
@@ -6019,7 +6134,7 @@ import { Colorize as Colorize44, Cuboid as Cuboid47, Cylinder as Cylinder17, Sub
6019
6134
 
6020
6135
  // lib/Screen.tsx
6021
6136
  import { Colorize as Colorize43, Cuboid as Cuboid46, Subtract as Subtract12, Translate as Translate33 } from "jscad-fiber";
6022
- import { jsx as jsx76, jsxs as jsxs68 } from "react/jsx-runtime";
6137
+ import { jsx as jsx76, jsxs as jsxs69 } from "react/jsx-runtime";
6023
6138
  var Screen = ({
6024
6139
  width: width10 = 30,
6025
6140
  height: height10 = 22,
@@ -6047,7 +6162,7 @@ var Screen = ({
6047
6162
  const offsetX = offset?.x ?? 0;
6048
6163
  const offsetY = offset?.y ?? 0;
6049
6164
  const offsetZ = offset?.z ?? 0;
6050
- return /* @__PURE__ */ jsxs68(Translate33, { offset: { x: offsetX, y: offsetY, z: offsetZ }, children: [
6165
+ return /* @__PURE__ */ jsxs69(Translate33, { offset: { x: offsetX, y: offsetY, z: offsetZ }, children: [
6051
6166
  backBlockHeight > 0 && /* @__PURE__ */ jsx76(Colorize43, { color: bezelColor, children: /* @__PURE__ */ jsx76(
6052
6167
  Cuboid46,
6053
6168
  {
@@ -6055,7 +6170,7 @@ var Screen = ({
6055
6170
  offset: [0, 0, backBlockHeight / 2]
6056
6171
  }
6057
6172
  ) }),
6058
- /* @__PURE__ */ jsx76(Colorize43, { color: bezelColor, children: /* @__PURE__ */ jsxs68(Subtract12, { children: [
6173
+ /* @__PURE__ */ jsx76(Colorize43, { color: bezelColor, children: /* @__PURE__ */ jsxs69(Subtract12, { children: [
6059
6174
  /* @__PURE__ */ jsx76(
6060
6175
  Cuboid46,
6061
6176
  {
@@ -6083,7 +6198,7 @@ var Screen = ({
6083
6198
  var Display = Screen;
6084
6199
 
6085
6200
  // lib/MountedPcbModule.tsx
6086
- import { Fragment as Fragment69, jsx as jsx77, jsxs as jsxs69 } from "react/jsx-runtime";
6201
+ import { Fragment as Fragment69, jsx as jsx77, jsxs as jsxs70 } from "react/jsx-runtime";
6087
6202
  var MountedPcbModule = ({
6088
6203
  numPins = 5,
6089
6204
  rows = 1,
@@ -6184,7 +6299,7 @@ var MountedPcbModule = ({
6184
6299
  const shortSidePinLength = 3;
6185
6300
  const boardOffsetZ = nopin || female ? 0 : pinBodyHeight;
6186
6301
  const boardTopZ = boardOffsetZ + boardThickness;
6187
- const boardBody = /* @__PURE__ */ jsx77(Colorize44, { color: "#008080", children: /* @__PURE__ */ jsxs69(Subtract13, { children: [
6302
+ const boardBody = /* @__PURE__ */ jsx77(Colorize44, { color: "#008080", children: /* @__PURE__ */ jsxs70(Subtract13, { children: [
6188
6303
  /* @__PURE__ */ jsx77(
6189
6304
  Cuboid47,
6190
6305
  {
@@ -6211,7 +6326,7 @@ var MountedPcbModule = ({
6211
6326
  `pin-hole-${index}`
6212
6327
  ))
6213
6328
  ] }) });
6214
- const platedHoles = pins.map((pin, index) => /* @__PURE__ */ jsx77(Colorize44, { color: "#FFD700", children: /* @__PURE__ */ jsxs69(Subtract13, { children: [
6329
+ const platedHoles = pins.map((pin, index) => /* @__PURE__ */ jsx77(Colorize44, { color: "#FFD700", children: /* @__PURE__ */ jsxs70(Subtract13, { children: [
6215
6330
  /* @__PURE__ */ jsx77(
6216
6331
  Cylinder17,
6217
6332
  {
@@ -6251,7 +6366,7 @@ var MountedPcbModule = ({
6251
6366
  },
6252
6367
  `female-pin-3d-${index}`
6253
6368
  ));
6254
- return /* @__PURE__ */ jsxs69(Fragment69, { children: [
6369
+ return /* @__PURE__ */ jsxs70(Fragment69, { children: [
6255
6370
  boardBody,
6256
6371
  platedHoles,
6257
6372
  !female && !nopin && headerPins,
@@ -6273,7 +6388,7 @@ var MountedPcbModule = ({
6273
6388
 
6274
6389
  // lib/SOD723.tsx
6275
6390
  import { Colorize as Colorize45, Cuboid as Cuboid48, Hull as Hull26, Translate as Translate34, Union as Union22 } from "jscad-fiber";
6276
- import { Fragment as Fragment70, jsx as jsx78, jsxs as jsxs70 } from "react/jsx-runtime";
6391
+ import { Fragment as Fragment70, jsx as jsx78, jsxs as jsxs71 } from "react/jsx-runtime";
6277
6392
  var SOD723 = () => {
6278
6393
  const fullWidth = 1.4;
6279
6394
  const bodyLength10 = 0.6;
@@ -6286,7 +6401,7 @@ var SOD723 = () => {
6286
6401
  const rightPadCenterX = bodyWidth / 2 - padLength / 2 + 0.15;
6287
6402
  const taperOffset = 0.2;
6288
6403
  const straightHeight = bodyHeight * 0.24;
6289
- return /* @__PURE__ */ jsxs70(Fragment70, { children: [
6404
+ return /* @__PURE__ */ jsxs71(Fragment70, { children: [
6290
6405
  /* @__PURE__ */ jsx78(
6291
6406
  Cuboid48,
6292
6407
  {
@@ -6303,9 +6418,9 @@ var SOD723 = () => {
6303
6418
  center: [rightPadCenterX, 0, padThickness / 2]
6304
6419
  }
6305
6420
  ),
6306
- /* @__PURE__ */ jsx78(Colorize45, { color: "#222", children: /* @__PURE__ */ jsxs70(Union22, { children: [
6421
+ /* @__PURE__ */ jsx78(Colorize45, { color: "#222", children: /* @__PURE__ */ jsxs71(Union22, { children: [
6307
6422
  /* @__PURE__ */ jsx78(Translate34, { z: straightHeight / 2, children: /* @__PURE__ */ jsx78(Cuboid48, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
6308
- /* @__PURE__ */ jsxs70(Hull26, { children: [
6423
+ /* @__PURE__ */ jsxs71(Hull26, { children: [
6309
6424
  /* @__PURE__ */ jsx78(Translate34, { z: straightHeight, children: /* @__PURE__ */ jsx78(Cuboid48, { size: [bodyWidth, bodyLength10, 0.01] }) }),
6310
6425
  /* @__PURE__ */ jsx78(Translate34, { z: bodyHeight, children: /* @__PURE__ */ jsx78(
6311
6426
  Cuboid48,
@@ -6336,7 +6451,7 @@ import {
6336
6451
  Subtract as Subtract14,
6337
6452
  Translate as Translate35
6338
6453
  } from "jscad-fiber";
6339
- import { Fragment as Fragment71, jsx as jsx79, jsxs as jsxs71 } from "react/jsx-runtime";
6454
+ import { Fragment as Fragment71, jsx as jsx79, jsxs as jsxs72 } from "react/jsx-runtime";
6340
6455
  var JSTZH1_5mm = ({
6341
6456
  numPins = 7,
6342
6457
  showPins = true,
@@ -6352,8 +6467,8 @@ var JSTZH1_5mm = ({
6352
6467
  const pinLength = 6;
6353
6468
  const bodyWidth = (numPins - 1) * pitch + 4;
6354
6469
  const startX = -((numPins - 1) * pitch) / 2;
6355
- return /* @__PURE__ */ jsxs71(Fragment71, { children: [
6356
- /* @__PURE__ */ jsx79(Translate35, { offset: [0, 0, bodyHeight], children: /* @__PURE__ */ jsx79(Rotate13, { angles: [Math.PI, 0, 0], children: /* @__PURE__ */ jsx79(Colorize46, { color: bodyColor, children: /* @__PURE__ */ jsxs71(Subtract14, { children: [
6470
+ return /* @__PURE__ */ jsxs72(Fragment71, { children: [
6471
+ /* @__PURE__ */ jsx79(Translate35, { offset: [0, 0, bodyHeight], children: /* @__PURE__ */ jsx79(Rotate13, { angles: [Math.PI, 0, 0], children: /* @__PURE__ */ jsx79(Colorize46, { color: bodyColor, children: /* @__PURE__ */ jsxs72(Subtract14, { children: [
6357
6472
  /* @__PURE__ */ jsx79(
6358
6473
  Cuboid49,
6359
6474
  {
@@ -6495,7 +6610,7 @@ import {
6495
6610
  Subtract as Subtract15,
6496
6611
  Translate as Translate36
6497
6612
  } from "jscad-fiber";
6498
- import { Fragment as Fragment72, jsx as jsx80, jsxs as jsxs72 } from "react/jsx-runtime";
6613
+ import { Fragment as Fragment72, jsx as jsx80, jsxs as jsxs73 } from "react/jsx-runtime";
6499
6614
  var JSTPH2_0mm = ({
6500
6615
  numPins = 2,
6501
6616
  showPins = true,
@@ -6519,8 +6634,8 @@ var JSTPH2_0mm = ({
6519
6634
  const latchWindowInset = 0.7;
6520
6635
  const topReliefWidth = 0.8;
6521
6636
  const topReliefDepth = 0.65;
6522
- return /* @__PURE__ */ jsxs72(Fragment72, { children: [
6523
- /* @__PURE__ */ jsx80(Translate36, { offset: [0, 0, bodyHeight], children: /* @__PURE__ */ jsx80(Rotate14, { angles: [Math.PI, 0, 0], children: /* @__PURE__ */ jsx80(Colorize47, { color: bodyColor, children: /* @__PURE__ */ jsxs72(Subtract15, { children: [
6637
+ return /* @__PURE__ */ jsxs73(Fragment72, { children: [
6638
+ /* @__PURE__ */ jsx80(Translate36, { offset: [0, 0, bodyHeight], children: /* @__PURE__ */ jsx80(Rotate14, { angles: [Math.PI, 0, 0], children: /* @__PURE__ */ jsx80(Colorize47, { color: bodyColor, children: /* @__PURE__ */ jsxs73(Subtract15, { children: [
6524
6639
  /* @__PURE__ */ jsx80(
6525
6640
  Cuboid50,
6526
6641
  {
@@ -6677,7 +6792,7 @@ var JSTPH2_0mm = ({
6677
6792
  // lib/JSTXH2_5mm.tsx
6678
6793
  import { Colorize as Colorize48, Cuboid as Cuboid51, Subtract as Subtract16, Translate as Translate37 } from "jscad-fiber";
6679
6794
  import { fp as fp3 } from "@tscircuit/footprinter";
6680
- import { Fragment as Fragment73, jsx as jsx81, jsxs as jsxs73 } from "react/jsx-runtime";
6795
+ import { Fragment as Fragment73, jsx as jsx81, jsxs as jsxs74 } from "react/jsx-runtime";
6681
6796
  var JSTXH2_5mm = ({
6682
6797
  numPins = 4,
6683
6798
  showPins = true,
@@ -6705,8 +6820,8 @@ var JSTXH2_5mm = ({
6705
6820
  Math.max(3, (numPins - 1) * pitch * 0.4 + 2.2)
6706
6821
  );
6707
6822
  const lockNotchHeight = 2.4;
6708
- return /* @__PURE__ */ jsxs73(Fragment73, { children: [
6709
- /* @__PURE__ */ jsx81(Translate37, { offset: [0, 0, bodyHeight / 2], children: /* @__PURE__ */ jsx81(Colorize48, { color: bodyColor, children: /* @__PURE__ */ jsxs73(Subtract16, { children: [
6823
+ return /* @__PURE__ */ jsxs74(Fragment73, { children: [
6824
+ /* @__PURE__ */ jsx81(Translate37, { offset: [0, 0, bodyHeight / 2], children: /* @__PURE__ */ jsx81(Colorize48, { color: bodyColor, children: /* @__PURE__ */ jsxs74(Subtract16, { children: [
6710
6825
  /* @__PURE__ */ jsx81(Cuboid51, { size: [bodyWidth, bodyDepth, bodyHeight] }),
6711
6826
  /* @__PURE__ */ jsx81(Translate37, { offset: [0, 0, (bodyHeight - hollowHeight) / 2 + 0.1], children: /* @__PURE__ */ jsx81(
6712
6827
  Cuboid51,
@@ -6809,7 +6924,7 @@ var JSTXH2_5mm = ({
6809
6924
  import { fp as fp4 } from "@tscircuit/footprinter";
6810
6925
  import { mm } from "@tscircuit/mm";
6811
6926
  import { Colorize as Colorize49, Cuboid as Cuboid52, Rotate as Rotate15, Subtract as Subtract17, Union as Union23 } from "jscad-fiber";
6812
- import { jsx as jsx82, jsxs as jsxs74 } from "react/jsx-runtime";
6927
+ import { jsx as jsx82, jsxs as jsxs75 } from "react/jsx-runtime";
6813
6928
  function isJstShFootprint(footprint) {
6814
6929
  const p = fp4.string(footprint).json();
6815
6930
  if (p.fn !== "jst") return false;
@@ -6837,8 +6952,8 @@ var JstSh = ({ footprint = "jst6_sh" }) => {
6837
6952
  const direction = mounts[0].y > rowY ? 1 : -1;
6838
6953
  const y = rowY + direction * 1.8, width10 = n + 2, depth = 2.9, height10 = 4.2;
6839
6954
  const pinY = y - direction * 0.25;
6840
- return /* @__PURE__ */ jsxs74(Rotate15, { rotation: [0, 0, angle], children: [
6841
- /* @__PURE__ */ jsx82(Colorize49, { color: "#e4e1d6", children: /* @__PURE__ */ jsxs74(Subtract17, { children: [
6955
+ return /* @__PURE__ */ jsxs75(Rotate15, { rotation: [0, 0, angle], children: [
6956
+ /* @__PURE__ */ jsx82(Colorize49, { color: "#e4e1d6", children: /* @__PURE__ */ jsxs75(Subtract17, { children: [
6842
6957
  /* @__PURE__ */ jsx82(
6843
6958
  Cuboid52,
6844
6959
  {
@@ -6874,10 +6989,10 @@ var JstSh = ({ footprint = "jst6_sh" }) => {
6874
6989
  side
6875
6990
  ))
6876
6991
  ] }) }),
6877
- /* @__PURE__ */ jsxs74(Colorize49, { color: "#c6c7c9", children: [
6992
+ /* @__PURE__ */ jsxs75(Colorize49, { color: "#c6c7c9", children: [
6878
6993
  signals.map((pad, i) => {
6879
6994
  const tailY = pad.y - direction * pad.height * 0.4;
6880
- return /* @__PURE__ */ jsxs74(Union23, { children: [
6995
+ return /* @__PURE__ */ jsxs75(Union23, { children: [
6881
6996
  /* @__PURE__ */ jsx82(
6882
6997
  Cuboid52,
6883
6998
  {
@@ -6888,7 +7003,7 @@ var JstSh = ({ footprint = "jst6_sh" }) => {
6888
7003
  /* @__PURE__ */ jsx82(Cuboid52, { size: [0.2, 0.2, 3.45], center: [pad.x, pinY, 1.725] })
6889
7004
  ] }, i);
6890
7005
  }),
6891
- mounts.map((pad, i) => /* @__PURE__ */ jsxs74(Union23, { children: [
7006
+ mounts.map((pad, i) => /* @__PURE__ */ jsxs75(Union23, { children: [
6892
7007
  /* @__PURE__ */ jsx82(
6893
7008
  Cuboid52,
6894
7009
  {
@@ -6918,7 +7033,7 @@ import {
6918
7033
  Subtract as Subtract18,
6919
7034
  Translate as Translate38
6920
7035
  } from "jscad-fiber";
6921
- import { Fragment as Fragment74, jsx as jsx83, jsxs as jsxs75 } from "react/jsx-runtime";
7036
+ import { Fragment as Fragment74, jsx as jsx83, jsxs as jsxs76 } from "react/jsx-runtime";
6922
7037
  var HOUSING_COLOR = "#303339";
6923
7038
  var HOUSING_SHADOW = "#1f2227";
6924
7039
  var ACTUATOR_COLOR = "#eee8d8";
@@ -7005,7 +7120,7 @@ var FPC = ({
7005
7120
  const clipCapX = bodyWidth / 2 - 0.23;
7006
7121
  const sideBossX = bodyWidth / 2 - 0.32;
7007
7122
  const sideBossWidth = 0.68;
7008
- return /* @__PURE__ */ jsxs75(Fragment74, { children: [
7123
+ return /* @__PURE__ */ jsxs76(Fragment74, { children: [
7009
7124
  [-1, 1].map((direction) => /* @__PURE__ */ jsx83(
7010
7125
  Cuboid53,
7011
7126
  {
@@ -7033,7 +7148,7 @@ var FPC = ({
7033
7148
  roundRadius: 0.1
7034
7149
  }
7035
7150
  ),
7036
- /* @__PURE__ */ jsx83(Colorize50, { color: HOUSING_COLOR, children: /* @__PURE__ */ jsxs75(Subtract18, { children: [
7151
+ /* @__PURE__ */ jsx83(Colorize50, { color: HOUSING_COLOR, children: /* @__PURE__ */ jsxs76(Subtract18, { children: [
7037
7152
  /* @__PURE__ */ jsx83(
7038
7153
  RoundedCuboid4,
7039
7154
  {
@@ -7185,7 +7300,7 @@ var FPC = ({
7185
7300
 
7186
7301
  // lib/SmdPinHeader.tsx
7187
7302
  import { Colorize as Colorize51, Cuboid as Cuboid54, Hull as Hull27, Translate as Translate39 } from "jscad-fiber";
7188
- import { Fragment as Fragment75, jsx as jsx84, jsxs as jsxs76 } from "react/jsx-runtime";
7303
+ import { Fragment as Fragment75, jsx as jsx84, jsxs as jsxs77 } from "react/jsx-runtime";
7189
7304
  var SmdPinHeader = ({
7190
7305
  numberOfPins,
7191
7306
  pitch = 2.54,
@@ -7205,7 +7320,7 @@ var SmdPinHeader = ({
7205
7320
  const tailDirection = index % 2 === 0 ? 1 : -1;
7206
7321
  const postBodyLength = matingPinLength - tipChamferHeight;
7207
7322
  const verticalTailLength = standoffHeight - pinThickness / 2;
7208
- return /* @__PURE__ */ jsxs76(Translate39, { x, children: [
7323
+ return /* @__PURE__ */ jsxs77(Translate39, { x, children: [
7209
7324
  /* @__PURE__ */ jsx84(
7210
7325
  Cuboid54,
7211
7326
  {
@@ -7214,7 +7329,7 @@ var SmdPinHeader = ({
7214
7329
  center: [0, 0, standoffHeight + bodyHeight / 2]
7215
7330
  }
7216
7331
  ),
7217
- /* @__PURE__ */ jsxs76(Colorize51, { color: "#d4af37", children: [
7332
+ /* @__PURE__ */ jsxs77(Colorize51, { color: "#d4af37", children: [
7218
7333
  /* @__PURE__ */ jsx84(
7219
7334
  Cuboid54,
7220
7335
  {
@@ -7236,7 +7351,7 @@ var SmdPinHeader = ({
7236
7351
  center: [0, 0, bodyTop + postBodyLength / 2]
7237
7352
  }
7238
7353
  ),
7239
- /* @__PURE__ */ jsxs76(Hull27, { children: [
7354
+ /* @__PURE__ */ jsxs77(Hull27, { children: [
7240
7355
  /* @__PURE__ */ jsx84(
7241
7356
  Cuboid54,
7242
7357
  {
@@ -7289,7 +7404,7 @@ var getSmtPadRects = (footprint) => {
7289
7404
  };
7290
7405
 
7291
7406
  // lib/GullWingBody.tsx
7292
- import { Fragment as Fragment76, jsx as jsx85, jsxs as jsxs77 } from "react/jsx-runtime";
7407
+ import { Fragment as Fragment76, jsx as jsx85, jsxs as jsxs78 } from "react/jsx-runtime";
7293
7408
  var GullWingBody = ({
7294
7409
  bodyWidth,
7295
7410
  bodyLength: bodyLength10,
@@ -7301,7 +7416,7 @@ var GullWingBody = ({
7301
7416
  const centerX = pads.reduce((sum, pad) => sum + pad.x, 0) / (pads.length || 1);
7302
7417
  const centerY = pads.reduce((sum, pad) => sum + pad.y, 0) / (pads.length || 1);
7303
7418
  const leadHeight = bodyHeight * leadHeightRatio;
7304
- return /* @__PURE__ */ jsxs77(Fragment76, { children: [
7419
+ return /* @__PURE__ */ jsxs78(Fragment76, { children: [
7305
7420
  /* @__PURE__ */ jsx85(
7306
7421
  ChipBody,
7307
7422
  {
@@ -7341,7 +7456,7 @@ var GullWingBody = ({
7341
7456
 
7342
7457
  // lib/ParametricChip.tsx
7343
7458
  import { Cuboid as Cuboid55 } from "jscad-fiber";
7344
- import { Fragment as Fragment77, jsx as jsx86, jsxs as jsxs78 } from "react/jsx-runtime";
7459
+ import { Fragment as Fragment77, jsx as jsx86, jsxs as jsxs79 } from "react/jsx-runtime";
7345
7460
  var ParametricChip = ({
7346
7461
  padPitch,
7347
7462
  padHeight,
@@ -7352,7 +7467,7 @@ var ParametricChip = ({
7352
7467
  const height10 = width10;
7353
7468
  const terminatorWidth9 = fullLength10 * 0.2;
7354
7469
  const bodyLength10 = fullLength10 - terminatorWidth9 * 2;
7355
- return /* @__PURE__ */ jsxs78(Fragment77, { children: [
7470
+ return /* @__PURE__ */ jsxs79(Fragment77, { children: [
7356
7471
  /* @__PURE__ */ jsx86(
7357
7472
  Cuboid55,
7358
7473
  {
@@ -7389,7 +7504,7 @@ import {
7389
7504
  Subtract as Subtract19,
7390
7505
  Translate as Translate40
7391
7506
  } from "jscad-fiber";
7392
- import { Fragment as Fragment78, jsx as jsx87, jsxs as jsxs79 } from "react/jsx-runtime";
7507
+ import { Fragment as Fragment78, jsx as jsx87, jsxs as jsxs80 } from "react/jsx-runtime";
7393
7508
  var Led5050 = ({
7394
7509
  color = "#ffff00",
7395
7510
  bodyColor = "#ffffff",
@@ -7410,7 +7525,7 @@ var Led5050 = ({
7410
7525
  const cornerCutDepth = 0.3;
7411
7526
  const leadYPositions = [-1.7, 0, 1.7];
7412
7527
  const leadSides = [-1, 1];
7413
- return /* @__PURE__ */ jsxs79(Fragment78, { children: [
7528
+ return /* @__PURE__ */ jsxs80(Fragment78, { children: [
7414
7529
  leadYPositions.flatMap(
7415
7530
  (y) => leadSides.map((side) => /* @__PURE__ */ jsx87(
7416
7531
  Cuboid56,
@@ -7422,7 +7537,7 @@ var Led5050 = ({
7422
7537
  `${side}-${y}`
7423
7538
  ))
7424
7539
  ),
7425
- /* @__PURE__ */ jsx87(Colorize52, { color: bodyColor, children: /* @__PURE__ */ jsxs79(Subtract19, { children: [
7540
+ /* @__PURE__ */ jsx87(Colorize52, { color: bodyColor, children: /* @__PURE__ */ jsxs80(Subtract19, { children: [
7426
7541
  /* @__PURE__ */ jsx87(
7427
7542
  ChipBody,
7428
7543
  {
@@ -7471,7 +7586,7 @@ var Led5050 = ({
7471
7586
 
7472
7587
  // lib/Led2835.tsx
7473
7588
  import { Colorize as Colorize53, Cuboid as Cuboid57 } from "jscad-fiber";
7474
- import { Fragment as Fragment79, jsx as jsx88, jsxs as jsxs80 } from "react/jsx-runtime";
7589
+ import { Fragment as Fragment79, jsx as jsx88, jsxs as jsxs81 } from "react/jsx-runtime";
7475
7590
  var Led2835 = ({
7476
7591
  bodyWidth = 3.5,
7477
7592
  bodyLength: bodyLength10 = 2.8,
@@ -7490,7 +7605,7 @@ var Led2835 = ({
7490
7605
  const bodyCenterX = (pad1X + pad2X) / 2;
7491
7606
  const lensWidth = bodyWidth * 0.55;
7492
7607
  const lensLength = bodyLength10 * 0.55;
7493
- return /* @__PURE__ */ jsxs80(Fragment79, { children: [
7608
+ return /* @__PURE__ */ jsxs81(Fragment79, { children: [
7494
7609
  [
7495
7610
  { x: pad1X, w: pad1Width, key: "pad-1" },
7496
7611
  { x: pad2X, w: pad2Width, key: "pad-2" }
@@ -7532,7 +7647,7 @@ import {
7532
7647
  Subtract as Subtract20,
7533
7648
  Translate as Translate41
7534
7649
  } from "jscad-fiber";
7535
- import { Fragment as Fragment80, jsx as jsx89, jsxs as jsxs81 } from "react/jsx-runtime";
7650
+ import { Fragment as Fragment80, jsx as jsx89, jsxs as jsxs82 } from "react/jsx-runtime";
7536
7651
  var range2 = (length) => Array.from({ length }, (_, index) => index);
7537
7652
  var RJ45 = ({
7538
7653
  bodyWidth = 16.26,
@@ -7590,9 +7705,9 @@ var RJ45 = ({
7590
7705
  const contactY = frontY - frontDirection * Math.max(cavityDepth * 0.48, 1.2);
7591
7706
  const contactZ = openingCenterZ + openingHeight * 0.18;
7592
7707
  const frontLipY = frontY + frontDirection * shellThickness * 0.2;
7593
- return /* @__PURE__ */ jsxs81(Fragment80, { children: [
7594
- /* @__PURE__ */ jsxs81(Colorize54, { color: shellColor, children: [
7595
- /* @__PURE__ */ jsxs81(Subtract20, { children: [
7708
+ return /* @__PURE__ */ jsxs82(Fragment80, { children: [
7709
+ /* @__PURE__ */ jsxs82(Colorize54, { color: shellColor, children: [
7710
+ /* @__PURE__ */ jsxs82(Subtract20, { children: [
7596
7711
  /* @__PURE__ */ jsx89(
7597
7712
  Cuboid58,
7598
7713
  {
@@ -7644,8 +7759,8 @@ var RJ45 = ({
7644
7759
  `top-seam:${direction}`
7645
7760
  ))
7646
7761
  ] }),
7647
- /* @__PURE__ */ jsxs81(Colorize54, { color: housingColor, children: [
7648
- /* @__PURE__ */ jsxs81(Subtract20, { children: [
7762
+ /* @__PURE__ */ jsxs82(Colorize54, { color: housingColor, children: [
7763
+ /* @__PURE__ */ jsxs82(Subtract20, { children: [
7649
7764
  /* @__PURE__ */ jsx89(
7650
7765
  RoundedCuboid5,
7651
7766
  {
@@ -7699,7 +7814,7 @@ var RJ45 = ({
7699
7814
  `locator:${direction}`
7700
7815
  ))
7701
7816
  ] }),
7702
- /* @__PURE__ */ jsxs81(Colorize54, { color: contactColor, children: [
7817
+ /* @__PURE__ */ jsxs82(Colorize54, { color: contactColor, children: [
7703
7818
  signalPinPositions.map(({ x, y }, index) => /* @__PURE__ */ jsx89(
7704
7819
  Cylinder22,
7705
7820
  {
@@ -7737,7 +7852,7 @@ var RJ45 = ({
7737
7852
  `led-lead:${index}`
7738
7853
  ))
7739
7854
  ] }),
7740
- ledPins && /* @__PURE__ */ jsxs81(Fragment80, { children: [
7855
+ ledPins && /* @__PURE__ */ jsxs82(Fragment80, { children: [
7741
7856
  /* @__PURE__ */ jsx89(
7742
7857
  RoundedCuboid5,
7743
7858
  {
@@ -7770,7 +7885,7 @@ var RJ45 = ({
7770
7885
 
7771
7886
  // lib/DPAK.tsx
7772
7887
  import { Colorize as Colorize55, Cuboid as Cuboid59, Hull as Hull28 } from "jscad-fiber";
7773
- import { Fragment as Fragment81, jsx as jsx90, jsxs as jsxs82 } from "react/jsx-runtime";
7888
+ import { Fragment as Fragment81, jsx as jsx90, jsxs as jsxs83 } from "react/jsx-runtime";
7774
7889
  var DPAK = ({
7775
7890
  bodyWidth = 6.1,
7776
7891
  bodyLength: bodyLength10 = 6.5,
@@ -7792,7 +7907,7 @@ var DPAK = ({
7792
7907
  const bodyFrontX = bodyCenterX - bodyWidth / 2;
7793
7908
  const leadZ = tabThickness / 2;
7794
7909
  const leadThickness = 0.4;
7795
- return /* @__PURE__ */ jsxs82(Fragment81, { children: [
7910
+ return /* @__PURE__ */ jsxs83(Fragment81, { children: [
7796
7911
  /* @__PURE__ */ jsx90(Colorize55, { color: tabColor, children: /* @__PURE__ */ jsx90(
7797
7912
  Cuboid59,
7798
7913
  {
@@ -7808,7 +7923,7 @@ var DPAK = ({
7808
7923
  }
7809
7924
  ) }),
7810
7925
  [-1, 1].map((side) => {
7811
- return /* @__PURE__ */ jsxs82(Colorize55, { color: leadColor, children: [
7926
+ return /* @__PURE__ */ jsxs83(Colorize55, { color: leadColor, children: [
7812
7927
  /* @__PURE__ */ jsx90(
7813
7928
  Cuboid59,
7814
7929
  {
@@ -7820,7 +7935,7 @@ var DPAK = ({
7820
7935
  ]
7821
7936
  }
7822
7937
  ),
7823
- /* @__PURE__ */ jsxs82(Hull28, { children: [
7938
+ /* @__PURE__ */ jsxs83(Hull28, { children: [
7824
7939
  /* @__PURE__ */ jsx90(
7825
7940
  Cuboid59,
7826
7941
  {
@@ -7853,7 +7968,7 @@ import {
7853
7968
  RoundedCylinder as RoundedCylinder5,
7854
7969
  Subtract as Subtract21
7855
7970
  } from "jscad-fiber";
7856
- import { Fragment as Fragment82, jsx as jsx91, jsxs as jsxs83 } from "react/jsx-runtime";
7971
+ import { Fragment as Fragment82, jsx as jsx91, jsxs as jsxs84 } from "react/jsx-runtime";
7857
7972
  var ElectrolyticCapacitor = ({
7858
7973
  diameter = 6.3,
7859
7974
  heightToDiameterRatio = 1.4,
@@ -7871,7 +7986,7 @@ var ElectrolyticCapacitor = ({
7871
7986
  const canTop = canBottom + canHeight;
7872
7987
  const grooveWidth = Math.max(diameter * 0.06, 0.2);
7873
7988
  const grooveDepth = 0.3;
7874
- return /* @__PURE__ */ jsxs83(Fragment82, { children: [
7989
+ return /* @__PURE__ */ jsxs84(Fragment82, { children: [
7875
7990
  /* @__PURE__ */ jsx91(Colorize56, { color: baseColor, children: /* @__PURE__ */ jsx91(
7876
7991
  Cylinder23,
7877
7992
  {
@@ -7880,7 +7995,7 @@ var ElectrolyticCapacitor = ({
7880
7995
  center: [0, 0, baseHeight / 2]
7881
7996
  }
7882
7997
  ) }),
7883
- /* @__PURE__ */ jsx91(Colorize56, { color: sleeveColor, children: /* @__PURE__ */ jsxs83(Subtract21, { children: [
7998
+ /* @__PURE__ */ jsx91(Colorize56, { color: sleeveColor, children: /* @__PURE__ */ jsxs84(Subtract21, { children: [
7884
7999
  /* @__PURE__ */ jsx91(
7885
8000
  RoundedCylinder5,
7886
8001
  {
@@ -7918,7 +8033,7 @@ var ElectrolyticCapacitor = ({
7918
8033
 
7919
8034
  // lib/Potentiometer.tsx
7920
8035
  import { Colorize as Colorize57, Cuboid as Cuboid61, Cylinder as Cylinder24, Subtract as Subtract22 } from "jscad-fiber";
7921
- import { Fragment as Fragment83, jsx as jsx92, jsxs as jsxs84 } from "react/jsx-runtime";
8036
+ import { Fragment as Fragment83, jsx as jsx92, jsxs as jsxs85 } from "react/jsx-runtime";
7922
8037
  var Potentiometer = ({
7923
8038
  bodyWidth = 5.35,
7924
8039
  bodyLength: bodyLength10 = 14,
@@ -7936,7 +8051,7 @@ var Potentiometer = ({
7936
8051
  const adjusterHeight = 0.8;
7937
8052
  const adjusterZ = bodyHeight + adjusterHeight / 2;
7938
8053
  const slotWidth = Math.max(adjusterDiameter * 0.16, 0.3);
7939
- return /* @__PURE__ */ jsxs84(Fragment83, { children: [
8054
+ return /* @__PURE__ */ jsxs85(Fragment83, { children: [
7940
8055
  /* @__PURE__ */ jsx92(Colorize57, { color: bodyColor, children: /* @__PURE__ */ jsx92(
7941
8056
  Cuboid61,
7942
8057
  {
@@ -7944,7 +8059,7 @@ var Potentiometer = ({
7944
8059
  center: [bodyCenterX, 0, bodyHeight / 2]
7945
8060
  }
7946
8061
  ) }),
7947
- /* @__PURE__ */ jsx92(Colorize57, { color: adjusterColor, children: /* @__PURE__ */ jsxs84(Subtract22, { children: [
8062
+ /* @__PURE__ */ jsx92(Colorize57, { color: adjusterColor, children: /* @__PURE__ */ jsxs85(Subtract22, { children: [
7948
8063
  /* @__PURE__ */ jsx92(
7949
8064
  Cylinder24,
7950
8065
  {
@@ -7982,7 +8097,7 @@ var Potentiometer = ({
7982
8097
 
7983
8098
  // lib/SmdPushButton.tsx
7984
8099
  import { Colorize as Colorize58, Cuboid as Cuboid62, Cylinder as Cylinder25 } from "jscad-fiber";
7985
- import { Fragment as Fragment84, jsx as jsx93, jsxs as jsxs85 } from "react/jsx-runtime";
8100
+ import { Fragment as Fragment84, jsx as jsx93, jsxs as jsxs86 } from "react/jsx-runtime";
7986
8101
  var SmdPushButton = ({
7987
8102
  bodyWidth = 2.9,
7988
8103
  bodyLength: bodyLength10 = 3,
@@ -7998,7 +8113,7 @@ var SmdPushButton = ({
7998
8113
  leadColor = "#cccccc"
7999
8114
  }) => {
8000
8115
  const leadThickness = 0.15;
8001
- return /* @__PURE__ */ jsxs85(Fragment84, { children: [
8116
+ return /* @__PURE__ */ jsxs86(Fragment84, { children: [
8002
8117
  /* @__PURE__ */ jsx93(Colorize58, { color: bodyColor, children: /* @__PURE__ */ jsx93(
8003
8118
  Cuboid62,
8004
8119
  {
@@ -8033,7 +8148,7 @@ var SmdPushButton = ({
8033
8148
  // lib/SmdSlideSwitch.tsx
8034
8149
  import { fp as fp7 } from "@tscircuit/footprinter";
8035
8150
  import { Colorize as Colorize59, Cuboid as Cuboid63, Cylinder as Cylinder26, Rotate as Rotate19, Subtract as Subtract23 } from "jscad-fiber";
8036
- import { jsx as jsx94, jsxs as jsxs86 } from "react/jsx-runtime";
8151
+ import { jsx as jsx94, jsxs as jsxs87 } from "react/jsx-runtime";
8037
8152
  var SmdSlideSwitch = ({
8038
8153
  footprint = "smdslideswitch7",
8039
8154
  position = 0
@@ -8051,8 +8166,8 @@ var SmdSlideSwitch = ({
8051
8166
  throw new Error("SmdSlideSwitch needs signal pads and four mounting pads");
8052
8167
  const angle = Math.atan2(target[1].y - target[0].y, target[1].x - target[0].x) - Math.atan2(pads[1].y - pads[0].y, pads[1].x - pads[0].x);
8053
8168
  const width10 = params.mpx - 0.5, depth = 2.7, height10 = params.mpx > 6 ? 1.5 : 1.4, y = params.mounty;
8054
- return /* @__PURE__ */ jsxs86(Rotate19, { rotation: [0, 0, angle], children: [
8055
- /* @__PURE__ */ jsx94(Colorize59, { color: "#aeb4ba", children: /* @__PURE__ */ jsxs86(Subtract23, { children: [
8169
+ return /* @__PURE__ */ jsxs87(Rotate19, { rotation: [0, 0, angle], children: [
8170
+ /* @__PURE__ */ jsx94(Colorize59, { color: "#aeb4ba", children: /* @__PURE__ */ jsxs87(Subtract23, { children: [
8056
8171
  /* @__PURE__ */ jsx94(Cuboid63, { size: [width10, depth, height10], center: [0, y, height10 / 2] }),
8057
8172
  /* @__PURE__ */ jsx94(
8058
8173
  Cuboid63,
@@ -8063,7 +8178,7 @@ var SmdSlideSwitch = ({
8063
8178
  ),
8064
8179
  /* @__PURE__ */ jsx94(Cuboid63, { size: [2.7, 0.5, 0.9], center: [0, y - depth / 2, 0.65] })
8065
8180
  ] }) }),
8066
- /* @__PURE__ */ jsxs86(Colorize59, { color: "#28292c", children: [
8181
+ /* @__PURE__ */ jsxs87(Colorize59, { color: "#28292c", children: [
8067
8182
  /* @__PURE__ */ jsx94(
8068
8183
  Cuboid63,
8069
8184
  {
@@ -8112,7 +8227,7 @@ var SmdSlideSwitch = ({
8112
8227
 
8113
8228
  // lib/SOT-563.tsx
8114
8229
  import { Cuboid as Cuboid64, Translate as Translate43, Rotate as Rotate20, Colorize as Colorize60 } from "jscad-fiber";
8115
- import { Fragment as Fragment85, jsx as jsx95, jsxs as jsxs87 } from "react/jsx-runtime";
8230
+ import { Fragment as Fragment85, jsx as jsx95, jsxs as jsxs88 } from "react/jsx-runtime";
8116
8231
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
8117
8232
  const bodyWidth = 1.2;
8118
8233
  const bodyLength10 = 1.6;
@@ -8122,7 +8237,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
8122
8237
  const leadHeight = 0.13;
8123
8238
  const leadSpacing = 0.5;
8124
8239
  const bodyZOffset = -0.4;
8125
- return /* @__PURE__ */ jsxs87(Fragment85, { children: [
8240
+ return /* @__PURE__ */ jsxs88(Fragment85, { children: [
8126
8241
  /* @__PURE__ */ jsx95(Rotate20, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx95(Translate43, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx95(Colorize60, { color: "grey", children: /* @__PURE__ */ jsx95(Cuboid64, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
8127
8242
  [-1, 0, 1].flatMap((yOffset, index) => [
8128
8243
  // Left lead
@@ -8162,7 +8277,7 @@ import {
8162
8277
  Subtract as Subtract24,
8163
8278
  Translate as Translate44
8164
8279
  } from "jscad-fiber";
8165
- import { jsx as jsx96, jsxs as jsxs88 } from "react/jsx-runtime";
8280
+ import { jsx as jsx96, jsxs as jsxs89 } from "react/jsx-runtime";
8166
8281
  var Capsule = ({
8167
8282
  width: width10,
8168
8283
  height: height10,
@@ -8190,8 +8305,8 @@ var UsbCMidmount = ({
8190
8305
  "UsbCMidmount requires four mounting slots and a positive body depth"
8191
8306
  );
8192
8307
  const tabBottom = -0.9, tabTop = centerZ + 0.1;
8193
- return /* @__PURE__ */ jsxs88(Rotate21, { rotation: [0, 0, angle], children: [
8194
- /* @__PURE__ */ jsx96(Colorize61, { color: "#b8bdc4", children: /* @__PURE__ */ jsx96(Translate44, { offset: [0, centerY, centerZ], children: /* @__PURE__ */ jsxs88(Subtract24, { children: [
8308
+ return /* @__PURE__ */ jsxs89(Rotate21, { rotation: [0, 0, angle], children: [
8309
+ /* @__PURE__ */ jsx96(Colorize61, { color: "#b8bdc4", children: /* @__PURE__ */ jsx96(Translate44, { offset: [0, centerY, centerZ], children: /* @__PURE__ */ jsxs89(Subtract24, { children: [
8195
8310
  /* @__PURE__ */ jsx96(Capsule, { width: width10, height: height10, depth }),
8196
8311
  /* @__PURE__ */ jsx96(
8197
8312
  Capsule,
@@ -8202,7 +8317,7 @@ var UsbCMidmount = ({
8202
8317
  }
8203
8318
  )
8204
8319
  ] }) }) }),
8205
- /* @__PURE__ */ jsxs88(Colorize61, { color: "#242529", children: [
8320
+ /* @__PURE__ */ jsxs89(Colorize61, { color: "#242529", children: [
8206
8321
  /* @__PURE__ */ jsx96(
8207
8322
  Cuboid65,
8208
8323
  {
@@ -8223,7 +8338,7 @@ var UsbCMidmount = ({
8223
8338
  ) : null
8224
8339
  )
8225
8340
  ] }),
8226
- /* @__PURE__ */ jsxs88(Colorize61, { color: "#d3ad57", children: [
8341
+ /* @__PURE__ */ jsxs89(Colorize61, { color: "#d3ad57", children: [
8227
8342
  [-1, 1].flatMap(
8228
8343
  (side) => [-2.75, -2.25, -1.25, -0.25, 0.25, 1.25, 2.25, 2.75].map((x) => /* @__PURE__ */ jsx96(
8229
8344
  Cuboid65,
@@ -8265,7 +8380,7 @@ var UsbCMidmount = ({
8265
8380
  // lib/SOT143.tsx
8266
8381
  import { fp as fp9 } from "@tscircuit/footprinter";
8267
8382
  import { Rotate as Rotate22 } from "jscad-fiber";
8268
- import { jsx as jsx97, jsxs as jsxs89 } from "react/jsx-runtime";
8383
+ import { jsx as jsx97, jsxs as jsxs90 } from "react/jsx-runtime";
8269
8384
  var getPads = (footprint) => fp9.string(footprint).circuitJson().filter(
8270
8385
  (element) => element.type === "pcb_smtpad" && (element.shape === "rect" || element.shape === "rotated_rect")
8271
8386
  ).map((pad) => ({ x: pad.x, y: pad.y, pin: pad.port_hints?.[0] }));
@@ -8284,7 +8399,7 @@ var SOT143 = ({ footprint = "sot143" }) => {
8284
8399
  x: pad.x * Math.cos(angle) + pad.y * Math.sin(angle),
8285
8400
  y: -pad.x * Math.sin(angle) + pad.y * Math.cos(angle)
8286
8401
  }));
8287
- return /* @__PURE__ */ jsxs89(Rotate22, { rotation: [0, 0, angle], children: [
8402
+ return /* @__PURE__ */ jsxs90(Rotate22, { rotation: [0, 0, angle], children: [
8288
8403
  /* @__PURE__ */ jsx97(
8289
8404
  ChipBody,
8290
8405
  {
@@ -8320,7 +8435,7 @@ var SOT143 = ({ footprint = "sot143" }) => {
8320
8435
  // lib/FlexScreen.tsx
8321
8436
  import { Colorize as Colorize62, Rotate as Rotate23, RoundedCuboid as RoundedCuboid6, Translate as Translate45 } from "jscad-fiber";
8322
8437
  import { Fragment as Fragment86 } from "react";
8323
- import { Fragment as Fragment87, jsx as jsx98, jsxs as jsxs90 } from "react/jsx-runtime";
8438
+ import { Fragment as Fragment87, jsx as jsx98, jsxs as jsxs91 } from "react/jsx-runtime";
8324
8439
  var DEFAULT_ASPECT_RATIO = 16 / 9;
8325
8440
  var DEFAULT_DIAGONAL = 40;
8326
8441
  var EPSILON = 1e-6;
@@ -8777,7 +8892,7 @@ var FlexScreen = (props) => {
8777
8892
  );
8778
8893
  const conductorNormalOffset = (flexCableThickness + conductorThickness) / 2;
8779
8894
  const stiffenerNormalOffset = -(flexCableThickness + stiffenerThickness) / 2;
8780
- const assembly = /* @__PURE__ */ jsxs90(Fragment87, { children: [
8895
+ const assembly = /* @__PURE__ */ jsxs91(Fragment87, { children: [
8781
8896
  showFlexCable && /* @__PURE__ */ jsx98(
8782
8897
  CableStrip,
8783
8898
  {
@@ -8787,7 +8902,7 @@ var FlexScreen = (props) => {
8787
8902
  color: flexCableColor
8788
8903
  }
8789
8904
  ),
8790
- showFlexCable && showStiffeners && resolvedStiffenerLength > EPSILON && /* @__PURE__ */ jsxs90(Fragment87, { children: [
8905
+ showFlexCable && showStiffeners && resolvedStiffenerLength > EPSILON && /* @__PURE__ */ jsxs91(Fragment87, { children: [
8791
8906
  /* @__PURE__ */ jsx98(
8792
8907
  CableStrip,
8793
8908
  {
@@ -8809,7 +8924,7 @@ var FlexScreen = (props) => {
8809
8924
  }
8810
8925
  )
8811
8926
  ] }),
8812
- showFlexCable && showConductors && contactLength > EPSILON && conductorOffsets.map((acrossOffset, index) => /* @__PURE__ */ jsxs90(Fragment86, { children: [
8927
+ showFlexCable && showConductors && contactLength > EPSILON && conductorOffsets.map((acrossOffset, index) => /* @__PURE__ */ jsxs91(Fragment86, { children: [
8813
8928
  /* @__PURE__ */ jsx98(
8814
8929
  CableStrip,
8815
8930
  {
@@ -9548,7 +9663,7 @@ var Footprinter3d = ({ footprint }) => {
9548
9663
 
9549
9664
  // lib/utils/FlatLeadDiode.tsx
9550
9665
  import { Colorize as Colorize63, Cuboid as Cuboid67, Hull as Hull30, Subtract as Subtract25 } from "jscad-fiber";
9551
- import { Fragment as Fragment89, jsx as jsx100, jsxs as jsxs91 } from "react/jsx-runtime";
9666
+ import { Fragment as Fragment89, jsx as jsx100, jsxs as jsxs92 } from "react/jsx-runtime";
9552
9667
  function createFlatLeadDiode(p) {
9553
9668
  const dimensions = [
9554
9669
  "bodyLength",
@@ -9576,7 +9691,7 @@ function createFlatLeadDiode(p) {
9576
9691
  "Diode dimensions leave disconnected terminals or an invalid mold"
9577
9692
  );
9578
9693
  const slice = Math.min(p.bodyHeight - p.standoff, p.bodyWidth) / 100;
9579
- const body = /* @__PURE__ */ jsxs91(Hull30, { children: [
9694
+ const body = /* @__PURE__ */ jsxs92(Hull30, { children: [
9580
9695
  /* @__PURE__ */ jsx100(
9581
9696
  Cuboid67,
9582
9697
  {
@@ -9607,12 +9722,12 @@ function createFlatLeadDiode(p) {
9607
9722
  ]
9608
9723
  }
9609
9724
  );
9610
- return /* @__PURE__ */ jsxs91(Fragment89, { children: [
9611
- /* @__PURE__ */ jsx100(Colorize63, { color: "#25272a", children: p.markingWidth > 0 ? /* @__PURE__ */ jsxs91(Subtract25, { children: [
9725
+ return /* @__PURE__ */ jsxs92(Fragment89, { children: [
9726
+ /* @__PURE__ */ jsx100(Colorize63, { color: "#25272a", children: p.markingWidth > 0 ? /* @__PURE__ */ jsxs92(Subtract25, { children: [
9612
9727
  body,
9613
9728
  stripe
9614
9729
  ] }) : body }),
9615
- /* @__PURE__ */ jsxs91(Colorize63, { color: "#c7c9cd", children: [
9730
+ /* @__PURE__ */ jsxs92(Colorize63, { color: "#c7c9cd", children: [
9616
9731
  /* @__PURE__ */ jsx100(
9617
9732
  Cuboid67,
9618
9733
  {
@@ -9676,7 +9791,7 @@ var SOD323HE = (props) => createFlatLeadDiode({
9676
9791
 
9677
9792
  // lib/SOT89.tsx
9678
9793
  import { Colorize as Colorize64, Cuboid as Cuboid68, Translate as Translate47, Hull as Hull31, Union as Union24 } from "jscad-fiber";
9679
- import { Fragment as Fragment90, jsx as jsx101, jsxs as jsxs92 } from "react/jsx-runtime";
9794
+ import { Fragment as Fragment90, jsx as jsx101, jsxs as jsxs93 } from "react/jsx-runtime";
9680
9795
  function SOT89(p) {
9681
9796
  for (const k of [
9682
9797
  "bodyWidth",
@@ -9698,8 +9813,8 @@ function SOT89(p) {
9698
9813
  const front = -p.bodyWidth / 2, rear = p.bodyWidth / 2 + p.rearExtension, tabFront = rear - p.tabLength;
9699
9814
  const slice = Math.min(2e-3, (p.bodyHeight - p.standoff) / 100);
9700
9815
  const block = (x, y, length, width10) => /* @__PURE__ */ jsx101(Translate47, { offset: [x, y, p.terminalThickness / 2], children: /* @__PURE__ */ jsx101(Cuboid68, { size: [length, width10, p.terminalThickness] }) });
9701
- return /* @__PURE__ */ jsxs92(Fragment90, { children: [
9702
- /* @__PURE__ */ jsx101(Colorize64, { color: "#353535", children: /* @__PURE__ */ jsxs92(Hull31, { children: [
9816
+ return /* @__PURE__ */ jsxs93(Fragment90, { children: [
9817
+ /* @__PURE__ */ jsx101(Colorize64, { color: "#353535", children: /* @__PURE__ */ jsxs93(Hull31, { children: [
9703
9818
  /* @__PURE__ */ jsx101(Translate47, { z: p.standoff + slice / 2, children: /* @__PURE__ */ jsx101(Cuboid68, { size: [p.bodyWidth, p.bodyLength, slice] }) }),
9704
9819
  /* @__PURE__ */ jsx101(Translate47, { z: p.bodyHeight - slice / 2, children: /* @__PURE__ */ jsx101(
9705
9820
  Cuboid68,
@@ -9720,7 +9835,7 @@ function SOT89(p) {
9720
9835
  p.leadWidth
9721
9836
  )
9722
9837
  ) }),
9723
- /* @__PURE__ */ jsx101(Colorize64, { color: "#bfc1c4", children: /* @__PURE__ */ jsxs92(Union24, { children: [
9838
+ /* @__PURE__ */ jsx101(Colorize64, { color: "#bfc1c4", children: /* @__PURE__ */ jsxs93(Union24, { children: [
9724
9839
  block(
9725
9840
  (front - p.leadLength + tabFront + 0.15) / 2,
9726
9841
  0,
@@ -9734,7 +9849,7 @@ function SOT89(p) {
9734
9849
 
9735
9850
  // lib/TO277.tsx
9736
9851
  import { Colorize as Colorize65, Cuboid as Cuboid69, Translate as Translate48, Union as Union25 } from "jscad-fiber";
9737
- import { Fragment as Fragment91, jsx as jsx102, jsxs as jsxs93 } from "react/jsx-runtime";
9852
+ import { Fragment as Fragment91, jsx as jsx102, jsxs as jsxs94 } from "react/jsx-runtime";
9738
9853
  function TO277(p) {
9739
9854
  for (const k of [
9740
9855
  "bodyWidth",
@@ -9758,7 +9873,7 @@ function TO277(p) {
9758
9873
  if (p.terminalThickness >= p.bodyHeight || p.terminalSpan < p.bodyWidth || p.pitch + p.leadWidth >= p.bodyLength || p.leadWidth >= p.pitch || front + p.leadLength >= tabFront || front + p.leadLength <= -p.bodyWidth / 2 || tabFront >= p.bodyWidth / 2 || p.tabNeckWidth > p.tabWidth || p.tabWidth > p.bodyLength || p.tabBarWidth < p.tabWidth || p.tabNeckLength + p.tabBarLength >= p.tabLength)
9759
9874
  throw new Error("Invalid TO-277 terminal geometry or clearance");
9760
9875
  const block = (x, y, length, width10) => /* @__PURE__ */ jsx102(Translate48, { offset: [x, y, p.terminalThickness / 2], children: /* @__PURE__ */ jsx102(Cuboid69, { size: [length, width10, p.terminalThickness] }) });
9761
- return /* @__PURE__ */ jsxs93(Fragment91, { children: [
9876
+ return /* @__PURE__ */ jsxs94(Fragment91, { children: [
9762
9877
  /* @__PURE__ */ jsx102(Colorize65, { color: "#353535", children: /* @__PURE__ */ jsx102(Translate48, { z: (p.bodyHeight + p.terminalThickness / 2) / 2, children: /* @__PURE__ */ jsx102(
9763
9878
  Cuboid69,
9764
9879
  {
@@ -9777,7 +9892,7 @@ function TO277(p) {
9777
9892
  p.leadWidth
9778
9893
  )
9779
9894
  ) }),
9780
- /* @__PURE__ */ jsx102(Colorize65, { color: "#bfc1c4", children: /* @__PURE__ */ jsxs93(Union25, { children: [
9895
+ /* @__PURE__ */ jsx102(Colorize65, { color: "#bfc1c4", children: /* @__PURE__ */ jsxs94(Union25, { children: [
9781
9896
  block(
9782
9897
  tabFront + (p.tabLength - p.tabNeckLength) / 2,
9783
9898
  0,
@@ -9803,7 +9918,7 @@ function TO277(p) {
9803
9918
  // lib/TantalumCapacitor.tsx
9804
9919
  import { fp as fp11 } from "@tscircuit/footprinter";
9805
9920
  import { Colorize as Colorize66, Cuboid as Cuboid70, Hull as Hull32, Rotate as Rotate25, Translate as Translate49, Union as Union26 } from "jscad-fiber";
9806
- import { jsx as jsx103, jsxs as jsxs94 } from "react/jsx-runtime";
9921
+ import { jsx as jsx103, jsxs as jsxs95 } from "react/jsx-runtime";
9807
9922
  var tantalumCases = {
9808
9923
  A: [3.2, 1.6, 1.6, 1.2, 0.8],
9809
9924
  B: [3.5, 2.8, 1.9, 2.2, 0.8],
@@ -9823,8 +9938,8 @@ var TantalumCapacitor = ({
9823
9938
  if (pads.length !== 2) throw new Error("TantalumCapacitor requires two pads");
9824
9939
  const [a, b] = pads;
9825
9940
  const angle = Math.atan2(b.y - a.y, b.x - a.x);
9826
- return /* @__PURE__ */ jsx103(Translate49, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs94(Rotate25, { rotation: [0, 0, angle], children: [
9827
- /* @__PURE__ */ jsx103(Colorize66, { color: "#d5a64e", children: /* @__PURE__ */ jsxs94(Hull32, { children: [
9941
+ return /* @__PURE__ */ jsx103(Translate49, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs95(Rotate25, { rotation: [0, 0, angle], children: [
9942
+ /* @__PURE__ */ jsx103(Colorize66, { color: "#d5a64e", children: /* @__PURE__ */ jsxs95(Hull32, { children: [
9828
9943
  /* @__PURE__ */ jsx103(Cuboid70, { size: [length - 0.1, width10, 0.02], center: [0, 0, 0.21] }),
9829
9944
  /* @__PURE__ */ jsx103(
9830
9945
  Cuboid70,
@@ -9834,7 +9949,7 @@ var TantalumCapacitor = ({
9834
9949
  }
9835
9950
  )
9836
9951
  ] }) }),
9837
- /* @__PURE__ */ jsx103(Colorize66, { color: "#c5c8cb", children: [-1, 1].map((side) => /* @__PURE__ */ jsxs94(Union26, { children: [
9952
+ /* @__PURE__ */ jsx103(Colorize66, { color: "#c5c8cb", children: [-1, 1].map((side) => /* @__PURE__ */ jsxs95(Union26, { children: [
9838
9953
  /* @__PURE__ */ jsx103(
9839
9954
  Cuboid70,
9840
9955
  {
@@ -9864,7 +9979,7 @@ var TantalumCapacitor = ({
9864
9979
  // lib/TwoPadCrystal.tsx
9865
9980
  import { fp as fp12 } from "@tscircuit/footprinter";
9866
9981
  import { Colorize as Colorize67, Cuboid as Cuboid71, RoundedCuboid as RoundedCuboid7, Rotate as Rotate26, Translate as Translate50 } from "jscad-fiber";
9867
- import { jsx as jsx104, jsxs as jsxs95 } from "react/jsx-runtime";
9982
+ import { jsx as jsx104, jsxs as jsxs96 } from "react/jsx-runtime";
9868
9983
  var twoPadCrystalPackages = {
9869
9984
  FC135: [3.2, 1.5, 0.9, 0.7],
9870
9985
  FC12M: [2.05, 1.2, 0.6, 0.5],
@@ -9884,7 +9999,7 @@ var TwoPadCrystal = ({
9884
9999
  if (pads.length !== 2) throw new Error("TwoPadCrystal requires two pads");
9885
10000
  const [a, b] = pads;
9886
10001
  const angle = Math.atan2(b.y - a.y, b.x - a.x);
9887
- return /* @__PURE__ */ jsx104(Translate50, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs95(Rotate26, { rotation: [0, 0, angle], children: [
10002
+ return /* @__PURE__ */ jsx104(Translate50, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs96(Rotate26, { rotation: [0, 0, angle], children: [
9888
10003
  /* @__PURE__ */ jsx104(Colorize67, { color: "#e0dcca", children: /* @__PURE__ */ jsx104(Cuboid71, { size: [length, width10, 0.2], center: [0, 0, 0.13] }) }),
9889
10004
  /* @__PURE__ */ jsx104(Colorize67, { color: "#acb1b8", children: /* @__PURE__ */ jsx104(
9890
10005
  RoundedCuboid7,
@@ -9908,7 +10023,7 @@ var TwoPadCrystal = ({
9908
10023
  // lib/CeramicChipAntenna.tsx
9909
10024
  import { fp as fp13 } from "@tscircuit/footprinter";
9910
10025
  import { Colorize as Colorize68, Cuboid as Cuboid72, Rotate as Rotate27, Translate as Translate51 } from "jscad-fiber";
9911
- import { jsx as jsx105, jsxs as jsxs96 } from "react/jsx-runtime";
10026
+ import { jsx as jsx105, jsxs as jsxs97 } from "react/jsx-runtime";
9912
10027
  var CeramicChipAntenna = ({
9913
10028
  footprint = "smdpads2_p5.4mm_pw1mm_ph2mm"
9914
10029
  }) => {
@@ -9918,7 +10033,7 @@ var CeramicChipAntenna = ({
9918
10033
  if (pads.length !== 2) throw new Error("CeramicChipAntenna requires two pads");
9919
10034
  const [a, b] = pads;
9920
10035
  const angle = Math.atan2(b.y - a.y, b.x - a.x);
9921
- return /* @__PURE__ */ jsx105(Translate51, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs96(Rotate27, { rotation: [0, 0, angle], children: [
10036
+ return /* @__PURE__ */ jsx105(Translate51, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, 0], children: /* @__PURE__ */ jsxs97(Rotate27, { rotation: [0, 0, angle], children: [
9922
10037
  /* @__PURE__ */ jsx105(
9923
10038
  Cuboid72,
9924
10039
  {
@@ -9950,7 +10065,7 @@ var CeramicChipAntenna = ({
9950
10065
  // lib/MelfResistor.tsx
9951
10066
  import { fp as fp14 } from "@tscircuit/footprinter";
9952
10067
  import { Colorize as Colorize69, Cylinder as Cylinder28, Rotate as Rotate28, Translate as Translate52 } from "jscad-fiber";
9953
- import { jsx as jsx106, jsxs as jsxs97 } from "react/jsx-runtime";
10068
+ import { jsx as jsx106, jsxs as jsxs98 } from "react/jsx-runtime";
9954
10069
  var melfResistorSizes = {
9955
10070
  "0102": [2.2, 1.1, 0.4],
9956
10071
  "0204": [3.6, 1.4, 0.75],
@@ -9969,7 +10084,7 @@ var MelfResistor = ({
9969
10084
  if (pads.length !== 2) throw new Error("MelfResistor requires two pads");
9970
10085
  const [a, b] = pads;
9971
10086
  const angle = Math.atan2(b.y - a.y, b.x - a.x);
9972
- return /* @__PURE__ */ jsx106(Translate52, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, diameter / 2], children: /* @__PURE__ */ jsx106(Rotate28, { rotation: [0, 0, angle], children: /* @__PURE__ */ jsxs97(Rotate28, { rotation: [0, Math.PI / 2, 0], children: [
10087
+ return /* @__PURE__ */ jsx106(Translate52, { offset: [(a.x + b.x) / 2, (a.y + b.y) / 2, diameter / 2], children: /* @__PURE__ */ jsx106(Rotate28, { rotation: [0, 0, angle], children: /* @__PURE__ */ jsxs98(Rotate28, { rotation: [0, Math.PI / 2, 0], children: [
9973
10088
  /* @__PURE__ */ jsx106(Colorize69, { color: "#426d63", children: /* @__PURE__ */ jsx106(
9974
10089
  Cylinder28,
9975
10090
  {