jscad-electronics 0.0.69 → 0.0.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -61,8 +61,22 @@ interface ChipBodyProps {
61
61
  y: number;
62
62
  z: number;
63
63
  };
64
+ color?: string;
65
+ taperRatio?: number;
66
+ faceRatio?: number;
67
+ straightHeightRatio?: number;
68
+ includeNotch?: boolean;
69
+ notchRadius?: number;
70
+ notchPosition?: {
71
+ x: number;
72
+ y: number;
73
+ z: number;
74
+ };
75
+ notchRotation?: [number, number, number];
76
+ notchLength?: number;
77
+ notchWidth?: number;
64
78
  }
65
- declare const ChipBody: ({ center, width, length, height, heightAboveSurface, }: ChipBodyProps) => react_jsx_runtime.JSX.Element;
79
+ declare const ChipBody: ({ center, width, length, height, heightAboveSurface, color, taperRatio, faceRatio, straightHeightRatio, includeNotch, notchRadius, notchPosition, notchRotation, notchLength, notchWidth, }: ChipBodyProps) => react_jsx_runtime.JSX.Element;
66
80
 
67
81
  declare const ExtrudedPads: ({ circuitJson, footprint, }: {
68
82
  circuitJson?: AnyCircuitElement[];
@@ -183,4 +197,8 @@ declare const SOD123FL: () => react_jsx_runtime.JSX.Element;
183
197
 
184
198
  declare const SOD923: () => react_jsx_runtime.JSX.Element;
185
199
 
186
- export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD523, SOD923, SOT233P, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, Tssop, VSSOP };
200
+ declare const SOT223: () => react_jsx_runtime.JSX.Element;
201
+
202
+ declare const SOT323: () => react_jsx_runtime.JSX.Element;
203
+
204
+ export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD523, SOD923, SOT223, SOT233P, SOT323, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, Tssop, VSSOP };
package/dist/index.js CHANGED
@@ -401,31 +401,45 @@ var ChipBody = ({
401
401
  width: width10,
402
402
  length,
403
403
  height: height10,
404
- heightAboveSurface: heightAboveSurface2 = 0.15
404
+ heightAboveSurface: heightAboveSurface2 = 0.15,
405
+ color = "#555",
406
+ taperRatio = 0.12,
407
+ faceRatio = 0.75,
408
+ straightHeightRatio = 0.5,
409
+ includeNotch = true,
410
+ notchRadius,
411
+ notchPosition,
412
+ notchRotation = [0, 0, 0],
413
+ notchLength = 0.5,
414
+ notchWidth = 0.25
405
415
  }) => {
406
- const straightHeight = height10 * 0.5;
416
+ const straightHeight = height10 * straightHeightRatio;
407
417
  const taperHeight = height10 - straightHeight;
408
- const taperInset = Math.min(width10, length) * 0.12;
409
- const faceWidth = Math.max(width10 - taperInset, width10 * 0.75);
410
- const faceLength = Math.max(length - taperInset, length * 0.75);
411
- const notchRadius = Math.min(width10, length) * 0.12;
412
- const notchCenterZ = height10 - notchRadius * 0.6;
413
- const notchCenterY = length / 2 - notchRadius * 0.25;
414
- const notchLength = 0.5;
415
- const notchWidth = 0.25;
416
- return /* @__PURE__ */ jsx11(Colorize2, { color: "#555", children: /* @__PURE__ */ jsx11(Translate3, { offset: center, children: /* @__PURE__ */ jsx11(Translate3, { offset: { x: 0, y: 0, z: heightAboveSurface2 }, children: /* @__PURE__ */ jsxs11(Subtract, { children: [
417
- /* @__PURE__ */ jsxs11(Union2, { children: [
418
- /* @__PURE__ */ jsxs11(Hull, { children: [
419
- /* @__PURE__ */ jsx11(Translate3, { z: 5e-3, children: /* @__PURE__ */ jsx11(Cuboid11, { size: [faceWidth, faceLength, 0.01] }) }),
420
- /* @__PURE__ */ jsx11(Translate3, { z: straightHeight, children: /* @__PURE__ */ jsx11(Cuboid11, { size: [width10, length, 0.01] }) })
421
- ] }),
422
- /* @__PURE__ */ jsxs11(Hull, { children: [
423
- /* @__PURE__ */ jsx11(Translate3, { z: straightHeight, children: /* @__PURE__ */ jsx11(Cuboid11, { size: [width10, length, 0.01] }) }),
424
- /* @__PURE__ */ jsx11(Translate3, { z: straightHeight + taperHeight, children: /* @__PURE__ */ jsx11(Cuboid11, { size: [faceWidth, faceLength, 0.01] }) })
425
- ] })
418
+ const taperInset = Math.min(width10, length) * taperRatio;
419
+ const faceWidth = Math.max(width10 - taperInset, width10 * faceRatio);
420
+ const faceLength = Math.max(length - taperInset, length * faceRatio);
421
+ const defaultNotchRadius = Math.min(width10, length) * 0.12;
422
+ const actualNotchRadius = notchRadius ?? defaultNotchRadius;
423
+ const defaultNotchPosition = {
424
+ x: 0,
425
+ y: length / 2 - actualNotchRadius * 0.25,
426
+ z: height10
427
+ };
428
+ const actualNotchPosition = notchPosition ?? defaultNotchPosition;
429
+ const body = /* @__PURE__ */ jsxs11(Union2, { children: [
430
+ /* @__PURE__ */ jsxs11(Hull, { children: [
431
+ /* @__PURE__ */ jsx11(Translate3, { z: 5e-3, children: /* @__PURE__ */ jsx11(Cuboid11, { size: [faceWidth, faceLength, 0.01] }) }),
432
+ /* @__PURE__ */ jsx11(Translate3, { z: straightHeight, children: /* @__PURE__ */ jsx11(Cuboid11, { size: [width10, length, 0.01] }) })
426
433
  ] }),
427
- /* @__PURE__ */ jsx11(Translate3, { offset: { x: 0, y: notchCenterY, z: height10 }, children: /* @__PURE__ */ jsx11(Rotate2, { rotation: [0, 0, 0], children: /* @__PURE__ */ jsx11(Cylinder, { radius: notchLength, height: notchWidth }) }) })
428
- ] }) }) }) });
434
+ /* @__PURE__ */ jsxs11(Hull, { children: [
435
+ /* @__PURE__ */ jsx11(Translate3, { z: straightHeight, children: /* @__PURE__ */ jsx11(Cuboid11, { size: [width10, length, 0.01] }) }),
436
+ /* @__PURE__ */ jsx11(Translate3, { z: straightHeight + taperHeight, children: /* @__PURE__ */ jsx11(Cuboid11, { size: [faceWidth, faceLength, 0.01] }) })
437
+ ] })
438
+ ] });
439
+ return /* @__PURE__ */ jsx11(Colorize2, { color, children: /* @__PURE__ */ jsx11(Translate3, { offset: center, children: /* @__PURE__ */ jsx11(Translate3, { offset: { x: 0, y: 0, z: heightAboveSurface2 }, children: includeNotch ? /* @__PURE__ */ jsxs11(Subtract, { children: [
440
+ body,
441
+ /* @__PURE__ */ jsx11(Translate3, { offset: actualNotchPosition, children: /* @__PURE__ */ jsx11(Rotate2, { rotation: notchRotation, children: /* @__PURE__ */ jsx11(Cylinder, { radius: notchLength, height: notchWidth }) }) })
442
+ ] }) : body }) }) });
429
443
  };
430
444
 
431
445
  // lib/ExtrudedPads.tsx
@@ -2100,15 +2114,189 @@ var SOD923 = () => {
2100
2114
  ] });
2101
2115
  };
2102
2116
 
2117
+ // lib/SOT-223.tsx
2118
+ import { Fragment as Fragment30, jsx as jsx34, jsxs as jsxs32 } from "react/jsx-runtime";
2119
+ var SOT223 = () => {
2120
+ const fullWidth = 6.6;
2121
+ const bodyWidth = 3.5;
2122
+ const bodyLength10 = 6.5;
2123
+ const bodyHeight = 1.7;
2124
+ const leadWidth = 0.7;
2125
+ const leftLeadWidth = 3;
2126
+ const leadThickness = 0.25;
2127
+ const leadHeight = 0.75;
2128
+ const padContactLength = 0.5;
2129
+ const padPitch = 2.3;
2130
+ const extendedBodyDistance = fullWidth - bodyWidth;
2131
+ return /* @__PURE__ */ jsxs32(Fragment30, { children: [
2132
+ /* @__PURE__ */ jsx34(
2133
+ SmdChipLead,
2134
+ {
2135
+ rotation: Math.PI,
2136
+ position: {
2137
+ x: fullWidth / 2 + extendedBodyDistance / 4,
2138
+ y: 0,
2139
+ z: leadThickness / 2
2140
+ },
2141
+ width: leftLeadWidth,
2142
+ thickness: leadThickness,
2143
+ padContactLength,
2144
+ bodyDistance: extendedBodyDistance,
2145
+ height: leadHeight
2146
+ },
2147
+ 4
2148
+ ),
2149
+ /* @__PURE__ */ jsx34(
2150
+ SmdChipLead,
2151
+ {
2152
+ position: {
2153
+ x: -fullWidth / 2 - extendedBodyDistance / 4,
2154
+ y: 0,
2155
+ z: leadThickness / 2
2156
+ },
2157
+ width: leadWidth,
2158
+ thickness: leadThickness,
2159
+ padContactLength,
2160
+ bodyDistance: extendedBodyDistance,
2161
+ height: leadHeight
2162
+ },
2163
+ 3
2164
+ ),
2165
+ /* @__PURE__ */ jsx34(
2166
+ SmdChipLead,
2167
+ {
2168
+ position: {
2169
+ x: -fullWidth / 2 - extendedBodyDistance / 4,
2170
+ y: -padPitch,
2171
+ z: leadThickness / 2
2172
+ },
2173
+ width: leadWidth,
2174
+ thickness: leadThickness,
2175
+ padContactLength,
2176
+ bodyDistance: extendedBodyDistance,
2177
+ height: leadHeight
2178
+ },
2179
+ 1
2180
+ ),
2181
+ /* @__PURE__ */ jsx34(
2182
+ SmdChipLead,
2183
+ {
2184
+ position: {
2185
+ x: -fullWidth / 2 - extendedBodyDistance / 4,
2186
+ y: padPitch,
2187
+ z: leadThickness / 2
2188
+ },
2189
+ width: leadWidth,
2190
+ thickness: leadThickness,
2191
+ padContactLength,
2192
+ bodyDistance: extendedBodyDistance,
2193
+ height: leadHeight
2194
+ },
2195
+ 2
2196
+ ),
2197
+ /* @__PURE__ */ jsx34(
2198
+ ChipBody,
2199
+ {
2200
+ center: { x: 0, y: 0, z: 0 },
2201
+ width: bodyWidth,
2202
+ length: bodyLength10,
2203
+ height: bodyHeight,
2204
+ includeNotch: false,
2205
+ taperRatio: 0.06,
2206
+ straightHeightRatio: 0.45
2207
+ }
2208
+ )
2209
+ ] });
2210
+ };
2211
+
2212
+ // lib/SOT-323.tsx
2213
+ import { Fragment as Fragment31, jsx as jsx35, jsxs as jsxs33 } from "react/jsx-runtime";
2214
+ var SOT323 = () => {
2215
+ const fullWidth = 2.05;
2216
+ const bodyWidth = 1.25;
2217
+ const bodyLength10 = 2;
2218
+ const bodyHeight = 0.9;
2219
+ const leadWidth = 0.3;
2220
+ const leadThickness = 0.18;
2221
+ const leadHeight = 0.65;
2222
+ const padContactLength = 0.2;
2223
+ const padPitch = 0.65;
2224
+ const extendedBodyDistance = fullWidth - bodyWidth;
2225
+ return /* @__PURE__ */ jsxs33(Fragment31, { children: [
2226
+ /* @__PURE__ */ jsx35(
2227
+ SmdChipLead,
2228
+ {
2229
+ rotation: Math.PI,
2230
+ position: {
2231
+ x: fullWidth / 2 + extendedBodyDistance / 4,
2232
+ y: 0,
2233
+ z: leadThickness / 2
2234
+ },
2235
+ width: leadWidth,
2236
+ thickness: leadThickness,
2237
+ padContactLength,
2238
+ bodyDistance: extendedBodyDistance,
2239
+ height: leadHeight
2240
+ },
2241
+ 4
2242
+ ),
2243
+ /* @__PURE__ */ jsx35(
2244
+ SmdChipLead,
2245
+ {
2246
+ position: {
2247
+ x: -fullWidth / 2 - extendedBodyDistance / 4,
2248
+ y: -padPitch,
2249
+ z: leadThickness / 2
2250
+ },
2251
+ width: leadWidth,
2252
+ thickness: leadThickness,
2253
+ padContactLength,
2254
+ bodyDistance: extendedBodyDistance,
2255
+ height: leadHeight
2256
+ },
2257
+ 1
2258
+ ),
2259
+ /* @__PURE__ */ jsx35(
2260
+ SmdChipLead,
2261
+ {
2262
+ position: {
2263
+ x: -fullWidth / 2 - extendedBodyDistance / 4,
2264
+ y: padPitch,
2265
+ z: leadThickness / 2
2266
+ },
2267
+ width: leadWidth,
2268
+ thickness: leadThickness,
2269
+ padContactLength,
2270
+ bodyDistance: extendedBodyDistance,
2271
+ height: leadHeight
2272
+ },
2273
+ 2
2274
+ ),
2275
+ /* @__PURE__ */ jsx35(
2276
+ ChipBody,
2277
+ {
2278
+ center: { x: 0, y: 0, z: 0 },
2279
+ width: bodyWidth,
2280
+ length: bodyLength10,
2281
+ height: bodyHeight,
2282
+ includeNotch: false,
2283
+ taperRatio: 0.06,
2284
+ straightHeightRatio: 0.7,
2285
+ heightAboveSurface: 0.05
2286
+ }
2287
+ )
2288
+ ] });
2289
+ };
2290
+
2103
2291
  // lib/Footprinter3d.tsx
2104
- import { jsx as jsx34 } from "react/jsx-runtime";
2292
+ import { jsx as jsx36 } from "react/jsx-runtime";
2105
2293
  var Footprinter3d = ({ footprint }) => {
2106
2294
  const fpJson = fp3.string(footprint).json();
2107
2295
  switch (fpJson.fn) {
2108
2296
  case "dip":
2109
- return /* @__PURE__ */ jsx34(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2297
+ return /* @__PURE__ */ jsx36(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
2110
2298
  case "tssop":
2111
- return /* @__PURE__ */ jsx34(
2299
+ return /* @__PURE__ */ jsx36(
2112
2300
  Tssop,
2113
2301
  {
2114
2302
  pinCount: fpJson.num_pins,
@@ -2119,7 +2307,7 @@ var Footprinter3d = ({ footprint }) => {
2119
2307
  }
2120
2308
  );
2121
2309
  case "vssop":
2122
- return /* @__PURE__ */ jsx34(
2310
+ return /* @__PURE__ */ jsx36(
2123
2311
  VSSOP,
2124
2312
  {
2125
2313
  pinCount: fpJson.num_pins,
@@ -2131,7 +2319,7 @@ var Footprinter3d = ({ footprint }) => {
2131
2319
  }
2132
2320
  );
2133
2321
  case "qfp":
2134
- return /* @__PURE__ */ jsx34(
2322
+ return /* @__PURE__ */ jsx36(
2135
2323
  QFP,
2136
2324
  {
2137
2325
  pinCount: fpJson.num_pins,
@@ -2143,7 +2331,7 @@ var Footprinter3d = ({ footprint }) => {
2143
2331
  );
2144
2332
  case "qfn":
2145
2333
  const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
2146
- return /* @__PURE__ */ jsx34(
2334
+ return /* @__PURE__ */ jsx36(
2147
2335
  qfn_default,
2148
2336
  {
2149
2337
  num_pins: fpJson.num_pins,
@@ -2160,35 +2348,39 @@ var Footprinter3d = ({ footprint }) => {
2160
2348
  );
2161
2349
  case "pinrow":
2162
2350
  if (fpJson.male)
2163
- return /* @__PURE__ */ jsx34(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2351
+ return /* @__PURE__ */ jsx36(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2164
2352
  if (fpJson.female)
2165
- return /* @__PURE__ */ jsx34(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2353
+ return /* @__PURE__ */ jsx36(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
2166
2354
  case "cap": {
2167
2355
  switch (fpJson.imperial) {
2168
2356
  case "0402":
2169
- return /* @__PURE__ */ jsx34(A0402, { color: "#856c4d" });
2357
+ return /* @__PURE__ */ jsx36(A0402, { color: "#856c4d" });
2170
2358
  case "0603":
2171
- return /* @__PURE__ */ jsx34(A0603, { color: "#856c4d" });
2359
+ return /* @__PURE__ */ jsx36(A0603, { color: "#856c4d" });
2172
2360
  case "0805":
2173
- return /* @__PURE__ */ jsx34(A0805, { color: "#856c4d" });
2361
+ return /* @__PURE__ */ jsx36(A0805, { color: "#856c4d" });
2174
2362
  case "0201":
2175
- return /* @__PURE__ */ jsx34(A0201, { color: "#856c4d" });
2363
+ return /* @__PURE__ */ jsx36(A0201, { color: "#856c4d" });
2176
2364
  case "01005":
2177
- return /* @__PURE__ */ jsx34(A01005, { color: "#856c4d" });
2365
+ return /* @__PURE__ */ jsx36(A01005, { color: "#856c4d" });
2178
2366
  case "1206":
2179
- return /* @__PURE__ */ jsx34(A1206, { color: "#856c4d" });
2367
+ return /* @__PURE__ */ jsx36(A1206, { color: "#856c4d" });
2180
2368
  case "1210":
2181
- return /* @__PURE__ */ jsx34(A1210, { color: "#856c4d" });
2369
+ return /* @__PURE__ */ jsx36(A1210, { color: "#856c4d" });
2182
2370
  case "2010":
2183
- return /* @__PURE__ */ jsx34(A2010, { color: "#856c4d" });
2371
+ return /* @__PURE__ */ jsx36(A2010, { color: "#856c4d" });
2184
2372
  case "2512":
2185
- return /* @__PURE__ */ jsx34(A2512, { color: "#856c4d" });
2373
+ return /* @__PURE__ */ jsx36(A2512, { color: "#856c4d" });
2186
2374
  }
2187
2375
  }
2188
2376
  case "sot235":
2189
- return /* @__PURE__ */ jsx34(SOT_235_default, {});
2377
+ return /* @__PURE__ */ jsx36(SOT_235_default, {});
2378
+ case "sot223":
2379
+ return /* @__PURE__ */ jsx36(SOT223, {});
2380
+ case "sot323":
2381
+ return /* @__PURE__ */ jsx36(SOT323, {});
2190
2382
  case "pushbutton":
2191
- return /* @__PURE__ */ jsx34(
2383
+ return /* @__PURE__ */ jsx36(
2192
2384
  PushButton,
2193
2385
  {
2194
2386
  width: fpJson.w,
@@ -2197,7 +2389,7 @@ var Footprinter3d = ({ footprint }) => {
2197
2389
  }
2198
2390
  );
2199
2391
  case "soic":
2200
- return /* @__PURE__ */ jsx34(
2392
+ return /* @__PURE__ */ jsx36(
2201
2393
  SOIC,
2202
2394
  {
2203
2395
  pinCount: fpJson.num_pins,
@@ -2208,49 +2400,49 @@ var Footprinter3d = ({ footprint }) => {
2208
2400
  }
2209
2401
  );
2210
2402
  case "sod523":
2211
- return /* @__PURE__ */ jsx34(SOD523, {});
2403
+ return /* @__PURE__ */ jsx36(SOD523, {});
2212
2404
  case "sma":
2213
- return /* @__PURE__ */ jsx34(SMA, {});
2405
+ return /* @__PURE__ */ jsx36(SMA, {});
2214
2406
  case "smb":
2215
- return /* @__PURE__ */ jsx34(SMB, {});
2407
+ return /* @__PURE__ */ jsx36(SMB, {});
2216
2408
  case "smc":
2217
- return /* @__PURE__ */ jsx34(SMC, {});
2409
+ return /* @__PURE__ */ jsx36(SMC, {});
2218
2410
  case "smf":
2219
- return /* @__PURE__ */ jsx34(SMF, {});
2411
+ return /* @__PURE__ */ jsx36(SMF, {});
2220
2412
  case "sod123f":
2221
- return /* @__PURE__ */ jsx34(SOD123F, {});
2413
+ return /* @__PURE__ */ jsx36(SOD123F, {});
2222
2414
  case "sod123fl":
2223
- return /* @__PURE__ */ jsx34(SOD123FL, {});
2415
+ return /* @__PURE__ */ jsx36(SOD123FL, {});
2224
2416
  case "sod923":
2225
- return /* @__PURE__ */ jsx34(SOD923, {});
2417
+ return /* @__PURE__ */ jsx36(SOD923, {});
2226
2418
  }
2227
2419
  const colorMatch = footprint.match(/_color\(([^)]+)\)/);
2228
2420
  const color = colorMatch ? colorMatch[1] : void 0;
2229
2421
  switch (fpJson.imperial) {
2230
2422
  case "0402":
2231
- return /* @__PURE__ */ jsx34(A0402, { color });
2423
+ return /* @__PURE__ */ jsx36(A0402, { color });
2232
2424
  case "0603":
2233
- return /* @__PURE__ */ jsx34(A0603, { color });
2425
+ return /* @__PURE__ */ jsx36(A0603, { color });
2234
2426
  case "0805":
2235
- return /* @__PURE__ */ jsx34(A0805, { color });
2427
+ return /* @__PURE__ */ jsx36(A0805, { color });
2236
2428
  case "0201":
2237
- return /* @__PURE__ */ jsx34(A0201, { color });
2429
+ return /* @__PURE__ */ jsx36(A0201, { color });
2238
2430
  case "01005":
2239
- return /* @__PURE__ */ jsx34(A01005, { color });
2431
+ return /* @__PURE__ */ jsx36(A01005, { color });
2240
2432
  case "1206":
2241
- return /* @__PURE__ */ jsx34(A1206, { color });
2433
+ return /* @__PURE__ */ jsx36(A1206, { color });
2242
2434
  case "1210":
2243
- return /* @__PURE__ */ jsx34(A1210, { color });
2435
+ return /* @__PURE__ */ jsx36(A1210, { color });
2244
2436
  case "2010":
2245
- return /* @__PURE__ */ jsx34(A2010, { color });
2437
+ return /* @__PURE__ */ jsx36(A2010, { color });
2246
2438
  case "2512":
2247
- return /* @__PURE__ */ jsx34(A2512, { color });
2439
+ return /* @__PURE__ */ jsx36(A2512, { color });
2248
2440
  }
2249
2441
  return null;
2250
2442
  };
2251
2443
 
2252
2444
  // lib/SOT-23-3P.tsx
2253
- import { Fragment as Fragment30, jsx as jsx35, jsxs as jsxs32 } from "react/jsx-runtime";
2445
+ import { Fragment as Fragment32, jsx as jsx37, jsxs as jsxs34 } from "react/jsx-runtime";
2254
2446
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2255
2447
  const bodyWidth = 1.3;
2256
2448
  const bodyLength10 = 2.9;
@@ -2261,8 +2453,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2261
2453
  const padContactLength = 0.4;
2262
2454
  const padThickness = leadThickness / 2;
2263
2455
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
2264
- return /* @__PURE__ */ jsxs32(Fragment30, { children: [
2265
- /* @__PURE__ */ jsx35(
2456
+ return /* @__PURE__ */ jsxs34(Fragment32, { children: [
2457
+ /* @__PURE__ */ jsx37(
2266
2458
  SmdChipLead,
2267
2459
  {
2268
2460
  rotation: Math.PI,
@@ -2279,7 +2471,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2279
2471
  },
2280
2472
  1
2281
2473
  ),
2282
- /* @__PURE__ */ jsx35(
2474
+ /* @__PURE__ */ jsx37(
2283
2475
  SmdChipLead,
2284
2476
  {
2285
2477
  rotation: Math.PI,
@@ -2296,7 +2488,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2296
2488
  },
2297
2489
  2
2298
2490
  ),
2299
- /* @__PURE__ */ jsx35(
2491
+ /* @__PURE__ */ jsx37(
2300
2492
  SmdChipLead,
2301
2493
  {
2302
2494
  position: {
@@ -2312,7 +2504,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2312
2504
  },
2313
2505
  3
2314
2506
  ),
2315
- /* @__PURE__ */ jsx35(
2507
+ /* @__PURE__ */ jsx37(
2316
2508
  ChipBody,
2317
2509
  {
2318
2510
  center: { x: 0, y: 0, z: 0 },
@@ -2326,7 +2518,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
2326
2518
 
2327
2519
  // lib/SOT-563.tsx
2328
2520
  import { Cuboid as Cuboid26, Translate as Translate17, Rotate as Rotate6, Colorize as Colorize18 } from "jscad-fiber";
2329
- import { Fragment as Fragment31, jsx as jsx36, jsxs as jsxs33 } from "react/jsx-runtime";
2521
+ import { Fragment as Fragment33, jsx as jsx38, jsxs as jsxs35 } from "react/jsx-runtime";
2330
2522
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2331
2523
  const bodyWidth = 1.2;
2332
2524
  const bodyLength10 = 1.6;
@@ -2336,11 +2528,11 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2336
2528
  const leadHeight = 0.13;
2337
2529
  const leadSpacing = 0.5;
2338
2530
  const bodyZOffset = -0.4;
2339
- return /* @__PURE__ */ jsxs33(Fragment31, { children: [
2340
- /* @__PURE__ */ jsx36(Rotate6, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx36(Translate17, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx36(Colorize18, { color: "grey", children: /* @__PURE__ */ jsx36(Cuboid26, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
2531
+ return /* @__PURE__ */ jsxs35(Fragment33, { children: [
2532
+ /* @__PURE__ */ jsx38(Rotate6, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx38(Translate17, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx38(Colorize18, { color: "grey", children: /* @__PURE__ */ jsx38(Cuboid26, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
2341
2533
  [-1, 0, 1].flatMap((yOffset, index) => [
2342
2534
  // Left lead
2343
- /* @__PURE__ */ jsx36(
2535
+ /* @__PURE__ */ jsx38(
2344
2536
  Translate17,
2345
2537
  {
2346
2538
  center: [
@@ -2348,16 +2540,16 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2348
2540
  yOffset * leadSpacing,
2349
2541
  leadHeight / 2
2350
2542
  ],
2351
- children: /* @__PURE__ */ jsx36(Cuboid26, { size: [leadLength, leadWidth, leadHeight] })
2543
+ children: /* @__PURE__ */ jsx38(Cuboid26, { size: [leadLength, leadWidth, leadHeight] })
2352
2544
  },
2353
2545
  `left-${index}`
2354
2546
  ),
2355
2547
  // Right lead
2356
- /* @__PURE__ */ jsx36(
2548
+ /* @__PURE__ */ jsx38(
2357
2549
  Translate17,
2358
2550
  {
2359
2551
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
2360
- children: /* @__PURE__ */ jsx36(Cuboid26, { size: [leadLength, leadWidth, leadHeight] })
2552
+ children: /* @__PURE__ */ jsx38(Cuboid26, { size: [leadLength, leadWidth, leadHeight] })
2361
2553
  },
2362
2554
  `right-${index}`
2363
2555
  )
@@ -2367,7 +2559,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
2367
2559
 
2368
2560
  // lib/SOT-723.tsx
2369
2561
  import { Cuboid as Cuboid27, Translate as Translate18, Rotate as Rotate7, Colorize as Colorize19 } from "jscad-fiber";
2370
- import { Fragment as Fragment32, jsx as jsx37, jsxs as jsxs34 } from "react/jsx-runtime";
2562
+ import { Fragment as Fragment34, jsx as jsx39, jsxs as jsxs36 } from "react/jsx-runtime";
2371
2563
  var getCcwSot723Coords = (pn) => {
2372
2564
  if (pn === 1) {
2373
2565
  return { x: 0, y: 0 };
@@ -2385,11 +2577,11 @@ var SOT723 = () => {
2385
2577
  const leadLength = 0.3;
2386
2578
  const leadHeight = 0.1;
2387
2579
  const centerLeadWidth = 0.42;
2388
- return /* @__PURE__ */ jsxs34(Fragment32, { children: [
2389
- /* @__PURE__ */ jsx37(Rotate7, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx37(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx37(Colorize19, { color: "grey", children: /* @__PURE__ */ jsx37(Cuboid27, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
2580
+ return /* @__PURE__ */ jsxs36(Fragment34, { children: [
2581
+ /* @__PURE__ */ jsx39(Rotate7, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx39(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx39(Colorize19, { color: "grey", children: /* @__PURE__ */ jsx39(Cuboid27, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
2390
2582
  [1, 2, 3].map((pn) => {
2391
2583
  const { x, y } = getCcwSot723Coords(pn);
2392
- return /* @__PURE__ */ jsx37(Translate18, { center: [x, y, 0], children: /* @__PURE__ */ jsx37(
2584
+ return /* @__PURE__ */ jsx39(Translate18, { center: [x, y, 0], children: /* @__PURE__ */ jsx39(
2393
2585
  Cuboid27,
2394
2586
  {
2395
2587
  size: [
@@ -2404,7 +2596,7 @@ var SOT723 = () => {
2404
2596
  };
2405
2597
 
2406
2598
  // lib/sod-123.tsx
2407
- import { Fragment as Fragment33, jsx as jsx38, jsxs as jsxs35 } from "react/jsx-runtime";
2599
+ import { Fragment as Fragment35, jsx as jsx40, jsxs as jsxs37 } from "react/jsx-runtime";
2408
2600
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
2409
2601
  const bodyWidth = 2.9;
2410
2602
  const bodyLength10 = 1.3;
@@ -2415,8 +2607,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
2415
2607
  const padContactLength = 0.4;
2416
2608
  const padThickness = leadThickness / 2;
2417
2609
  const bodyDistance = (fullWidth - bodyWidth) / 2;
2418
- return /* @__PURE__ */ jsxs35(Fragment33, { children: [
2419
- /* @__PURE__ */ jsx38(
2610
+ return /* @__PURE__ */ jsxs37(Fragment35, { children: [
2611
+ /* @__PURE__ */ jsx40(
2420
2612
  SmdChipLead,
2421
2613
  {
2422
2614
  position: {
@@ -2432,7 +2624,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
2432
2624
  },
2433
2625
  1
2434
2626
  ),
2435
- /* @__PURE__ */ jsx38(
2627
+ /* @__PURE__ */ jsx40(
2436
2628
  SmdChipLead,
2437
2629
  {
2438
2630
  rotation: Math.PI,
@@ -2449,7 +2641,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
2449
2641
  },
2450
2642
  2
2451
2643
  ),
2452
- /* @__PURE__ */ jsx38(
2644
+ /* @__PURE__ */ jsx40(
2453
2645
  ChipBody,
2454
2646
  {
2455
2647
  center: { x: 0, y: 0, z: 0 },
@@ -2488,7 +2680,9 @@ export {
2488
2680
  SOD123FL,
2489
2681
  SOD523,
2490
2682
  SOD923,
2683
+ SOT223,
2491
2684
  SOT233P,
2685
+ SOT323,
2492
2686
  SOT563,
2493
2687
  SOT723,
2494
2688
  SmdChipLead,