jscad-electronics 0.0.29 → 0.0.30

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
@@ -124,6 +124,15 @@ declare const Tssop: ({ pinCount, leadLength, leadWidth, pitch, bodyWidth, }: {
124
124
  bodyWidth: number;
125
125
  }) => react_jsx_runtime.JSX.Element;
126
126
 
127
+ declare const VSSOP: ({ pinCount, pitch, leadWidth, leadLength, bodyWidth, bodyLength, }: {
128
+ pinCount: 8 | 10;
129
+ pitch?: number;
130
+ leadWidth?: number;
131
+ leadLength?: number;
132
+ bodyWidth?: number;
133
+ bodyLength?: number;
134
+ }) => react_jsx_runtime.JSX.Element;
135
+
127
136
  declare const QFN: ({ num_pins, bodyWidth, bodyLength, bodyThickness, thermalPadSize, padWidth, padLength, pitch, thermalPadThickness, }: {
128
137
  num_pins: number;
129
138
  bodyWidth?: number;
@@ -158,4 +167,4 @@ declare const PinRow: ({ numberOfPins, pitch, longSidePinLength, }: {
158
167
  longSidePinLength?: number;
159
168
  }) => react_jsx_runtime.JSX.Element;
160
169
 
161
- export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, PinRow, QFN, QFP, SOD123, SOT233P, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, Tssop };
170
+ export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, PinRow, QFN, QFP, SOD123, SOT233P, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, Tssop, VSSOP };
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 Fragment25 = 7;
7733
+ var Fragment26 = 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 Fragment25:
7873
+ case Fragment26:
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 !== Fragment25) {
11007
+ if (current2 === null || current2.tag !== Fragment26) {
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 === Fragment25) {
11410
+ if (child.tag === Fragment26) {
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 Fragment25:
16901
+ case Fragment26:
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 Fragment25:
17338
+ case Fragment26:
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(Fragment25, elements, key, mode);
22106
+ var fiber = createFiber(Fragment26, 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 jsx30 = jsxWithValidationDynamic;
23708
- var jsxs26 = jsxWithValidationStatic;
23707
+ var jsx31 = jsxWithValidationDynamic;
23708
+ var jsxs27 = jsxWithValidationStatic;
23709
23709
  exports.Fragment = REACT_FRAGMENT_TYPE;
23710
- exports.jsx = jsx30;
23711
- exports.jsxs = jsxs26;
23710
+ exports.jsx = jsx31;
23711
+ exports.jsxs = jsxs27;
23712
23712
  })();
23713
23713
  }
23714
23714
  }
@@ -77715,9 +77715,9 @@ var require_dist = __commonJS({
77715
77715
  };
77716
77716
  return hostConfig2;
77717
77717
  }
77718
- var import_jsx_runtime30 = require_jsx_runtime();
77718
+ var import_jsx_runtime31 = require_jsx_runtime();
77719
77719
  function Circle({ radius }) {
77720
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("circle", { radius });
77720
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("circle", { radius });
77721
77721
  }
77722
77722
  var import_color = __toESM2(require_color(), 1);
77723
77723
  var import_jsx_runtime210 = require_jsx_runtime();
@@ -78135,7 +78135,7 @@ var require_dist = __commonJS({
78135
78135
  return new import_three2.BufferGeometry();
78136
78136
  }
78137
78137
  var convert_csg_to_three_geom_default = convertCSGToThreeGeom;
78138
- var import_jsx_runtime31 = require_jsx_runtime();
78138
+ var import_jsx_runtime312 = require_jsx_runtime();
78139
78139
  var { createJSCADRoot } = createJSCADRenderer(jscad);
78140
78140
  function JsCadView({
78141
78141
  children,
@@ -78238,7 +78238,7 @@ var require_dist = __commonJS({
78238
78238
  gridRef.current.visible = showGrid;
78239
78239
  }
78240
78240
  }, [showGrid]);
78241
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { ref: containerRef, style: { width: "100%", minHeight: "400px" } });
78241
+ return /* @__PURE__ */ (0, import_jsx_runtime312.jsx)("div", { ref: containerRef, style: { width: "100%", minHeight: "400px" } });
78242
78242
  }
78243
78243
  var jscad2 = __toESM2(require_src(), 1);
78244
78244
  var import_react3 = require_react();
@@ -79846,15 +79846,93 @@ var SOIC = ({
79846
79846
  ] });
79847
79847
  };
79848
79848
 
79849
- // lib/Footprinter3d.tsx
79849
+ // lib/VSSOP.tsx
79850
79850
  var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
79851
+ var VSSOP = ({
79852
+ pinCount,
79853
+ pitch,
79854
+ leadWidth,
79855
+ leadLength,
79856
+ bodyWidth,
79857
+ bodyLength: bodyLength10
79858
+ }) => {
79859
+ const defaults = pinCount === 8 ? {
79860
+ pitch: 0.65,
79861
+ leadWidth: 0.3,
79862
+ leadLength: 1.6
79863
+ } : {
79864
+ pitch: 0.5,
79865
+ leadWidth: 0.225,
79866
+ leadLength: 1.45
79867
+ };
79868
+ const _pitch = !isNaN(parseFloat(pitch)) ? parseFloat(pitch) : defaults.pitch;
79869
+ const _leadWidth = !isNaN(parseFloat(leadWidth)) ? parseFloat(leadWidth) * 0.8 : defaults.leadWidth;
79870
+ const _leadLength = !isNaN(parseFloat(leadLength)) ? parseFloat(leadLength) : defaults.leadLength;
79871
+ const _bodyWidth = !isNaN(parseFloat(bodyWidth)) ? parseFloat(bodyWidth) * 0.8 : 2.6;
79872
+ const _bodyLength = !isNaN(parseFloat(bodyLength10)) ? parseFloat(bodyLength10) : 2 + Number(_pitch) * 1.4;
79873
+ const sidePinCount = pinCount / 2;
79874
+ const pinOffsetToCenter = (sidePinCount - 1) * _pitch / 2;
79875
+ const leadThickness = 0.15;
79876
+ const leadHeight = 0.8;
79877
+ const componentFullWidth = 4.5;
79878
+ const leadBodyDistance = (componentFullWidth - _bodyWidth) / 2;
79879
+ const padContactLength = leadBodyDistance * 0.5;
79880
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
79881
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
79882
+ SmdChipLead,
79883
+ {
79884
+ position: {
79885
+ x: -componentFullWidth / 2,
79886
+ y: pinOffsetToCenter - i * _pitch,
79887
+ z: leadThickness / 2
79888
+ },
79889
+ width: _leadWidth,
79890
+ thickness: leadThickness,
79891
+ padContactLength: padContactLength + 0.05,
79892
+ bodyDistance: leadBodyDistance + 0.05,
79893
+ height: leadHeight
79894
+ },
79895
+ `left-${i}`
79896
+ )),
79897
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
79898
+ SmdChipLead,
79899
+ {
79900
+ rotation: Math.PI,
79901
+ position: {
79902
+ x: componentFullWidth / 2,
79903
+ y: pinOffsetToCenter - i * _pitch,
79904
+ z: leadThickness / 2
79905
+ },
79906
+ width: _leadWidth,
79907
+ thickness: leadThickness,
79908
+ padContactLength: padContactLength + 0.05,
79909
+ bodyDistance: leadBodyDistance + 0.05,
79910
+ height: leadHeight
79911
+ },
79912
+ `right-${i}`
79913
+ )),
79914
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
79915
+ ChipBody,
79916
+ {
79917
+ center: { x: 0, y: 0, z: leadThickness / 2 },
79918
+ width: _bodyWidth,
79919
+ length: _bodyLength,
79920
+ height: 1
79921
+ }
79922
+ )
79923
+ ] });
79924
+ };
79925
+
79926
+ // lib/Footprinter3d.tsx
79927
+ var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
79851
79928
  var Footprinter3d = ({ footprint }) => {
79852
79929
  const fpJson = fp3.string(footprint).json();
79930
+ console.log(footprint, fpJson);
79853
79931
  switch (fpJson.fn) {
79854
79932
  case "dip":
79855
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
79933
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
79856
79934
  case "tssop":
79857
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
79935
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
79858
79936
  Tssop,
79859
79937
  {
79860
79938
  pinCount: fpJson.num_pins,
@@ -79864,8 +79942,20 @@ var Footprinter3d = ({ footprint }) => {
79864
79942
  bodyWidth: fpJson.w
79865
79943
  }
79866
79944
  );
79945
+ case "vssop":
79946
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
79947
+ VSSOP,
79948
+ {
79949
+ pinCount: fpJson.num_pins,
79950
+ leadLength: fpJson.pl,
79951
+ leadWidth: fpJson.pw,
79952
+ pitch: fpJson.p,
79953
+ bodyWidth: fpJson.w,
79954
+ bodyLength: fpJson.h
79955
+ }
79956
+ );
79867
79957
  case "qfp":
79868
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
79958
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
79869
79959
  QFP,
79870
79960
  {
79871
79961
  pinCount: fpJson.num_pins,
@@ -79876,7 +79966,7 @@ var Footprinter3d = ({ footprint }) => {
79876
79966
  }
79877
79967
  );
79878
79968
  case "qfn":
79879
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
79969
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
79880
79970
  qfn_default,
79881
79971
  {
79882
79972
  num_pins: fpJson.num_pins,
@@ -79893,35 +79983,35 @@ var Footprinter3d = ({ footprint }) => {
79893
79983
  );
79894
79984
  case "pinrow":
79895
79985
  if (fpJson.male)
79896
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
79986
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
79897
79987
  if (fpJson.female)
79898
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
79988
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
79899
79989
  case "cap": {
79900
79990
  switch (fpJson.imperial) {
79901
79991
  case "0402":
79902
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A0402, { color: "#856c4d" });
79992
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A0402, { color: "#856c4d" });
79903
79993
  case "0603":
79904
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A0603, { color: "#856c4d" });
79994
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A0603, { color: "#856c4d" });
79905
79995
  case "0805":
79906
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A0805, { color: "#856c4d" });
79996
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A0805, { color: "#856c4d" });
79907
79997
  case "0201":
79908
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A0201, { color: "#856c4d" });
79998
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A0201, { color: "#856c4d" });
79909
79999
  case "01005":
79910
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A01005, { color: "#856c4d" });
80000
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A01005, { color: "#856c4d" });
79911
80001
  case "1206":
79912
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A1206, { color: "#856c4d" });
80002
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A1206, { color: "#856c4d" });
79913
80003
  case "1210":
79914
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A1210, { color: "#856c4d" });
80004
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A1210, { color: "#856c4d" });
79915
80005
  case "2010":
79916
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A2010, { color: "#856c4d" });
80006
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A2010, { color: "#856c4d" });
79917
80007
  case "2512":
79918
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A2512, { color: "#856c4d" });
80008
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A2512, { color: "#856c4d" });
79919
80009
  }
79920
80010
  }
79921
80011
  case "sot235":
79922
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SOT_235_default, {});
80012
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SOT_235_default, {});
79923
80013
  case "pushbutton":
79924
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
80014
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
79925
80015
  PushButton,
79926
80016
  {
79927
80017
  width: fpJson.w,
@@ -79930,7 +80020,7 @@ var Footprinter3d = ({ footprint }) => {
79930
80020
  }
79931
80021
  );
79932
80022
  case "soic":
79933
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
80023
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
79934
80024
  SOIC,
79935
80025
  {
79936
80026
  pinCount: fpJson.num_pins,
@@ -79943,29 +80033,29 @@ var Footprinter3d = ({ footprint }) => {
79943
80033
  }
79944
80034
  switch (fpJson.imperial) {
79945
80035
  case "0402":
79946
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A0402, {});
80036
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A0402, {});
79947
80037
  case "0603":
79948
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A0603, {});
80038
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A0603, {});
79949
80039
  case "0805":
79950
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A0805, {});
80040
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A0805, {});
79951
80041
  case "0201":
79952
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A0201, {});
80042
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A0201, {});
79953
80043
  case "01005":
79954
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A01005, {});
80044
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A01005, {});
79955
80045
  case "1206":
79956
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A1206, {});
80046
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A1206, {});
79957
80047
  case "1210":
79958
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A1210, {});
80048
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A1210, {});
79959
80049
  case "2010":
79960
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A2010, {});
80050
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A2010, {});
79961
80051
  case "2512":
79962
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(A2512, {});
80052
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(A2512, {});
79963
80053
  }
79964
80054
  return null;
79965
80055
  };
79966
80056
 
79967
80057
  // lib/SOT-23-3P.tsx
79968
- var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
80058
+ var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
79969
80059
  var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
79970
80060
  const bodyWidth = 1.3;
79971
80061
  const bodyLength10 = 2.9;
@@ -79975,8 +80065,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
79975
80065
  const leadHeight = 0.95;
79976
80066
  const padContactLength = 0.4;
79977
80067
  const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
79978
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
79979
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
80068
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
80069
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
79980
80070
  SmdChipLead,
79981
80071
  {
79982
80072
  rotation: Math.PI,
@@ -79993,7 +80083,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
79993
80083
  },
79994
80084
  1
79995
80085
  ),
79996
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
80086
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
79997
80087
  SmdChipLead,
79998
80088
  {
79999
80089
  rotation: Math.PI,
@@ -80010,7 +80100,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
80010
80100
  },
80011
80101
  2
80012
80102
  ),
80013
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
80103
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
80014
80104
  SmdChipLead,
80015
80105
  {
80016
80106
  position: {
@@ -80026,7 +80116,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
80026
80116
  },
80027
80117
  3
80028
80118
  ),
80029
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
80119
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
80030
80120
  ChipBody,
80031
80121
  {
80032
80122
  center: { x: 0, y: 0, z: 0 },
@@ -80040,7 +80130,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
80040
80130
 
80041
80131
  // lib/SOT-563.tsx
80042
80132
  var import_jscad_fiber20 = __toESM(require_dist(), 1);
80043
- var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
80133
+ var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
80044
80134
  var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
80045
80135
  const bodyWidth = 1.2;
80046
80136
  const bodyLength10 = 1.6;
@@ -80050,24 +80140,24 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
80050
80140
  const leadHeight = 0.13;
80051
80141
  const leadSpacing = 0.5;
80052
80142
  const bodyZOffset = -0.3;
80053
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
80054
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jscad_fiber20.Rotate, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jscad_fiber20.Translate, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jscad_fiber20.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jscad_fiber20.Cuboid, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
80143
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
80144
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber20.Rotate, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber20.Translate, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber20.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber20.Cuboid, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
80055
80145
  [-1, 0, 1].flatMap((yOffset, index) => [
80056
80146
  // Left lead
80057
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
80147
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
80058
80148
  import_jscad_fiber20.Translate,
80059
80149
  {
80060
80150
  center: [-bodyWidth / 2 - 0.03, yOffset * leadSpacing, 0],
80061
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jscad_fiber20.Cuboid, { size: [leadLength, leadWidth, leadHeight] })
80151
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber20.Cuboid, { size: [leadLength, leadWidth, leadHeight] })
80062
80152
  },
80063
80153
  `left-${index}`
80064
80154
  ),
80065
80155
  // Right lead
80066
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
80156
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
80067
80157
  import_jscad_fiber20.Translate,
80068
80158
  {
80069
80159
  center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, 0],
80070
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jscad_fiber20.Cuboid, { size: [leadLength, leadWidth, leadHeight] })
80160
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber20.Cuboid, { size: [leadLength, leadWidth, leadHeight] })
80071
80161
  },
80072
80162
  `right-${index}`
80073
80163
  )
@@ -80077,7 +80167,7 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
80077
80167
 
80078
80168
  // lib/SOT-723.tsx
80079
80169
  var import_jscad_fiber21 = __toESM(require_dist(), 1);
80080
- var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
80170
+ var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
80081
80171
  var getCcwSot723Coords = (pn) => {
80082
80172
  if (pn === 1) {
80083
80173
  return { x: 0, y: 0 };
@@ -80095,11 +80185,11 @@ var SOT723 = () => {
80095
80185
  const leadLength = 0.3;
80096
80186
  const leadHeight = 0.1;
80097
80187
  const centerLeadWidth = 0.42;
80098
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
80099
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber21.Rotate, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber21.Translate, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber21.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber21.Cuboid, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
80188
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
80189
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jscad_fiber21.Rotate, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jscad_fiber21.Translate, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jscad_fiber21.Colorize, { color: "grey", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jscad_fiber21.Cuboid, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
80100
80190
  [1, 2, 3].map((pn) => {
80101
80191
  const { x, y } = getCcwSot723Coords(pn);
80102
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jscad_fiber21.Translate, { center: [x, y, 0], children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
80192
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jscad_fiber21.Translate, { center: [x, y, 0], children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
80103
80193
  import_jscad_fiber21.Cuboid,
80104
80194
  {
80105
80195
  size: [
@@ -80114,7 +80204,7 @@ var SOT723 = () => {
80114
80204
  };
80115
80205
 
80116
80206
  // lib/sod-123.tsx
80117
- var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
80207
+ var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
80118
80208
  var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
80119
80209
  const bodyWidth = 2.9;
80120
80210
  const bodyLength10 = 1.3;
@@ -80126,8 +80216,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
80126
80216
  const leadYOffset = leadHeight / 1 - 0.4;
80127
80217
  const bodyYOffset = leadHeight / 2 - 0.4;
80128
80218
  const bodyDistance = (fullWidth - bodyWidth) / 2;
80129
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
80130
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
80219
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
80220
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
80131
80221
  SmdChipLead,
80132
80222
  {
80133
80223
  position: {
@@ -80143,7 +80233,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
80143
80233
  },
80144
80234
  1
80145
80235
  ),
80146
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
80236
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
80147
80237
  SmdChipLead,
80148
80238
  {
80149
80239
  rotation: Math.PI,
@@ -80160,7 +80250,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
80160
80250
  },
80161
80251
  2
80162
80252
  ),
80163
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
80253
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
80164
80254
  ChipBody,
80165
80255
  {
80166
80256
  center: { x: 0, y: bodyYOffset, z: 0 },
@@ -80195,7 +80285,8 @@ export {
80195
80285
  SOT563,
80196
80286
  SOT723,
80197
80287
  SmdChipLead,
80198
- Tssop
80288
+ Tssop,
80289
+ VSSOP
80199
80290
  };
80200
80291
  /*! Bundled license information:
80201
80292
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "jscad-electronics",
3
3
  "type": "module",
4
- "version": "0.0.29",
4
+ "version": "0.0.30",
5
5
  "main": "./dist/index.js",
6
6
  "repository": {
7
7
  "type": "git",
@@ -32,7 +32,7 @@
32
32
  "vite-tsconfig-paths": "^5.0.1"
33
33
  },
34
34
  "dependencies": {
35
- "@tscircuit/footprinter": "^0.0.132",
35
+ "@tscircuit/footprinter": "^0.0.193",
36
36
  "circuit-json": "^0.0.92"
37
37
  }
38
38
  }