jscad-electronics 0.0.16 → 0.0.18

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
@@ -113,4 +113,10 @@ declare const SOD123: ({ fullWidth, fullLength }: {
113
113
  fullLength?: number | undefined;
114
114
  }) => react_jsx_runtime.JSX.Element;
115
115
 
116
- export { A0402, A0603, A0805, BGA, ChipBody, type ChipBodyProps, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, QFN, QFP, SOD123, SOT233P, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, Tssop };
116
+ declare const PinRow: ({ numberOfPins, pitch, longSidePinLength, }: {
117
+ numberOfPins: number;
118
+ pitch?: number;
119
+ longSidePinLength?: number;
120
+ }) => react_jsx_runtime.JSX.Element;
121
+
122
+ export { A0402, A0603, A0805, BGA, ChipBody, type ChipBodyProps, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, PinRow, QFN, QFP, SOD123, SOT233P, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, Tssop };
package/dist/index.js CHANGED
@@ -7730,7 +7730,7 @@ var require_react_reconciler_development = __commonJS({
7730
7730
  var HostPortal = 4;
7731
7731
  var HostComponent = 5;
7732
7732
  var HostText = 6;
7733
- var Fragment14 = 7;
7733
+ var Fragment15 = 7;
7734
7734
  var Mode = 8;
7735
7735
  var ContextConsumer = 9;
7736
7736
  var ContextProvider = 10;
@@ -7870,7 +7870,7 @@ var require_react_reconciler_development = __commonJS({
7870
7870
  return "DehydratedFragment";
7871
7871
  case ForwardRef:
7872
7872
  return getWrappedName$1(type, type.render, "ForwardRef");
7873
- case Fragment14:
7873
+ case Fragment15:
7874
7874
  return "Fragment";
7875
7875
  case HostComponent:
7876
7876
  return type;
@@ -11004,7 +11004,7 @@ var require_react_reconciler_development = __commonJS({
11004
11004
  }
11005
11005
  }
11006
11006
  function updateFragment2(returnFiber, current2, fragment, lanes, key) {
11007
- if (current2 === null || current2.tag !== Fragment14) {
11007
+ if (current2 === null || current2.tag !== Fragment15) {
11008
11008
  var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
11009
11009
  created.return = returnFiber;
11010
11010
  return created;
@@ -11407,7 +11407,7 @@ var require_react_reconciler_development = __commonJS({
11407
11407
  if (child.key === key) {
11408
11408
  var elementType = element.type;
11409
11409
  if (elementType === REACT_FRAGMENT_TYPE) {
11410
- if (child.tag === Fragment14) {
11410
+ if (child.tag === Fragment15) {
11411
11411
  deleteRemainingChildren(returnFiber, child.sibling);
11412
11412
  var existing = useFiber(child, element.props.children);
11413
11413
  existing.return = returnFiber;
@@ -16898,7 +16898,7 @@ var require_react_reconciler_development = __commonJS({
16898
16898
  var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
16899
16899
  return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
16900
16900
  }
16901
- case Fragment14:
16901
+ case Fragment15:
16902
16902
  return updateFragment(current2, workInProgress2, renderLanes2);
16903
16903
  case Mode:
16904
16904
  return updateMode(current2, workInProgress2, renderLanes2);
@@ -17335,7 +17335,7 @@ var require_react_reconciler_development = __commonJS({
17335
17335
  case SimpleMemoComponent:
17336
17336
  case FunctionComponent:
17337
17337
  case ForwardRef:
17338
- case Fragment14:
17338
+ case Fragment15:
17339
17339
  case Mode:
17340
17340
  case Profiler:
17341
17341
  case ContextConsumer:
@@ -22103,7 +22103,7 @@ var require_react_reconciler_development = __commonJS({
22103
22103
  return fiber;
22104
22104
  }
22105
22105
  function createFiberFromFragment(elements, mode, lanes, key) {
22106
- var fiber = createFiber(Fragment14, elements, key, mode);
22106
+ var fiber = createFiber(Fragment15, elements, key, mode);
22107
22107
  fiber.lanes = lanes;
22108
22108
  return fiber;
22109
22109
  }
@@ -23704,11 +23704,11 @@ var require_react_jsx_runtime_development = __commonJS({
23704
23704
  return jsxWithValidation(type, props, key, false);
23705
23705
  }
23706
23706
  }
23707
- var jsx19 = jsxWithValidationDynamic;
23708
- var jsxs14 = jsxWithValidationStatic;
23707
+ var jsx20 = jsxWithValidationDynamic;
23708
+ var jsxs16 = jsxWithValidationStatic;
23709
23709
  exports.Fragment = REACT_FRAGMENT_TYPE;
23710
- exports.jsx = jsx19;
23711
- exports.jsxs = jsxs14;
23710
+ exports.jsx = jsx20;
23711
+ exports.jsxs = jsxs16;
23712
23712
  })();
23713
23713
  }
23714
23714
  }
@@ -77296,11 +77296,11 @@ var require_dist = __commonJS({
77296
77296
  var lib_exports = {};
77297
77297
  __export2(lib_exports, {
77298
77298
  Circle: () => Circle,
77299
- Colorize: () => Colorize9,
77299
+ Colorize: () => Colorize10,
77300
77300
  Cube: () => Cube2,
77301
- Cuboid: () => Cuboid10,
77301
+ Cuboid: () => Cuboid11,
77302
77302
  Custom: () => Custom,
77303
- Cylinder: () => Cylinder2,
77303
+ Cylinder: () => Cylinder3,
77304
77304
  CylinderElliptic: () => CylinderElliptic,
77305
77305
  Ellipsoid: () => Ellipsoid,
77306
77306
  ExtrudeFromSlices: () => ExtrudeFromSlices,
@@ -77309,8 +77309,8 @@ var require_dist = __commonJS({
77309
77309
  ExtrudeRectangular: () => ExtrudeRectangular,
77310
77310
  ExtrudeRotate: () => ExtrudeRotate,
77311
77311
  GeodesicSphere: () => GeodesicSphere,
77312
- Hull: () => Hull,
77313
- HullChain: () => HullChain,
77312
+ Hull: () => Hull2,
77313
+ HullChain: () => HullChain2,
77314
77314
  JSCadThreeMesh: () => JSCadThreeMesh,
77315
77315
  JsCadFixture: () => JsCadFixture,
77316
77316
  Polygon: () => Polygon3,
@@ -77320,10 +77320,10 @@ var require_dist = __commonJS({
77320
77320
  RoundedCuboid: () => RoundedCuboid2,
77321
77321
  RoundedCylinder: () => RoundedCylinder,
77322
77322
  Sphere: () => Sphere2,
77323
- Subtract: () => Subtract,
77323
+ Subtract: () => Subtract2,
77324
77324
  Torus: () => Torus,
77325
77325
  Translate: () => Translate10,
77326
- Union: () => Union3,
77326
+ Union: () => Union4,
77327
77327
  convertCSGToThreeGeom: () => convertCSGToThreeGeom,
77328
77328
  createJSCADRenderer: () => createJSCADRenderer,
77329
77329
  normalizePointToArray: () => normalizePointToArray,
@@ -77673,13 +77673,13 @@ var require_dist = __commonJS({
77673
77673
  };
77674
77674
  return hostConfig2;
77675
77675
  }
77676
- var import_jsx_runtime19 = require_jsx_runtime();
77676
+ var import_jsx_runtime20 = require_jsx_runtime();
77677
77677
  function Circle({ radius }) {
77678
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("circle", { radius });
77678
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("circle", { radius });
77679
77679
  }
77680
77680
  var import_color = __toESM2(require_color(), 1);
77681
77681
  var import_jsx_runtime22 = require_jsx_runtime();
77682
- function Colorize9({ color, children }) {
77682
+ function Colorize10({ color, children }) {
77683
77683
  if (!Array.isArray(color)) {
77684
77684
  color = (0, import_color.default)(color).rgb().array().map((v) => v / 255);
77685
77685
  }
@@ -77692,7 +77692,7 @@ var require_dist = __commonJS({
77692
77692
  if (!color) {
77693
77693
  return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(WrappedComponent, { ...restProps });
77694
77694
  }
77695
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Colorize9, { color, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(WrappedComponent, { ...restProps }) });
77695
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Colorize10, { color, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(WrappedComponent, { ...restProps }) });
77696
77696
  };
77697
77697
  WithColor.displayName = `WithColor(${WrappedComponent.displayName || WrappedComponent.name || "Component"})`;
77698
77698
  return WithColor;
@@ -77743,7 +77743,7 @@ var require_dist = __commonJS({
77743
77743
  var CuboidBase = ({ size }) => {
77744
77744
  return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("cuboid", { size });
77745
77745
  };
77746
- var Cuboid10 = withOffsetProp(withColorProp(CuboidBase));
77746
+ var Cuboid11 = withOffsetProp(withColorProp(CuboidBase));
77747
77747
  var import_jsx_runtime82 = require_jsx_runtime();
77748
77748
  function Custom({ geometry }) {
77749
77749
  return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("custom", { geometry });
@@ -77799,7 +77799,7 @@ var require_dist = __commonJS({
77799
77799
  var CylinderBase = ({ radius, height: height4 }) => {
77800
77800
  return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("cylinder", { radius, height: height4 });
77801
77801
  };
77802
- var Cylinder2 = withColorProp(
77802
+ var Cylinder3 = withColorProp(
77803
77803
  withOffsetProp(withRotationProp(CylinderBase))
77804
77804
  );
77805
77805
  var import_jsx_runtime122 = require_jsx_runtime();
@@ -77903,12 +77903,12 @@ var require_dist = __commonJS({
77903
77903
  var HullBase = ({ children }) => {
77904
77904
  return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)("hull", { children });
77905
77905
  };
77906
- var Hull = withOffsetProp(withColorProp(HullBase));
77907
- var import_jsx_runtime20 = require_jsx_runtime();
77906
+ var Hull2 = withOffsetProp(withColorProp(HullBase));
77907
+ var import_jsx_runtime202 = require_jsx_runtime();
77908
77908
  var HullChainBase = ({ children }) => {
77909
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("hullChain", { children });
77909
+ return /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("hullChain", { children });
77910
77910
  };
77911
- var HullChain = withOffsetProp(withColorProp(HullChainBase));
77911
+ var HullChain2 = withOffsetProp(withColorProp(HullChainBase));
77912
77912
  var import_jsx_runtime21 = require_jsx_runtime();
77913
77913
  function Polygon3({ points }) {
77914
77914
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("jscadPolygon", { points });
@@ -77956,7 +77956,7 @@ var require_dist = __commonJS({
77956
77956
  }
77957
77957
  return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("subtract", { children });
77958
77958
  };
77959
- var Subtract = withOffsetProp(withColorProp(SubtractBase));
77959
+ var Subtract2 = withOffsetProp(withColorProp(SubtractBase));
77960
77960
  var import_jsx_runtime28 = require_jsx_runtime();
77961
77961
  var TorusBase = ({
77962
77962
  innerRadius,
@@ -77982,7 +77982,7 @@ var require_dist = __commonJS({
77982
77982
  };
77983
77983
  var Torus = withOffsetProp(withColorProp(TorusBase));
77984
77984
  var import_jsx_runtime29 = require_jsx_runtime();
77985
- function Union3({ children }) {
77985
+ function Union4({ children }) {
77986
77986
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("union", { children });
77987
77987
  }
77988
77988
  var import_jsx_runtime30 = require_jsx_runtime();
@@ -78486,7 +78486,10 @@ var import_jscad_fiber7 = __toESM(require_dist(), 1);
78486
78486
  var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
78487
78487
  var FootprintPlatedHole = ({ hole }) => {
78488
78488
  if (hole.shape === "circle") {
78489
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jscad_fiber7.Colorize, { color: [255, 0, 0], children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jscad_fiber7.Translate, { offset: [hole.x, hole.y, 0], children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jscad_fiber7.Cylinder, { radius: hole.outer_diameter, height: 0.01 }) }) });
78489
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jscad_fiber7.Colorize, { color: "#b87333", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jscad_fiber7.Translate, { offset: [hole.x, hole.y, 0], children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jscad_fiber7.Subtract, { children: [
78490
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jscad_fiber7.Cylinder, { radius: hole.outer_diameter / 2, height: 0.01 }),
78491
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jscad_fiber7.Cylinder, { radius: hole.hole_diameter / 2, height: 0.01 })
78492
+ ] }) }) });
78490
78493
  }
78491
78494
  throw new Error("Shape not supported: " + hole.shape);
78492
78495
  };
@@ -78898,15 +78901,90 @@ var getLeadWidth = (pinCount, width4) => {
78898
78901
  }
78899
78902
  };
78900
78903
 
78901
- // lib/Footprinter3d.tsx
78904
+ // lib/PinRow.tsx
78905
+ var import_jscad_fiber10 = __toESM(require_dist(), 1);
78902
78906
  var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);
78907
+ var PinRow = ({
78908
+ numberOfPins,
78909
+ pitch = 2.54,
78910
+ longSidePinLength = 6
78911
+ }) => {
78912
+ const pinThickness = 0.63;
78913
+ const bodyHeight = 2;
78914
+ const bodyWidth = numberOfPins * pitch;
78915
+ const shortSidePinLength = 3;
78916
+ const xoff = -((numberOfPins - 1) / 2) * pitch;
78917
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
78918
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
78919
+ import_jscad_fiber10.Cuboid,
78920
+ {
78921
+ color: "#222",
78922
+ size: [bodyWidth, pinThickness * 3, bodyHeight],
78923
+ center: [0, 0, bodyHeight / 2]
78924
+ }
78925
+ ),
78926
+ Array.from({ length: numberOfPins }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
78927
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jscad_fiber10.Colorize, { color: "gold", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jscad_fiber10.Hull, { children: [
78928
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
78929
+ import_jscad_fiber10.Cuboid,
78930
+ {
78931
+ color: "gold",
78932
+ size: [pinThickness, pinThickness, shortSidePinLength * 0.9],
78933
+ center: [
78934
+ xoff + i * pitch,
78935
+ 0,
78936
+ bodyHeight * 0.9 + bodyHeight / 2
78937
+ ]
78938
+ }
78939
+ ),
78940
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
78941
+ import_jscad_fiber10.Cuboid,
78942
+ {
78943
+ color: "gold",
78944
+ size: [
78945
+ pinThickness / 1.8,
78946
+ pinThickness / 1.8,
78947
+ shortSidePinLength
78948
+ ],
78949
+ center: [xoff + i * pitch, 0, bodyHeight + bodyHeight / 2]
78950
+ }
78951
+ )
78952
+ ] }) }),
78953
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jscad_fiber10.Colorize, { color: "gold", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jscad_fiber10.Hull, { children: [
78954
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
78955
+ import_jscad_fiber10.Cuboid,
78956
+ {
78957
+ color: "gold",
78958
+ size: [pinThickness, pinThickness, longSidePinLength * 0.9],
78959
+ center: [xoff + i * pitch, 0, -longSidePinLength / 2 * 0.9]
78960
+ }
78961
+ ),
78962
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
78963
+ import_jscad_fiber10.Cuboid,
78964
+ {
78965
+ color: "gold",
78966
+ size: [
78967
+ pinThickness / 1.8,
78968
+ pinThickness / 1.8,
78969
+ longSidePinLength
78970
+ ],
78971
+ center: [xoff + i * pitch, 0, -longSidePinLength / 2]
78972
+ }
78973
+ )
78974
+ ] }) })
78975
+ ] }))
78976
+ ] });
78977
+ };
78978
+
78979
+ // lib/Footprinter3d.tsx
78980
+ var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
78903
78981
  var Footprinter3d = ({ footprint }) => {
78904
78982
  const fpJson = fp3.string(footprint).json();
78905
78983
  switch (fpJson.fn) {
78906
78984
  case "dip":
78907
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
78985
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
78908
78986
  case "tssop":
78909
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
78987
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
78910
78988
  Tssop,
78911
78989
  {
78912
78990
  pinCount: fpJson.num_pins,
@@ -78917,7 +78995,7 @@ var Footprinter3d = ({ footprint }) => {
78917
78995
  }
78918
78996
  );
78919
78997
  case "qfp":
78920
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
78998
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
78921
78999
  QFP,
78922
79000
  {
78923
79001
  pinCount: fpJson.num_pins,
@@ -78927,8 +79005,10 @@ var Footprinter3d = ({ footprint }) => {
78927
79005
  bodyWidth: fpJson.w
78928
79006
  }
78929
79007
  );
79008
+ case "pinrow":
79009
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
78930
79010
  case "soic":
78931
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
79011
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
78932
79012
  Tssop,
78933
79013
  {
78934
79014
  pinCount: fpJson.num_pins,
@@ -78941,17 +79021,17 @@ var Footprinter3d = ({ footprint }) => {
78941
79021
  }
78942
79022
  switch (fpJson.imperial) {
78943
79023
  case "0402":
78944
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(A0402, {});
79024
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(A0402, {});
78945
79025
  case "0603":
78946
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(A0603, {});
79026
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(A0603, {});
78947
79027
  case "0805":
78948
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(A0805, {});
79028
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(A0805, {});
78949
79029
  }
78950
79030
  return null;
78951
79031
  };
78952
79032
 
78953
79033
  // lib/SOT-23-3P.tsx
78954
- var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
79034
+ var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
78955
79035
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength4 = 2.8 }) => {
78956
79036
  const bodyWidth = 1.3;
78957
79037
  const bodyLength4 = 2.9;
@@ -78961,8 +79041,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength4 = 2.8 }) => {
78961
79041
  const leadHeight = 0.95;
78962
79042
  const padContactLength = 0.4;
78963
79043
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
78964
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
78965
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
79044
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
79045
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
78966
79046
  SmdChipLead,
78967
79047
  {
78968
79048
  rotation: Math.PI,
@@ -78979,7 +79059,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength4 = 2.8 }) => {
78979
79059
  },
78980
79060
  1
78981
79061
  ),
78982
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
79062
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
78983
79063
  SmdChipLead,
78984
79064
  {
78985
79065
  rotation: Math.PI,
@@ -78996,7 +79076,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength4 = 2.8 }) => {
78996
79076
  },
78997
79077
  2
78998
79078
  ),
78999
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
79079
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
79000
79080
  SmdChipLead,
79001
79081
  {
79002
79082
  position: {
@@ -79012,7 +79092,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength4 = 2.8 }) => {
79012
79092
  },
79013
79093
  3
79014
79094
  ),
79015
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
79095
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
79016
79096
  ChipBody,
79017
79097
  {
79018
79098
  center: { x: 0, y: 0, z: 0 },
@@ -79025,8 +79105,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength4 = 2.8 }) => {
79025
79105
  };
79026
79106
 
79027
79107
  // lib/SOT-563.tsx
79028
- var import_jscad_fiber10 = __toESM(require_dist(), 1);
79029
- var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
79108
+ var import_jscad_fiber11 = __toESM(require_dist(), 1);
79109
+ var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
79030
79110
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength4 = 1.6 }) => {
79031
79111
  const bodyWidth = 1.2;
79032
79112
  const bodyLength4 = 1.6;
@@ -79036,24 +79116,24 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength4 = 1.6 }) => {
79036
79116
  const leadHeight = 0.13;
79037
79117
  const leadSpacing = 0.5;
79038
79118
  const bodyZOffset = -0.3;
79039
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
79040
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jscad_fiber10.Rotate, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jscad_fiber10.Translate, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jscad_fiber10.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jscad_fiber10.Cuboid, { size: [bodyWidth, bodyLength4, bodyHeight] }) }) }) }),
79119
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
79120
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Rotate, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Translate, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Cuboid, { size: [bodyWidth, bodyLength4, bodyHeight] }) }) }) }),
79041
79121
  [-1, 0, 1].flatMap((yOffset, index) => [
79042
79122
  // Left lead
79043
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
79044
- import_jscad_fiber10.Translate,
79123
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
79124
+ import_jscad_fiber11.Translate,
79045
79125
  {
79046
79126
  center: [-bodyWidth / 2 - 0.03, yOffset * leadSpacing, 0],
79047
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jscad_fiber10.Cuboid, { size: [leadLength, leadWidth, leadHeight] })
79127
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Cuboid, { size: [leadLength, leadWidth, leadHeight] })
79048
79128
  },
79049
79129
  `left-${index}`
79050
79130
  ),
79051
79131
  // Right lead
79052
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
79053
- import_jscad_fiber10.Translate,
79132
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
79133
+ import_jscad_fiber11.Translate,
79054
79134
  {
79055
79135
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, 0],
79056
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jscad_fiber10.Cuboid, { size: [leadLength, leadWidth, leadHeight] })
79136
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Cuboid, { size: [leadLength, leadWidth, leadHeight] })
79057
79137
  },
79058
79138
  `right-${index}`
79059
79139
  )
@@ -79062,8 +79142,8 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength4 = 1.6 }) => {
79062
79142
  };
79063
79143
 
79064
79144
  // lib/SOT-723.tsx
79065
- var import_jscad_fiber11 = __toESM(require_dist(), 1);
79066
- var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
79145
+ var import_jscad_fiber12 = __toESM(require_dist(), 1);
79146
+ var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
79067
79147
  var getCcwSot723Coords = (pn) => {
79068
79148
  if (pn === 1) {
79069
79149
  return { x: 0, y: 0 };
@@ -79081,12 +79161,12 @@ var SOT723 = () => {
79081
79161
  const leadLength = 0.3;
79082
79162
  const leadHeight = 0.1;
79083
79163
  const centerLeadWidth = 0.42;
79084
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
79085
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Rotate, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Translate, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Cuboid, { size: [bodyWidth, bodyLength4, bodyHeight] }) }) }) }),
79164
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
79165
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_jscad_fiber12.Rotate, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_jscad_fiber12.Translate, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_jscad_fiber12.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_jscad_fiber12.Cuboid, { size: [bodyWidth, bodyLength4, bodyHeight] }) }) }) }),
79086
79166
  [1, 2, 3].map((pn) => {
79087
79167
  const { x, y } = getCcwSot723Coords(pn);
79088
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jscad_fiber11.Translate, { center: [x, y, 0], children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
79089
- import_jscad_fiber11.Cuboid,
79168
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_jscad_fiber12.Translate, { center: [x, y, 0], children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
79169
+ import_jscad_fiber12.Cuboid,
79090
79170
  {
79091
79171
  size: [
79092
79172
  leadLength,
@@ -79100,8 +79180,8 @@ var SOT723 = () => {
79100
79180
  };
79101
79181
 
79102
79182
  // lib/qfn.tsx
79103
- var import_jscad_fiber12 = __toESM(require_dist(), 1);
79104
- var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
79183
+ var import_jscad_fiber13 = __toESM(require_dist(), 1);
79184
+ var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
79105
79185
  var QFN = ({
79106
79186
  fullWidth = 5,
79107
79187
  height: height4 = 0.8,
@@ -79110,16 +79190,16 @@ var QFN = ({
79110
79190
  const bodyWidth = fullWidth;
79111
79191
  const bodyLength4 = fullWidth;
79112
79192
  const thermalPadHeight = 0.1;
79113
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
79114
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_jscad_fiber12.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
79115
- import_jscad_fiber12.Cuboid,
79193
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
79194
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_jscad_fiber13.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
79195
+ import_jscad_fiber13.Cuboid,
79116
79196
  {
79117
79197
  center: { x: 0, y: 0, z: height4 / 2 },
79118
79198
  size: [bodyWidth, bodyLength4, height4]
79119
79199
  }
79120
79200
  ) }),
79121
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
79122
- import_jscad_fiber12.Cuboid,
79201
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
79202
+ import_jscad_fiber13.Cuboid,
79123
79203
  {
79124
79204
  center: { x: 0, y: 0, z: -thermalPadHeight / 2 },
79125
79205
  size: [thermalPadSize, thermalPadSize, thermalPadHeight]
@@ -79129,7 +79209,7 @@ var QFN = ({
79129
79209
  };
79130
79210
 
79131
79211
  // lib/sod-123.tsx
79132
- var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
79212
+ var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
79133
79213
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength4 = 1.6 }) => {
79134
79214
  const bodyWidth = 2.9;
79135
79215
  const bodyLength4 = 1.3;
@@ -79141,8 +79221,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength4 = 1.6 }) => {
79141
79221
  const leadYOffset = leadHeight / 1 - 0.4;
79142
79222
  const bodyYOffset = leadHeight / 2 - 0.4;
79143
79223
  const bodyDistance = (fullWidth - bodyWidth) / 2;
79144
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
79145
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
79224
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
79225
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
79146
79226
  SmdChipLead,
79147
79227
  {
79148
79228
  position: {
@@ -79158,7 +79238,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength4 = 1.6 }) => {
79158
79238
  },
79159
79239
  1
79160
79240
  ),
79161
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
79241
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
79162
79242
  SmdChipLead,
79163
79243
  {
79164
79244
  rotation: Math.PI,
@@ -79175,7 +79255,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength4 = 1.6 }) => {
79175
79255
  },
79176
79256
  2
79177
79257
  ),
79178
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
79258
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
79179
79259
  ChipBody,
79180
79260
  {
79181
79261
  center: { x: 0, y: bodyYOffset, z: 0 },
@@ -79196,6 +79276,7 @@ export {
79196
79276
  FootprintPad,
79197
79277
  FootprintPlatedHole,
79198
79278
  Footprinter3d,
79279
+ PinRow,
79199
79280
  QFN,
79200
79281
  QFP,
79201
79282
  SOD123,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "jscad-electronics",
3
3
  "type": "module",
4
- "version": "0.0.16",
4
+ "version": "0.0.18",
5
5
  "main": "./dist/index.js",
6
6
  "repository": {
7
7
  "type": "git",