circuit-to-svg 0.0.96 → 0.0.97

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
@@ -1787,17 +1787,6 @@ var ninePointAnchorToTextAnchor = {
1787
1787
  middle_top: "middle",
1788
1788
  middle_bottom: "middle"
1789
1789
  };
1790
- var ninePointAnchorToDominantBaseline = {
1791
- top_left: "auto",
1792
- top_right: "auto",
1793
- bottom_left: "hanging",
1794
- bottom_right: "hanging",
1795
- center: "auto",
1796
- middle_left: "middle",
1797
- middle_right: "middle",
1798
- middle_top: "auto",
1799
- middle_bottom: "hanging"
1800
- };
1801
1790
  var createSvgObjectsFromSchematicComponentWithSymbol = ({
1802
1791
  component: schComponent,
1803
1792
  transform: realToScreenTransform,
@@ -1908,15 +1897,27 @@ var createSvgObjectsFromSchematicComponentWithSymbol = ({
1908
1897
  } else if (text.text === "{VAL}") {
1909
1898
  textValue = schComponent.symbol_display_value ?? "";
1910
1899
  }
1900
+ const symbolHeight = Math.abs(bounds.maxY - bounds.minY);
1901
+ const offsetFactor = 0.1;
1902
+ const baseOffset = symbolHeight * offsetFactor;
1903
+ const transformScale = Math.abs(transformFromSymbolToReal.a);
1904
+ let verticalOffset = 0;
1905
+ if (text.anchor.includes("bottom")) {
1906
+ verticalOffset = baseOffset * transformScale;
1907
+ } else if (text.anchor.includes("top")) {
1908
+ verticalOffset = -baseOffset * transformScale;
1909
+ }
1910
+ const dominantBaseline = text.anchor.includes("bottom") ? "auto" : text.anchor.includes("top") ? "hanging" : "middle";
1911
1911
  svgObjects.push({
1912
1912
  name: "text",
1913
1913
  type: "element",
1914
1914
  attributes: {
1915
1915
  x: screenTextPos.x.toString(),
1916
- y: screenTextPos.y.toString(),
1917
- "dominant-baseline": ninePointAnchorToDominantBaseline[text.anchor],
1918
- "text-anchor": ninePointAnchorToTextAnchor[text.anchor],
1916
+ y: (screenTextPos.y + verticalOffset).toString(),
1917
+ fill: colorMap.schematic.label_local,
1919
1918
  "font-family": "sans-serif",
1919
+ "text-anchor": ninePointAnchorToTextAnchor[text.anchor],
1920
+ "dominant-baseline": dominantBaseline,
1920
1921
  "font-size": `${getSchScreenFontSize(realToScreenTransform, "reference_designator")}px`
1921
1922
  },
1922
1923
  value: "",
@@ -3449,7 +3450,7 @@ var ninePointAnchorToTextAnchor2 = {
3449
3450
  middle_top: "middle",
3450
3451
  middle_bottom: "middle"
3451
3452
  };
3452
- var ninePointAnchorToDominantBaseline2 = {
3453
+ var ninePointAnchorToDominantBaseline = {
3453
3454
  top_left: "auto",
3454
3455
  top_right: "auto",
3455
3456
  bottom_left: "hanging",
@@ -3628,7 +3629,7 @@ var createSvgObjectsForSchNetLabelWithSymbol = (schNetLabel, realToScreenTransfo
3628
3629
  fill: colorMap.schematic.label_local,
3629
3630
  "font-family": "sans-serif",
3630
3631
  "text-anchor": ninePointAnchorToTextAnchor2[text.anchor],
3631
- "dominant-baseline": ninePointAnchorToDominantBaseline2[text.anchor],
3632
+ "dominant-baseline": ninePointAnchorToDominantBaseline[text.anchor],
3632
3633
  "font-size": `${getSchScreenFontSize(realToScreenTransform, "reference_designator")}px`
3633
3634
  },
3634
3635
  children: [