@tscircuit/props 0.0.460 → 0.0.462

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
@@ -1651,33 +1651,41 @@ var batteryProps = commonComponentProps.extend({
1651
1651
  var batteryPins = lrPolarPins;
1652
1652
  expectTypesMatch(true);
1653
1653
 
1654
+ // lib/components/mountedboard.ts
1655
+ import { z as z63 } from "zod";
1656
+ var mountedboardProps = subcircuitGroupProps.extend({
1657
+ boardToBoardDistance: distance.optional(),
1658
+ mountOrientation: z63.enum(["faceDown", "faceUp"]).optional()
1659
+ });
1660
+ expectTypesMatch(true);
1661
+
1654
1662
  // lib/components/pin-header.ts
1655
1663
  import { distance as distance19 } from "circuit-json";
1656
1664
 
1657
1665
  // lib/common/pcbOrientation.ts
1658
- import { z as z63 } from "zod";
1659
- var pcbOrientation = z63.enum(["vertical", "horizontal"]).describe(
1666
+ import { z as z64 } from "zod";
1667
+ var pcbOrientation = z64.enum(["vertical", "horizontal"]).describe(
1660
1668
  "vertical means pins go 1->2 downward and horizontal means pins go 1->2 rightward"
1661
1669
  );
1662
1670
  expectTypesMatch(true);
1663
1671
 
1664
1672
  // lib/components/pin-header.ts
1665
- import { z as z64 } from "zod";
1673
+ import { z as z65 } from "zod";
1666
1674
  var pinHeaderProps = commonComponentProps.extend({
1667
- pinCount: z64.number(),
1675
+ pinCount: z65.number(),
1668
1676
  pitch: distance19.optional(),
1669
- schFacingDirection: z64.enum(["up", "down", "left", "right"]).optional(),
1670
- gender: z64.enum(["male", "female", "unpopulated"]).optional().default("male"),
1671
- showSilkscreenPinLabels: z64.boolean().optional(),
1672
- pcbPinLabels: z64.record(z64.string(), z64.string()).optional(),
1673
- doubleRow: z64.boolean().optional(),
1674
- rightAngle: z64.boolean().optional(),
1677
+ schFacingDirection: z65.enum(["up", "down", "left", "right"]).optional(),
1678
+ gender: z65.enum(["male", "female", "unpopulated"]).optional().default("male"),
1679
+ showSilkscreenPinLabels: z65.boolean().optional(),
1680
+ pcbPinLabels: z65.record(z65.string(), z65.string()).optional(),
1681
+ doubleRow: z65.boolean().optional(),
1682
+ rightAngle: z65.boolean().optional(),
1675
1683
  pcbOrientation: pcbOrientation.optional(),
1676
1684
  holeDiameter: distance19.optional(),
1677
1685
  platedDiameter: distance19.optional(),
1678
- pinLabels: z64.record(z64.string(), schematicPinLabel).or(z64.array(schematicPinLabel)).optional(),
1679
- connections: z64.custom().pipe(z64.record(z64.string(), connectionTarget)).optional(),
1680
- facingDirection: z64.enum(["left", "right"]).optional(),
1686
+ pinLabels: z65.record(z65.string(), schematicPinLabel).or(z65.array(schematicPinLabel)).optional(),
1687
+ connections: z65.custom().pipe(z65.record(z65.string(), connectionTarget)).optional(),
1688
+ facingDirection: z65.enum(["left", "right"]).optional(),
1681
1689
  schPinArrangement: schematicPinArrangement.optional(),
1682
1690
  schPinStyle: schematicPinStyle.optional(),
1683
1691
  schPinSpacing: distance19.optional(),
@@ -1687,29 +1695,29 @@ var pinHeaderProps = commonComponentProps.extend({
1687
1695
  expectTypesMatch(true);
1688
1696
 
1689
1697
  // lib/components/netalias.ts
1690
- import { z as z65 } from "zod";
1698
+ import { z as z66 } from "zod";
1691
1699
  import { rotation as rotation3 } from "circuit-json";
1692
- var netAliasProps = z65.object({
1693
- net: z65.string().optional(),
1694
- connection: z65.string().optional(),
1700
+ var netAliasProps = z66.object({
1701
+ net: z66.string().optional(),
1702
+ connection: z66.string().optional(),
1695
1703
  schX: distance.optional(),
1696
1704
  schY: distance.optional(),
1697
1705
  schRotation: rotation3.optional(),
1698
- anchorSide: z65.enum(["left", "top", "right", "bottom"]).optional()
1706
+ anchorSide: z66.enum(["left", "top", "right", "bottom"]).optional()
1699
1707
  });
1700
1708
  expectTypesMatch(true);
1701
1709
 
1702
1710
  // lib/components/netlabel.ts
1703
- import { z as z66 } from "zod";
1711
+ import { z as z67 } from "zod";
1704
1712
  import { rotation as rotation4 } from "circuit-json";
1705
- var netLabelProps = z66.object({
1706
- net: z66.string().optional(),
1707
- connection: z66.string().optional(),
1708
- connectsTo: z66.string().or(z66.array(z66.string())).optional(),
1713
+ var netLabelProps = z67.object({
1714
+ net: z67.string().optional(),
1715
+ connection: z67.string().optional(),
1716
+ connectsTo: z67.string().or(z67.array(z67.string())).optional(),
1709
1717
  schX: distance.optional(),
1710
1718
  schY: distance.optional(),
1711
1719
  schRotation: rotation4.optional(),
1712
- anchorSide: z66.enum(["left", "top", "right", "bottom"]).optional()
1720
+ anchorSide: z67.enum(["left", "top", "right", "bottom"]).optional()
1713
1721
  });
1714
1722
  expectTypesMatch(true);
1715
1723
 
@@ -1724,12 +1732,12 @@ expectTypesMatch(true);
1724
1732
 
1725
1733
  // lib/components/analogsimulation.ts
1726
1734
  import { ms } from "circuit-json";
1727
- import { z as z68 } from "zod";
1728
- var spiceEngine = z68.custom(
1735
+ import { z as z69 } from "zod";
1736
+ var spiceEngine = z69.custom(
1729
1737
  (value) => typeof value === "string"
1730
1738
  );
1731
- var analogSimulationProps = z68.object({
1732
- simulationType: z68.literal("spice_transient_analysis").default("spice_transient_analysis"),
1739
+ var analogSimulationProps = z69.object({
1740
+ simulationType: z69.literal("spice_transient_analysis").default("spice_transient_analysis"),
1733
1741
  duration: ms.optional(),
1734
1742
  timePerStep: ms.optional(),
1735
1743
  spiceEngine: spiceEngine.optional()
@@ -1739,7 +1747,7 @@ expectTypesMatch(
1739
1747
  );
1740
1748
 
1741
1749
  // lib/components/transistor.ts
1742
- import { z as z69 } from "zod";
1750
+ import { z as z70 } from "zod";
1743
1751
  var transistorPinsLabels = [
1744
1752
  "pin1",
1745
1753
  "pin2",
@@ -1752,7 +1760,7 @@ var transistorPinsLabels = [
1752
1760
  "drain"
1753
1761
  ];
1754
1762
  var transistorProps = commonComponentProps.extend({
1755
- type: z69.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
1763
+ type: z70.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
1756
1764
  connections: createConnectionsProp(transistorPinsLabels).optional()
1757
1765
  });
1758
1766
  var transistorPins = [
@@ -1766,10 +1774,10 @@ var transistorPins = [
1766
1774
  expectTypesMatch(true);
1767
1775
 
1768
1776
  // lib/components/mosfet.ts
1769
- import { z as z70 } from "zod";
1777
+ import { z as z71 } from "zod";
1770
1778
  var mosfetProps = commonComponentProps.extend({
1771
- channelType: z70.enum(["n", "p"]),
1772
- mosfetMode: z70.enum(["enhancement", "depletion"])
1779
+ channelType: z71.enum(["n", "p"]),
1780
+ mosfetMode: z71.enum(["enhancement", "depletion"])
1773
1781
  });
1774
1782
  var mosfetPins = [
1775
1783
  "pin1",
@@ -1798,19 +1806,19 @@ expectTypesMatch(true);
1798
1806
 
1799
1807
  // lib/components/inductor.ts
1800
1808
  import { inductance } from "circuit-json";
1801
- import { z as z72 } from "zod";
1809
+ import { z as z73 } from "zod";
1802
1810
  var inductorPins = lrPins;
1803
1811
  var inductorProps = commonComponentProps.extend({
1804
1812
  inductance,
1805
- maxCurrentRating: z72.union([z72.string(), z72.number()]).optional(),
1813
+ maxCurrentRating: z73.union([z73.string(), z73.number()]).optional(),
1806
1814
  schOrientation: schematicOrientation.optional(),
1807
1815
  connections: createConnectionsProp(inductorPins).optional()
1808
1816
  });
1809
1817
  expectTypesMatch(true);
1810
1818
 
1811
1819
  // lib/components/diode.ts
1812
- import { z as z73 } from "zod";
1813
- var diodeConnectionKeys = z73.enum([
1820
+ import { z as z74 } from "zod";
1821
+ var diodeConnectionKeys = z74.enum([
1814
1822
  "anode",
1815
1823
  "cathode",
1816
1824
  "pin1",
@@ -1818,9 +1826,9 @@ var diodeConnectionKeys = z73.enum([
1818
1826
  "pos",
1819
1827
  "neg"
1820
1828
  ]);
1821
- var connectionTarget3 = z73.string().or(z73.array(z73.string()).readonly()).or(z73.array(z73.string()));
1822
- var connectionsProp2 = z73.record(diodeConnectionKeys, connectionTarget3);
1823
- var diodeVariant = z73.enum([
1829
+ var connectionTarget3 = z74.string().or(z74.array(z74.string()).readonly()).or(z74.array(z74.string()));
1830
+ var connectionsProp2 = z74.record(diodeConnectionKeys, connectionTarget3);
1831
+ var diodeVariant = z74.enum([
1824
1832
  "standard",
1825
1833
  "schottky",
1826
1834
  "zener",
@@ -1831,12 +1839,12 @@ var diodeVariant = z73.enum([
1831
1839
  var diodeProps = commonComponentProps.extend({
1832
1840
  connections: connectionsProp2.optional(),
1833
1841
  variant: diodeVariant.optional().default("standard"),
1834
- standard: z73.boolean().optional(),
1835
- schottky: z73.boolean().optional(),
1836
- zener: z73.boolean().optional(),
1837
- avalanche: z73.boolean().optional(),
1838
- photo: z73.boolean().optional(),
1839
- tvs: z73.boolean().optional(),
1842
+ standard: z74.boolean().optional(),
1843
+ schottky: z74.boolean().optional(),
1844
+ zener: z74.boolean().optional(),
1845
+ avalanche: z74.boolean().optional(),
1846
+ photo: z74.boolean().optional(),
1847
+ tvs: z74.boolean().optional(),
1840
1848
  schOrientation: schematicOrientation.optional()
1841
1849
  }).superRefine((data, ctx) => {
1842
1850
  const enabledFlags = [
@@ -1849,11 +1857,11 @@ var diodeProps = commonComponentProps.extend({
1849
1857
  ].filter(Boolean).length;
1850
1858
  if (enabledFlags > 1) {
1851
1859
  ctx.addIssue({
1852
- code: z73.ZodIssueCode.custom,
1860
+ code: z74.ZodIssueCode.custom,
1853
1861
  message: "Exactly one diode variant must be enabled",
1854
1862
  path: []
1855
1863
  });
1856
- return z73.INVALID;
1864
+ return z74.INVALID;
1857
1865
  }
1858
1866
  }).transform((data) => {
1859
1867
  const result = {
@@ -1900,33 +1908,33 @@ var diodePins = lrPolarPins;
1900
1908
  expectTypesMatch(true);
1901
1909
 
1902
1910
  // lib/components/led.ts
1903
- import { z as z74 } from "zod";
1911
+ import { z as z75 } from "zod";
1904
1912
  var ledProps = commonComponentProps.extend({
1905
- color: z74.string().optional(),
1906
- wavelength: z74.string().optional(),
1907
- schDisplayValue: z74.string().optional(),
1913
+ color: z75.string().optional(),
1914
+ wavelength: z75.string().optional(),
1915
+ schDisplayValue: z75.string().optional(),
1908
1916
  schOrientation: schematicOrientation.optional(),
1909
1917
  connections: createConnectionsProp(lrPolarPins).optional(),
1910
- laser: z74.boolean().optional()
1918
+ laser: z75.boolean().optional()
1911
1919
  });
1912
1920
  var ledPins = lrPolarPins;
1913
1921
 
1914
1922
  // lib/components/switch.ts
1915
1923
  import { ms as ms2, frequency as frequency3 } from "circuit-json";
1916
- import { z as z75 } from "zod";
1924
+ import { z as z76 } from "zod";
1917
1925
  var switchProps = commonComponentProps.extend({
1918
- type: z75.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
1919
- isNormallyClosed: z75.boolean().optional().default(false),
1920
- spst: z75.boolean().optional(),
1921
- spdt: z75.boolean().optional(),
1922
- dpst: z75.boolean().optional(),
1923
- dpdt: z75.boolean().optional(),
1926
+ type: z76.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
1927
+ isNormallyClosed: z76.boolean().optional().default(false),
1928
+ spst: z76.boolean().optional(),
1929
+ spdt: z76.boolean().optional(),
1930
+ dpst: z76.boolean().optional(),
1931
+ dpdt: z76.boolean().optional(),
1924
1932
  simSwitchFrequency: frequency3.optional(),
1925
1933
  simCloseAt: ms2.optional(),
1926
1934
  simOpenAt: ms2.optional(),
1927
- simStartClosed: z75.boolean().optional(),
1928
- simStartOpen: z75.boolean().optional(),
1929
- connections: z75.custom().pipe(z75.record(z75.string(), connectionTarget)).optional()
1935
+ simStartClosed: z76.boolean().optional(),
1936
+ simStartOpen: z76.boolean().optional(),
1937
+ connections: z76.custom().pipe(z76.record(z76.string(), connectionTarget)).optional()
1930
1938
  }).transform((props) => {
1931
1939
  const updatedProps = { ...props };
1932
1940
  if (updatedProps.dpdt) {
@@ -1958,33 +1966,33 @@ expectTypesMatch(true);
1958
1966
 
1959
1967
  // lib/components/fabrication-note-text.ts
1960
1968
  import { length as length3 } from "circuit-json";
1961
- import { z as z76 } from "zod";
1969
+ import { z as z77 } from "zod";
1962
1970
  var fabricationNoteTextProps = pcbLayoutProps.extend({
1963
- text: z76.string(),
1964
- anchorAlignment: z76.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1965
- font: z76.enum(["tscircuit2024"]).optional(),
1971
+ text: z77.string(),
1972
+ anchorAlignment: z77.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1973
+ font: z77.enum(["tscircuit2024"]).optional(),
1966
1974
  fontSize: length3.optional(),
1967
- color: z76.string().optional()
1975
+ color: z77.string().optional()
1968
1976
  });
1969
1977
  expectTypesMatch(true);
1970
1978
 
1971
1979
  // lib/components/fabrication-note-rect.ts
1972
1980
  import { distance as distance20 } from "circuit-json";
1973
- import { z as z77 } from "zod";
1981
+ import { z as z78 } from "zod";
1974
1982
  var fabricationNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1975
1983
  width: distance20,
1976
1984
  height: distance20,
1977
1985
  strokeWidth: distance20.optional(),
1978
- isFilled: z77.boolean().optional(),
1979
- hasStroke: z77.boolean().optional(),
1980
- isStrokeDashed: z77.boolean().optional(),
1981
- color: z77.string().optional(),
1986
+ isFilled: z78.boolean().optional(),
1987
+ hasStroke: z78.boolean().optional(),
1988
+ isStrokeDashed: z78.boolean().optional(),
1989
+ color: z78.string().optional(),
1982
1990
  cornerRadius: distance20.optional()
1983
1991
  });
1984
1992
 
1985
1993
  // lib/components/fabrication-note-path.ts
1986
1994
  import { length as length4, route_hint_point as route_hint_point3 } from "circuit-json";
1987
- import { z as z78 } from "zod";
1995
+ import { z as z79 } from "zod";
1988
1996
  var fabricationNotePathProps = pcbLayoutProps.omit({
1989
1997
  pcbLeftEdgeX: true,
1990
1998
  pcbRightEdgeX: true,
@@ -1996,15 +2004,15 @@ var fabricationNotePathProps = pcbLayoutProps.omit({
1996
2004
  pcbOffsetY: true,
1997
2005
  pcbRotation: true
1998
2006
  }).extend({
1999
- route: z78.array(route_hint_point3),
2007
+ route: z79.array(route_hint_point3),
2000
2008
  strokeWidth: length4.optional(),
2001
- color: z78.string().optional()
2009
+ color: z79.string().optional()
2002
2010
  });
2003
2011
 
2004
2012
  // lib/components/fabrication-note-dimension.ts
2005
2013
  import { distance as distance21, length as length5 } from "circuit-json";
2006
- import { z as z79 } from "zod";
2007
- var dimensionTarget = z79.union([z79.string(), point]);
2014
+ import { z as z80 } from "zod";
2015
+ var dimensionTarget = z80.union([z80.string(), point]);
2008
2016
  var fabricationNoteDimensionProps = pcbLayoutProps.omit({
2009
2017
  pcbLeftEdgeX: true,
2010
2018
  pcbRightEdgeX: true,
@@ -2018,53 +2026,53 @@ var fabricationNoteDimensionProps = pcbLayoutProps.omit({
2018
2026
  }).extend({
2019
2027
  from: dimensionTarget,
2020
2028
  to: dimensionTarget,
2021
- text: z79.string().optional(),
2029
+ text: z80.string().optional(),
2022
2030
  offset: distance21.optional(),
2023
- font: z79.enum(["tscircuit2024"]).optional(),
2031
+ font: z80.enum(["tscircuit2024"]).optional(),
2024
2032
  fontSize: length5.optional(),
2025
- color: z79.string().optional(),
2033
+ color: z80.string().optional(),
2026
2034
  arrowSize: distance21.optional(),
2027
- units: z79.enum(["in", "mm"]).optional(),
2028
- outerEdgeToEdge: z79.literal(true).optional(),
2029
- centerToCenter: z79.literal(true).optional(),
2030
- innerEdgeToEdge: z79.literal(true).optional()
2035
+ units: z80.enum(["in", "mm"]).optional(),
2036
+ outerEdgeToEdge: z80.literal(true).optional(),
2037
+ centerToCenter: z80.literal(true).optional(),
2038
+ innerEdgeToEdge: z80.literal(true).optional()
2031
2039
  });
2032
2040
  expectTypesMatch(true);
2033
2041
 
2034
2042
  // lib/components/pcb-trace.ts
2035
2043
  import { distance as distance22, route_hint_point as route_hint_point4 } from "circuit-json";
2036
- import { z as z80 } from "zod";
2037
- var pcbTraceProps = z80.object({
2038
- layer: z80.string().optional(),
2044
+ import { z as z81 } from "zod";
2045
+ var pcbTraceProps = z81.object({
2046
+ layer: z81.string().optional(),
2039
2047
  thickness: distance22.optional(),
2040
- route: z80.array(route_hint_point4)
2048
+ route: z81.array(route_hint_point4)
2041
2049
  });
2042
2050
 
2043
2051
  // lib/components/via.ts
2044
2052
  import { distance as distance23, layer_ref as layer_ref5 } from "circuit-json";
2045
- import { z as z81 } from "zod";
2053
+ import { z as z82 } from "zod";
2046
2054
  var viaProps = commonLayoutProps.extend({
2047
- name: z81.string().optional(),
2055
+ name: z82.string().optional(),
2048
2056
  fromLayer: layer_ref5,
2049
2057
  toLayer: layer_ref5,
2050
2058
  holeDiameter: distance23.optional(),
2051
2059
  outerDiameter: distance23.optional(),
2052
- connectsTo: z81.string().or(z81.array(z81.string())).optional(),
2053
- netIsAssignable: z81.boolean().optional()
2060
+ connectsTo: z82.string().or(z82.array(z82.string())).optional(),
2061
+ netIsAssignable: z82.boolean().optional()
2054
2062
  });
2055
2063
  expectTypesMatch(true);
2056
2064
 
2057
2065
  // lib/components/testpoint.ts
2058
2066
  import { distance as distance24 } from "circuit-json";
2059
- import { z as z82 } from "zod";
2067
+ import { z as z83 } from "zod";
2060
2068
  var testpointPins = ["pin1"];
2061
- var testpointConnectionsProp = z82.object({
2069
+ var testpointConnectionsProp = z83.object({
2062
2070
  pin1: connectionTarget
2063
2071
  }).strict();
2064
2072
  var testpointProps = commonComponentProps.extend({
2065
2073
  connections: testpointConnectionsProp.optional(),
2066
- footprintVariant: z82.enum(["pad", "through_hole"]).optional(),
2067
- padShape: z82.enum(["rect", "circle"]).optional().default("circle"),
2074
+ footprintVariant: z83.enum(["pad", "through_hole"]).optional(),
2075
+ padShape: z83.enum(["rect", "circle"]).optional().default("circle"),
2068
2076
  padDiameter: distance24.optional(),
2069
2077
  holeDiameter: distance24.optional(),
2070
2078
  width: distance24.optional(),
@@ -2076,22 +2084,22 @@ var testpointProps = commonComponentProps.extend({
2076
2084
  expectTypesMatch(true);
2077
2085
 
2078
2086
  // lib/components/breakoutpoint.ts
2079
- import { z as z83 } from "zod";
2087
+ import { z as z84 } from "zod";
2080
2088
  var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
2081
- connection: z83.string()
2089
+ connection: z84.string()
2082
2090
  });
2083
2091
  expectTypesMatch(true);
2084
2092
 
2085
2093
  // lib/components/pcb-keepout.ts
2086
2094
  import { distance as distance25 } from "circuit-json";
2087
- import { z as z84 } from "zod";
2088
- var pcbKeepoutProps = z84.union([
2095
+ import { z as z85 } from "zod";
2096
+ var pcbKeepoutProps = z85.union([
2089
2097
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
2090
- shape: z84.literal("circle"),
2098
+ shape: z85.literal("circle"),
2091
2099
  radius: distance25
2092
2100
  }),
2093
2101
  pcbLayoutProps.extend({
2094
- shape: z84.literal("rect"),
2102
+ shape: z85.literal("rect"),
2095
2103
  width: distance25,
2096
2104
  height: distance25
2097
2105
  })
@@ -2099,20 +2107,20 @@ var pcbKeepoutProps = z84.union([
2099
2107
 
2100
2108
  // lib/components/courtyard-rect.ts
2101
2109
  import { distance as distance26 } from "circuit-json";
2102
- import { z as z85 } from "zod";
2110
+ import { z as z86 } from "zod";
2103
2111
  var courtyardRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2104
2112
  width: distance26,
2105
2113
  height: distance26,
2106
2114
  strokeWidth: distance26.optional(),
2107
- isFilled: z85.boolean().optional(),
2108
- hasStroke: z85.boolean().optional(),
2109
- isStrokeDashed: z85.boolean().optional(),
2110
- color: z85.string().optional()
2115
+ isFilled: z86.boolean().optional(),
2116
+ hasStroke: z86.boolean().optional(),
2117
+ isStrokeDashed: z86.boolean().optional(),
2118
+ color: z86.string().optional()
2111
2119
  });
2112
2120
 
2113
2121
  // lib/components/courtyard-outline.ts
2114
2122
  import { length as length6 } from "circuit-json";
2115
- import { z as z86 } from "zod";
2123
+ import { z as z87 } from "zod";
2116
2124
  var courtyardOutlineProps = pcbLayoutProps.omit({
2117
2125
  pcbLeftEdgeX: true,
2118
2126
  pcbRightEdgeX: true,
@@ -2124,42 +2132,58 @@ var courtyardOutlineProps = pcbLayoutProps.omit({
2124
2132
  pcbOffsetY: true,
2125
2133
  pcbRotation: true
2126
2134
  }).extend({
2127
- outline: z86.array(point),
2135
+ outline: z87.array(point),
2128
2136
  strokeWidth: length6.optional(),
2129
- isClosed: z86.boolean().optional(),
2130
- isStrokeDashed: z86.boolean().optional(),
2131
- color: z86.string().optional()
2137
+ isClosed: z87.boolean().optional(),
2138
+ isStrokeDashed: z87.boolean().optional(),
2139
+ color: z87.string().optional()
2140
+ });
2141
+
2142
+ // lib/components/courtyard-circle.ts
2143
+ import { distance as distance27 } from "circuit-json";
2144
+ import "zod";
2145
+ var courtyardCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2146
+ radius: distance27
2147
+ });
2148
+
2149
+ // lib/components/courtyard-pill.ts
2150
+ import { distance as distance28 } from "circuit-json";
2151
+ import "zod";
2152
+ var courtyardPillProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2153
+ width: distance28,
2154
+ height: distance28,
2155
+ radius: distance28
2132
2156
  });
2133
2157
 
2134
2158
  // lib/components/copper-pour.ts
2135
- import { z as z87 } from "zod";
2159
+ import { z as z90 } from "zod";
2136
2160
  import { layer_ref as layer_ref6 } from "circuit-json";
2137
- var copperPourProps = z87.object({
2138
- name: z87.string().optional(),
2161
+ var copperPourProps = z90.object({
2162
+ name: z90.string().optional(),
2139
2163
  layer: layer_ref6,
2140
- connectsTo: z87.string(),
2164
+ connectsTo: z90.string(),
2141
2165
  padMargin: distance.optional(),
2142
2166
  traceMargin: distance.optional(),
2143
2167
  clearance: distance.optional(),
2144
2168
  boardEdgeMargin: distance.optional(),
2145
2169
  cutoutMargin: distance.optional(),
2146
- outline: z87.array(point).optional(),
2147
- coveredWithSolderMask: z87.boolean().optional().default(true)
2170
+ outline: z90.array(point).optional(),
2171
+ coveredWithSolderMask: z90.boolean().optional().default(true)
2148
2172
  });
2149
2173
  expectTypesMatch(true);
2150
2174
 
2151
2175
  // lib/components/cadassembly.ts
2152
2176
  import { layer_ref as layer_ref7 } from "circuit-json";
2153
- import { z as z88 } from "zod";
2154
- var cadassemblyProps = z88.object({
2177
+ import { z as z91 } from "zod";
2178
+ var cadassemblyProps = z91.object({
2155
2179
  originalLayer: layer_ref7.default("top").optional(),
2156
- children: z88.any().optional()
2180
+ children: z91.any().optional()
2157
2181
  });
2158
2182
  expectTypesMatch(true);
2159
2183
 
2160
2184
  // lib/components/cadmodel.ts
2161
- import { z as z89 } from "zod";
2162
- var pcbPosition = z89.object({
2185
+ import { z as z92 } from "zod";
2186
+ var pcbPosition = z92.object({
2163
2187
  pcbX: pcbCoordinate.optional(),
2164
2188
  pcbY: pcbCoordinate.optional(),
2165
2189
  pcbLeftEdgeX: pcbCoordinate.optional(),
@@ -2171,12 +2195,12 @@ var pcbPosition = z89.object({
2171
2195
  pcbZ: distance.optional()
2172
2196
  });
2173
2197
  var cadModelBaseWithUrl = cadModelBase.extend({
2174
- modelUrl: z89.string(),
2175
- stepUrl: z89.string().optional()
2198
+ modelUrl: z92.string(),
2199
+ stepUrl: z92.string().optional()
2176
2200
  });
2177
2201
  var cadModelObject = cadModelBaseWithUrl.merge(pcbPosition);
2178
2202
  expectTypesMatch(true);
2179
- var cadmodelProps = z89.union([z89.null(), z89.string(), cadModelObject]);
2203
+ var cadmodelProps = z92.union([z92.null(), z92.string(), cadModelObject]);
2180
2204
 
2181
2205
  // lib/components/power-source.ts
2182
2206
  import { voltage as voltage3 } from "circuit-json";
@@ -2186,9 +2210,9 @@ var powerSourceProps = commonComponentProps.extend({
2186
2210
 
2187
2211
  // lib/components/voltagesource.ts
2188
2212
  import { frequency as frequency4, rotation as rotation5, voltage as voltage4 } from "circuit-json";
2189
- import { z as z90 } from "zod";
2213
+ import { z as z93 } from "zod";
2190
2214
  var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
2191
- var percentage = z90.union([z90.string(), z90.number()]).transform((val) => {
2215
+ var percentage = z93.union([z93.string(), z93.number()]).transform((val) => {
2192
2216
  if (typeof val === "string") {
2193
2217
  if (val.endsWith("%")) {
2194
2218
  return parseFloat(val.slice(0, -1)) / 100;
@@ -2197,13 +2221,13 @@ var percentage = z90.union([z90.string(), z90.number()]).transform((val) => {
2197
2221
  }
2198
2222
  return val;
2199
2223
  }).pipe(
2200
- z90.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2224
+ z93.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2201
2225
  );
2202
2226
  var voltageSourceProps = commonComponentProps.extend({
2203
2227
  voltage: voltage4.optional(),
2204
2228
  frequency: frequency4.optional(),
2205
2229
  peakToPeakVoltage: voltage4.optional(),
2206
- waveShape: z90.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
2230
+ waveShape: z93.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
2207
2231
  phase: rotation5.optional(),
2208
2232
  dutyCycle: percentage.optional(),
2209
2233
  connections: createConnectionsProp(voltageSourcePinLabels).optional()
@@ -2213,9 +2237,9 @@ expectTypesMatch(true);
2213
2237
 
2214
2238
  // lib/components/currentsource.ts
2215
2239
  import { frequency as frequency5, rotation as rotation6, current } from "circuit-json";
2216
- import { z as z91 } from "zod";
2240
+ import { z as z94 } from "zod";
2217
2241
  var currentSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
2218
- var percentage2 = z91.union([z91.string(), z91.number()]).transform((val) => {
2242
+ var percentage2 = z94.union([z94.string(), z94.number()]).transform((val) => {
2219
2243
  if (typeof val === "string") {
2220
2244
  if (val.endsWith("%")) {
2221
2245
  return parseFloat(val.slice(0, -1)) / 100;
@@ -2224,13 +2248,13 @@ var percentage2 = z91.union([z91.string(), z91.number()]).transform((val) => {
2224
2248
  }
2225
2249
  return val;
2226
2250
  }).pipe(
2227
- z91.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2251
+ z94.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2228
2252
  );
2229
2253
  var currentSourceProps = commonComponentProps.extend({
2230
2254
  current: current.optional(),
2231
2255
  frequency: frequency5.optional(),
2232
2256
  peakToPeakCurrent: current.optional(),
2233
- waveShape: z91.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
2257
+ waveShape: z94.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
2234
2258
  phase: rotation6.optional(),
2235
2259
  dutyCycle: percentage2.optional(),
2236
2260
  connections: createConnectionsProp(currentSourcePinLabels).optional()
@@ -2239,57 +2263,57 @@ var currentSourcePins = lrPolarPins;
2239
2263
  expectTypesMatch(true);
2240
2264
 
2241
2265
  // lib/components/voltageprobe.ts
2242
- import { z as z92 } from "zod";
2266
+ import { z as z95 } from "zod";
2243
2267
  var voltageProbeProps = commonComponentProps.omit({ name: true }).extend({
2244
- name: z92.string().optional(),
2245
- connectsTo: z92.string(),
2246
- referenceTo: z92.string().optional(),
2247
- color: z92.string().optional()
2268
+ name: z95.string().optional(),
2269
+ connectsTo: z95.string(),
2270
+ referenceTo: z95.string().optional(),
2271
+ color: z95.string().optional()
2248
2272
  });
2249
2273
  expectTypesMatch(true);
2250
2274
 
2251
2275
  // lib/components/schematic-arc.ts
2252
- import { distance as distance27, point as point5, rotation as rotation7 } from "circuit-json";
2253
- import { z as z93 } from "zod";
2254
- var schematicArcProps = z93.object({
2276
+ import { distance as distance29, point as point5, rotation as rotation7 } from "circuit-json";
2277
+ import { z as z96 } from "zod";
2278
+ var schematicArcProps = z96.object({
2255
2279
  center: point5,
2256
- radius: distance27,
2280
+ radius: distance29,
2257
2281
  startAngleDegrees: rotation7,
2258
2282
  endAngleDegrees: rotation7,
2259
- direction: z93.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
2260
- strokeWidth: distance27.optional(),
2261
- color: z93.string().optional(),
2262
- isDashed: z93.boolean().optional().default(false)
2283
+ direction: z96.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
2284
+ strokeWidth: distance29.optional(),
2285
+ color: z96.string().optional(),
2286
+ isDashed: z96.boolean().optional().default(false)
2263
2287
  });
2264
2288
  expectTypesMatch(true);
2265
2289
 
2266
2290
  // lib/components/toolingrail.ts
2267
- import { z as z94 } from "zod";
2268
- var toolingrailProps = z94.object({
2269
- children: z94.any().optional()
2291
+ import { z as z97 } from "zod";
2292
+ var toolingrailProps = z97.object({
2293
+ children: z97.any().optional()
2270
2294
  });
2271
2295
  expectTypesMatch(true);
2272
2296
 
2273
2297
  // lib/components/schematic-box.ts
2274
- import { distance as distance28 } from "circuit-json";
2275
- import { z as z95 } from "zod";
2276
- var schematicBoxProps = z95.object({
2277
- schX: distance28.optional(),
2278
- schY: distance28.optional(),
2279
- width: distance28.optional(),
2280
- height: distance28.optional(),
2281
- overlay: z95.array(z95.string()).optional(),
2282
- padding: distance28.optional(),
2283
- paddingLeft: distance28.optional(),
2284
- paddingRight: distance28.optional(),
2285
- paddingTop: distance28.optional(),
2286
- paddingBottom: distance28.optional(),
2287
- title: z95.string().optional(),
2298
+ import { distance as distance30 } from "circuit-json";
2299
+ import { z as z98 } from "zod";
2300
+ var schematicBoxProps = z98.object({
2301
+ schX: distance30.optional(),
2302
+ schY: distance30.optional(),
2303
+ width: distance30.optional(),
2304
+ height: distance30.optional(),
2305
+ overlay: z98.array(z98.string()).optional(),
2306
+ padding: distance30.optional(),
2307
+ paddingLeft: distance30.optional(),
2308
+ paddingRight: distance30.optional(),
2309
+ paddingTop: distance30.optional(),
2310
+ paddingBottom: distance30.optional(),
2311
+ title: z98.string().optional(),
2288
2312
  titleAlignment: ninePointAnchor.default("top_left"),
2289
- titleColor: z95.string().optional(),
2290
- titleFontSize: distance28.optional(),
2291
- titleInside: z95.boolean().default(false),
2292
- strokeStyle: z95.enum(["solid", "dashed"]).default("solid")
2313
+ titleColor: z98.string().optional(),
2314
+ titleFontSize: distance30.optional(),
2315
+ titleInside: z98.boolean().default(false),
2316
+ strokeStyle: z98.enum(["solid", "dashed"]).default("solid")
2293
2317
  }).refine(
2294
2318
  (elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
2295
2319
  {
@@ -2304,60 +2328,60 @@ var schematicBoxProps = z95.object({
2304
2328
  expectTypesMatch(true);
2305
2329
 
2306
2330
  // lib/components/schematic-circle.ts
2307
- import { distance as distance29, point as point6 } from "circuit-json";
2308
- import { z as z96 } from "zod";
2309
- var schematicCircleProps = z96.object({
2331
+ import { distance as distance31, point as point6 } from "circuit-json";
2332
+ import { z as z99 } from "zod";
2333
+ var schematicCircleProps = z99.object({
2310
2334
  center: point6,
2311
- radius: distance29,
2312
- strokeWidth: distance29.optional(),
2313
- color: z96.string().optional(),
2314
- isFilled: z96.boolean().optional().default(false),
2315
- fillColor: z96.string().optional(),
2316
- isDashed: z96.boolean().optional().default(false)
2335
+ radius: distance31,
2336
+ strokeWidth: distance31.optional(),
2337
+ color: z99.string().optional(),
2338
+ isFilled: z99.boolean().optional().default(false),
2339
+ fillColor: z99.string().optional(),
2340
+ isDashed: z99.boolean().optional().default(false)
2317
2341
  });
2318
2342
  expectTypesMatch(
2319
2343
  true
2320
2344
  );
2321
2345
 
2322
2346
  // lib/components/schematic-rect.ts
2323
- import { distance as distance30, rotation as rotation8 } from "circuit-json";
2324
- import { z as z97 } from "zod";
2325
- var schematicRectProps = z97.object({
2326
- schX: distance30.optional(),
2327
- schY: distance30.optional(),
2328
- width: distance30,
2329
- height: distance30,
2347
+ import { distance as distance32, rotation as rotation8 } from "circuit-json";
2348
+ import { z as z100 } from "zod";
2349
+ var schematicRectProps = z100.object({
2350
+ schX: distance32.optional(),
2351
+ schY: distance32.optional(),
2352
+ width: distance32,
2353
+ height: distance32,
2330
2354
  rotation: rotation8.default(0),
2331
- strokeWidth: distance30.optional(),
2332
- color: z97.string().optional(),
2333
- isFilled: z97.boolean().optional().default(false),
2334
- fillColor: z97.string().optional(),
2335
- isDashed: z97.boolean().optional().default(false),
2336
- cornerRadius: distance30.optional()
2355
+ strokeWidth: distance32.optional(),
2356
+ color: z100.string().optional(),
2357
+ isFilled: z100.boolean().optional().default(false),
2358
+ fillColor: z100.string().optional(),
2359
+ isDashed: z100.boolean().optional().default(false),
2360
+ cornerRadius: distance32.optional()
2337
2361
  });
2338
2362
  expectTypesMatch(true);
2339
2363
 
2340
2364
  // lib/components/schematic-line.ts
2341
- import { distance as distance31 } from "circuit-json";
2342
- import { z as z98 } from "zod";
2343
- var schematicLineProps = z98.object({
2344
- x1: distance31,
2345
- y1: distance31,
2346
- x2: distance31,
2347
- y2: distance31,
2348
- strokeWidth: distance31.optional(),
2349
- color: z98.string().optional(),
2350
- isDashed: z98.boolean().optional().default(false)
2365
+ import { distance as distance33 } from "circuit-json";
2366
+ import { z as z101 } from "zod";
2367
+ var schematicLineProps = z101.object({
2368
+ x1: distance33,
2369
+ y1: distance33,
2370
+ x2: distance33,
2371
+ y2: distance33,
2372
+ strokeWidth: distance33.optional(),
2373
+ color: z101.string().optional(),
2374
+ isDashed: z101.boolean().optional().default(false)
2351
2375
  });
2352
2376
  expectTypesMatch(true);
2353
2377
 
2354
2378
  // lib/components/schematic-text.ts
2355
- import { distance as distance32, rotation as rotation9 } from "circuit-json";
2356
- import { z as z100 } from "zod";
2379
+ import { distance as distance34, rotation as rotation9 } from "circuit-json";
2380
+ import { z as z103 } from "zod";
2357
2381
 
2358
2382
  // lib/common/fivePointAnchor.ts
2359
- import { z as z99 } from "zod";
2360
- var fivePointAnchor = z99.enum([
2383
+ import { z as z102 } from "zod";
2384
+ var fivePointAnchor = z102.enum([
2361
2385
  "center",
2362
2386
  "left",
2363
2387
  "right",
@@ -2366,104 +2390,104 @@ var fivePointAnchor = z99.enum([
2366
2390
  ]);
2367
2391
 
2368
2392
  // lib/components/schematic-text.ts
2369
- var schematicTextProps = z100.object({
2370
- schX: distance32.optional(),
2371
- schY: distance32.optional(),
2372
- text: z100.string(),
2373
- fontSize: z100.number().default(1),
2374
- anchor: z100.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
2375
- color: z100.string().default("#000000"),
2393
+ var schematicTextProps = z103.object({
2394
+ schX: distance34.optional(),
2395
+ schY: distance34.optional(),
2396
+ text: z103.string(),
2397
+ fontSize: z103.number().default(1),
2398
+ anchor: z103.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
2399
+ color: z103.string().default("#000000"),
2376
2400
  schRotation: rotation9.default(0)
2377
2401
  });
2378
2402
  expectTypesMatch(true);
2379
2403
 
2380
2404
  // lib/components/schematic-path.ts
2381
- import { distance as distance33, point as point8 } from "circuit-json";
2382
- import { z as z101 } from "zod";
2383
- var schematicPathProps = z101.object({
2384
- points: z101.array(point8).optional(),
2385
- svgPath: z101.string().optional(),
2386
- strokeWidth: distance33.optional(),
2387
- strokeColor: z101.string().optional(),
2388
- isFilled: z101.boolean().optional().default(false),
2389
- fillColor: z101.enum(["red", "blue"]).optional()
2405
+ import { distance as distance35, point as point8 } from "circuit-json";
2406
+ import { z as z104 } from "zod";
2407
+ var schematicPathProps = z104.object({
2408
+ points: z104.array(point8).optional(),
2409
+ svgPath: z104.string().optional(),
2410
+ strokeWidth: distance35.optional(),
2411
+ strokeColor: z104.string().optional(),
2412
+ isFilled: z104.boolean().optional().default(false),
2413
+ fillColor: z104.enum(["red", "blue"]).optional()
2390
2414
  });
2391
2415
  expectTypesMatch(true);
2392
2416
 
2393
2417
  // lib/components/schematic-table.ts
2394
- import { distance as distance34 } from "circuit-json";
2395
- import { z as z102 } from "zod";
2396
- var schematicTableProps = z102.object({
2397
- schX: distance34.optional(),
2398
- schY: distance34.optional(),
2399
- children: z102.any().optional(),
2400
- cellPadding: distance34.optional(),
2401
- borderWidth: distance34.optional(),
2418
+ import { distance as distance36 } from "circuit-json";
2419
+ import { z as z105 } from "zod";
2420
+ var schematicTableProps = z105.object({
2421
+ schX: distance36.optional(),
2422
+ schY: distance36.optional(),
2423
+ children: z105.any().optional(),
2424
+ cellPadding: distance36.optional(),
2425
+ borderWidth: distance36.optional(),
2402
2426
  anchor: ninePointAnchor.optional(),
2403
- fontSize: distance34.optional()
2427
+ fontSize: distance36.optional()
2404
2428
  });
2405
2429
  expectTypesMatch(true);
2406
2430
 
2407
2431
  // lib/components/schematic-row.ts
2408
- import { distance as distance35 } from "circuit-json";
2409
- import { z as z103 } from "zod";
2410
- var schematicRowProps = z103.object({
2411
- children: z103.any().optional(),
2412
- height: distance35.optional()
2432
+ import { distance as distance37 } from "circuit-json";
2433
+ import { z as z106 } from "zod";
2434
+ var schematicRowProps = z106.object({
2435
+ children: z106.any().optional(),
2436
+ height: distance37.optional()
2413
2437
  });
2414
2438
  expectTypesMatch(true);
2415
2439
 
2416
2440
  // lib/components/schematic-cell.ts
2417
- import { distance as distance36 } from "circuit-json";
2418
- import { z as z104 } from "zod";
2419
- var schematicCellProps = z104.object({
2420
- children: z104.string().optional(),
2421
- horizontalAlign: z104.enum(["left", "center", "right"]).optional(),
2422
- verticalAlign: z104.enum(["top", "middle", "bottom"]).optional(),
2423
- fontSize: distance36.optional(),
2424
- rowSpan: z104.number().optional(),
2425
- colSpan: z104.number().optional(),
2426
- width: distance36.optional(),
2427
- text: z104.string().optional()
2441
+ import { distance as distance38 } from "circuit-json";
2442
+ import { z as z107 } from "zod";
2443
+ var schematicCellProps = z107.object({
2444
+ children: z107.string().optional(),
2445
+ horizontalAlign: z107.enum(["left", "center", "right"]).optional(),
2446
+ verticalAlign: z107.enum(["top", "middle", "bottom"]).optional(),
2447
+ fontSize: distance38.optional(),
2448
+ rowSpan: z107.number().optional(),
2449
+ colSpan: z107.number().optional(),
2450
+ width: distance38.optional(),
2451
+ text: z107.string().optional()
2428
2452
  });
2429
2453
  expectTypesMatch(true);
2430
2454
 
2431
2455
  // lib/components/copper-text.ts
2432
2456
  import { layer_ref as layer_ref8, length as length7 } from "circuit-json";
2433
- import { z as z105 } from "zod";
2457
+ import { z as z108 } from "zod";
2434
2458
  var copperTextProps = pcbLayoutProps.extend({
2435
- text: z105.string(),
2459
+ text: z108.string(),
2436
2460
  anchorAlignment: ninePointAnchor.default("center"),
2437
- font: z105.enum(["tscircuit2024"]).optional(),
2461
+ font: z108.enum(["tscircuit2024"]).optional(),
2438
2462
  fontSize: length7.optional(),
2439
- layers: z105.array(layer_ref8).optional(),
2440
- knockout: z105.boolean().optional(),
2441
- mirrored: z105.boolean().optional()
2463
+ layers: z108.array(layer_ref8).optional(),
2464
+ knockout: z108.boolean().optional(),
2465
+ mirrored: z108.boolean().optional()
2442
2466
  });
2443
2467
 
2444
2468
  // lib/components/silkscreen-text.ts
2445
2469
  import { layer_ref as layer_ref9, length as length8 } from "circuit-json";
2446
- import { z as z106 } from "zod";
2470
+ import { z as z109 } from "zod";
2447
2471
  var silkscreenTextProps = pcbLayoutProps.extend({
2448
- text: z106.string(),
2472
+ text: z109.string(),
2449
2473
  anchorAlignment: ninePointAnchor.default("center"),
2450
- font: z106.enum(["tscircuit2024"]).optional(),
2474
+ font: z109.enum(["tscircuit2024"]).optional(),
2451
2475
  fontSize: length8.optional(),
2452
2476
  /**
2453
2477
  * If true, text will knock out underlying silkscreen
2454
2478
  */
2455
- isKnockout: z106.boolean().optional(),
2479
+ isKnockout: z109.boolean().optional(),
2456
2480
  knockoutPadding: length8.optional(),
2457
2481
  knockoutPaddingLeft: length8.optional(),
2458
2482
  knockoutPaddingRight: length8.optional(),
2459
2483
  knockoutPaddingTop: length8.optional(),
2460
2484
  knockoutPaddingBottom: length8.optional(),
2461
- layers: z106.array(layer_ref9).optional()
2485
+ layers: z109.array(layer_ref9).optional()
2462
2486
  });
2463
2487
 
2464
2488
  // lib/components/silkscreen-path.ts
2465
2489
  import { length as length9, route_hint_point as route_hint_point5 } from "circuit-json";
2466
- import { z as z107 } from "zod";
2490
+ import { z as z110 } from "zod";
2467
2491
  var silkscreenPathProps = pcbLayoutProps.omit({
2468
2492
  pcbLeftEdgeX: true,
2469
2493
  pcbRightEdgeX: true,
@@ -2475,12 +2499,12 @@ var silkscreenPathProps = pcbLayoutProps.omit({
2475
2499
  pcbOffsetY: true,
2476
2500
  pcbRotation: true
2477
2501
  }).extend({
2478
- route: z107.array(route_hint_point5),
2502
+ route: z110.array(route_hint_point5),
2479
2503
  strokeWidth: length9.optional()
2480
2504
  });
2481
2505
 
2482
2506
  // lib/components/silkscreen-line.ts
2483
- import { distance as distance37 } from "circuit-json";
2507
+ import { distance as distance39 } from "circuit-json";
2484
2508
  var silkscreenLineProps = pcbLayoutProps.omit({
2485
2509
  pcbX: true,
2486
2510
  pcbY: true,
@@ -2488,89 +2512,89 @@ var silkscreenLineProps = pcbLayoutProps.omit({
2488
2512
  pcbOffsetY: true,
2489
2513
  pcbRotation: true
2490
2514
  }).extend({
2491
- strokeWidth: distance37,
2492
- x1: distance37,
2493
- y1: distance37,
2494
- x2: distance37,
2495
- y2: distance37
2515
+ strokeWidth: distance39,
2516
+ x1: distance39,
2517
+ y1: distance39,
2518
+ x2: distance39,
2519
+ y2: distance39
2496
2520
  });
2497
2521
 
2498
2522
  // lib/components/silkscreen-rect.ts
2499
- import { distance as distance38 } from "circuit-json";
2500
- import { z as z108 } from "zod";
2523
+ import { distance as distance40 } from "circuit-json";
2524
+ import { z as z111 } from "zod";
2501
2525
  var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2502
- filled: z108.boolean().default(true).optional(),
2503
- stroke: z108.enum(["dashed", "solid", "none"]).optional(),
2504
- strokeWidth: distance38.optional(),
2505
- width: distance38,
2506
- height: distance38,
2507
- cornerRadius: distance38.optional()
2526
+ filled: z111.boolean().default(true).optional(),
2527
+ stroke: z111.enum(["dashed", "solid", "none"]).optional(),
2528
+ strokeWidth: distance40.optional(),
2529
+ width: distance40,
2530
+ height: distance40,
2531
+ cornerRadius: distance40.optional()
2508
2532
  });
2509
2533
 
2510
2534
  // lib/components/silkscreen-circle.ts
2511
- import { distance as distance39 } from "circuit-json";
2512
- import { z as z109 } from "zod";
2535
+ import { distance as distance41 } from "circuit-json";
2536
+ import { z as z112 } from "zod";
2513
2537
  var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2514
- isFilled: z109.boolean().optional(),
2515
- isOutline: z109.boolean().optional(),
2516
- strokeWidth: distance39.optional(),
2517
- radius: distance39
2538
+ isFilled: z112.boolean().optional(),
2539
+ isOutline: z112.boolean().optional(),
2540
+ strokeWidth: distance41.optional(),
2541
+ radius: distance41
2518
2542
  });
2519
2543
 
2520
2544
  // lib/components/trace-hint.ts
2521
- import { distance as distance40, layer_ref as layer_ref10, route_hint_point as route_hint_point6 } from "circuit-json";
2522
- import { z as z110 } from "zod";
2523
- var routeHintPointProps = z110.object({
2524
- x: distance40,
2525
- y: distance40,
2526
- via: z110.boolean().optional(),
2545
+ import { distance as distance42, layer_ref as layer_ref10, route_hint_point as route_hint_point6 } from "circuit-json";
2546
+ import { z as z113 } from "zod";
2547
+ var routeHintPointProps = z113.object({
2548
+ x: distance42,
2549
+ y: distance42,
2550
+ via: z113.boolean().optional(),
2527
2551
  toLayer: layer_ref10.optional()
2528
2552
  });
2529
- var traceHintProps = z110.object({
2530
- for: z110.string().optional().describe(
2553
+ var traceHintProps = z113.object({
2554
+ for: z113.string().optional().describe(
2531
2555
  "Selector for the port you're targeting, not required if you're inside a trace"
2532
2556
  ),
2533
- order: z110.number().optional(),
2557
+ order: z113.number().optional(),
2534
2558
  offset: route_hint_point6.or(routeHintPointProps).optional(),
2535
- offsets: z110.array(route_hint_point6).or(z110.array(routeHintPointProps)).optional(),
2536
- traceWidth: z110.number().optional()
2559
+ offsets: z113.array(route_hint_point6).or(z113.array(routeHintPointProps)).optional(),
2560
+ traceWidth: z113.number().optional()
2537
2561
  });
2538
2562
 
2539
2563
  // lib/components/port.ts
2540
- import { z as z111 } from "zod";
2564
+ import { z as z114 } from "zod";
2541
2565
  var portProps = commonLayoutProps.extend({
2542
- name: z111.string(),
2543
- pinNumber: z111.number().optional(),
2544
- aliases: z111.array(z111.string()).optional(),
2566
+ name: z114.string(),
2567
+ pinNumber: z114.number().optional(),
2568
+ aliases: z114.array(z114.string()).optional(),
2545
2569
  direction,
2546
- connectsTo: z111.string().or(z111.array(z111.string())).optional(),
2570
+ connectsTo: z114.string().or(z114.array(z114.string())).optional(),
2547
2571
  kicadPinMetadata: kicadPinMetadata.optional()
2548
2572
  });
2549
2573
 
2550
2574
  // lib/components/pcb-note-text.ts
2551
2575
  import { length as length10 } from "circuit-json";
2552
- import { z as z112 } from "zod";
2576
+ import { z as z115 } from "zod";
2553
2577
  var pcbNoteTextProps = pcbLayoutProps.extend({
2554
- text: z112.string(),
2555
- anchorAlignment: z112.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2556
- font: z112.enum(["tscircuit2024"]).optional(),
2578
+ text: z115.string(),
2579
+ anchorAlignment: z115.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2580
+ font: z115.enum(["tscircuit2024"]).optional(),
2557
2581
  fontSize: length10.optional(),
2558
- color: z112.string().optional()
2582
+ color: z115.string().optional()
2559
2583
  });
2560
2584
  expectTypesMatch(true);
2561
2585
 
2562
2586
  // lib/components/pcb-note-rect.ts
2563
- import { distance as distance41 } from "circuit-json";
2564
- import { z as z113 } from "zod";
2587
+ import { distance as distance43 } from "circuit-json";
2588
+ import { z as z116 } from "zod";
2565
2589
  var pcbNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2566
- width: distance41,
2567
- height: distance41,
2568
- strokeWidth: distance41.optional(),
2569
- isFilled: z113.boolean().optional(),
2570
- hasStroke: z113.boolean().optional(),
2571
- isStrokeDashed: z113.boolean().optional(),
2572
- color: z113.string().optional(),
2573
- cornerRadius: distance41.optional()
2590
+ width: distance43,
2591
+ height: distance43,
2592
+ strokeWidth: distance43.optional(),
2593
+ isFilled: z116.boolean().optional(),
2594
+ hasStroke: z116.boolean().optional(),
2595
+ isStrokeDashed: z116.boolean().optional(),
2596
+ color: z116.string().optional(),
2597
+ cornerRadius: distance43.optional()
2574
2598
  });
2575
2599
  expectTypesMatch(true);
2576
2600
 
@@ -2579,7 +2603,7 @@ import {
2579
2603
  length as length11,
2580
2604
  route_hint_point as route_hint_point7
2581
2605
  } from "circuit-json";
2582
- import { z as z114 } from "zod";
2606
+ import { z as z117 } from "zod";
2583
2607
  var pcbNotePathProps = pcbLayoutProps.omit({
2584
2608
  pcbLeftEdgeX: true,
2585
2609
  pcbRightEdgeX: true,
@@ -2591,15 +2615,15 @@ var pcbNotePathProps = pcbLayoutProps.omit({
2591
2615
  pcbOffsetY: true,
2592
2616
  pcbRotation: true
2593
2617
  }).extend({
2594
- route: z114.array(route_hint_point7),
2618
+ route: z117.array(route_hint_point7),
2595
2619
  strokeWidth: length11.optional(),
2596
- color: z114.string().optional()
2620
+ color: z117.string().optional()
2597
2621
  });
2598
2622
  expectTypesMatch(true);
2599
2623
 
2600
2624
  // lib/components/pcb-note-line.ts
2601
- import { distance as distance42 } from "circuit-json";
2602
- import { z as z115 } from "zod";
2625
+ import { distance as distance44 } from "circuit-json";
2626
+ import { z as z118 } from "zod";
2603
2627
  var pcbNoteLineProps = pcbLayoutProps.omit({
2604
2628
  pcbLeftEdgeX: true,
2605
2629
  pcbRightEdgeX: true,
@@ -2611,20 +2635,20 @@ var pcbNoteLineProps = pcbLayoutProps.omit({
2611
2635
  pcbOffsetY: true,
2612
2636
  pcbRotation: true
2613
2637
  }).extend({
2614
- x1: distance42,
2615
- y1: distance42,
2616
- x2: distance42,
2617
- y2: distance42,
2618
- strokeWidth: distance42.optional(),
2619
- color: z115.string().optional(),
2620
- isDashed: z115.boolean().optional()
2638
+ x1: distance44,
2639
+ y1: distance44,
2640
+ x2: distance44,
2641
+ y2: distance44,
2642
+ strokeWidth: distance44.optional(),
2643
+ color: z118.string().optional(),
2644
+ isDashed: z118.boolean().optional()
2621
2645
  });
2622
2646
  expectTypesMatch(true);
2623
2647
 
2624
2648
  // lib/components/pcb-note-dimension.ts
2625
- import { distance as distance43, length as length12 } from "circuit-json";
2626
- import { z as z116 } from "zod";
2627
- var dimensionTarget2 = z116.union([z116.string(), point]);
2649
+ import { distance as distance45, length as length12 } from "circuit-json";
2650
+ import { z as z119 } from "zod";
2651
+ var dimensionTarget2 = z119.union([z119.string(), point]);
2628
2652
  var pcbNoteDimensionProps = pcbLayoutProps.omit({
2629
2653
  pcbLeftEdgeX: true,
2630
2654
  pcbRightEdgeX: true,
@@ -2638,93 +2662,93 @@ var pcbNoteDimensionProps = pcbLayoutProps.omit({
2638
2662
  }).extend({
2639
2663
  from: dimensionTarget2,
2640
2664
  to: dimensionTarget2,
2641
- text: z116.string().optional(),
2642
- offset: distance43.optional(),
2643
- font: z116.enum(["tscircuit2024"]).optional(),
2665
+ text: z119.string().optional(),
2666
+ offset: distance45.optional(),
2667
+ font: z119.enum(["tscircuit2024"]).optional(),
2644
2668
  fontSize: length12.optional(),
2645
- color: z116.string().optional(),
2646
- arrowSize: distance43.optional(),
2647
- units: z116.enum(["in", "mm"]).optional(),
2648
- outerEdgeToEdge: z116.literal(true).optional(),
2649
- centerToCenter: z116.literal(true).optional(),
2650
- innerEdgeToEdge: z116.literal(true).optional()
2669
+ color: z119.string().optional(),
2670
+ arrowSize: distance45.optional(),
2671
+ units: z119.enum(["in", "mm"]).optional(),
2672
+ outerEdgeToEdge: z119.literal(true).optional(),
2673
+ centerToCenter: z119.literal(true).optional(),
2674
+ innerEdgeToEdge: z119.literal(true).optional()
2651
2675
  });
2652
2676
  expectTypesMatch(
2653
2677
  true
2654
2678
  );
2655
2679
 
2656
2680
  // lib/platformConfig.ts
2657
- import { z as z117 } from "zod";
2658
- var unvalidatedCircuitJson = z117.array(z117.any()).describe("Circuit JSON");
2659
- var footprintLibraryResult = z117.object({
2660
- footprintCircuitJson: z117.array(z117.any()),
2681
+ import { z as z120 } from "zod";
2682
+ var unvalidatedCircuitJson = z120.array(z120.any()).describe("Circuit JSON");
2683
+ var footprintLibraryResult = z120.object({
2684
+ footprintCircuitJson: z120.array(z120.any()),
2661
2685
  cadModel: cadModelProp.optional()
2662
2686
  });
2663
- var pathToCircuitJsonFn = z117.function().args(z117.string()).returns(z117.promise(footprintLibraryResult)).or(
2664
- z117.function().args(
2665
- z117.string(),
2666
- z117.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
2667
- ).returns(z117.promise(footprintLibraryResult))
2687
+ var pathToCircuitJsonFn = z120.function().args(z120.string()).returns(z120.promise(footprintLibraryResult)).or(
2688
+ z120.function().args(
2689
+ z120.string(),
2690
+ z120.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
2691
+ ).returns(z120.promise(footprintLibraryResult))
2668
2692
  ).describe("A function that takes a path and returns Circuit JSON");
2669
- var footprintFileParserEntry = z117.object({
2670
- loadFromUrl: z117.function().args(z117.string()).returns(z117.promise(footprintLibraryResult)).describe(
2693
+ var footprintFileParserEntry = z120.object({
2694
+ loadFromUrl: z120.function().args(z120.string()).returns(z120.promise(footprintLibraryResult)).describe(
2671
2695
  "A function that takes a footprint file URL and returns Circuit JSON"
2672
2696
  )
2673
2697
  });
2674
- var spiceEngineSimulationResult = z117.object({
2675
- engineVersionString: z117.string().optional(),
2698
+ var spiceEngineSimulationResult = z120.object({
2699
+ engineVersionString: z120.string().optional(),
2676
2700
  simulationResultCircuitJson: unvalidatedCircuitJson
2677
2701
  });
2678
- var spiceEngineZod = z117.object({
2679
- simulate: z117.function().args(z117.string()).returns(z117.promise(spiceEngineSimulationResult)).describe(
2702
+ var spiceEngineZod = z120.object({
2703
+ simulate: z120.function().args(z120.string()).returns(z120.promise(spiceEngineSimulationResult)).describe(
2680
2704
  "A function that takes a SPICE string and returns a simulation result"
2681
2705
  )
2682
2706
  });
2683
- var defaultSpiceEngine = z117.custom(
2707
+ var defaultSpiceEngine = z120.custom(
2684
2708
  (value) => typeof value === "string"
2685
2709
  );
2686
- var autorouterInstance = z117.object({
2687
- run: z117.function().args().returns(z117.promise(z117.unknown())).describe("Run the autorouter"),
2688
- getOutputSimpleRouteJson: z117.function().args().returns(z117.promise(z117.any())).describe("Get the resulting SimpleRouteJson")
2710
+ var autorouterInstance = z120.object({
2711
+ run: z120.function().args().returns(z120.promise(z120.unknown())).describe("Run the autorouter"),
2712
+ getOutputSimpleRouteJson: z120.function().args().returns(z120.promise(z120.any())).describe("Get the resulting SimpleRouteJson")
2689
2713
  });
2690
- var autorouterDefinition = z117.object({
2691
- createAutorouter: z117.function().args(z117.any(), z117.any().optional()).returns(z117.union([autorouterInstance, z117.promise(autorouterInstance)])).describe("Create an autorouter instance")
2714
+ var autorouterDefinition = z120.object({
2715
+ createAutorouter: z120.function().args(z120.any(), z120.any().optional()).returns(z120.union([autorouterInstance, z120.promise(autorouterInstance)])).describe("Create an autorouter instance")
2692
2716
  });
2693
- var platformConfig = z117.object({
2717
+ var platformConfig = z120.object({
2694
2718
  partsEngine: partsEngine.optional(),
2695
2719
  autorouter: autorouterProp.optional(),
2696
- autorouterMap: z117.record(z117.string(), autorouterDefinition).optional(),
2697
- registryApiUrl: z117.string().optional(),
2698
- cloudAutorouterUrl: z117.string().optional(),
2699
- projectName: z117.string().optional(),
2700
- projectBaseUrl: z117.string().optional(),
2701
- version: z117.string().optional(),
2702
- url: z117.string().optional(),
2703
- printBoardInformationToSilkscreen: z117.boolean().optional(),
2704
- includeBoardFiles: z117.array(z117.string()).describe(
2720
+ autorouterMap: z120.record(z120.string(), autorouterDefinition).optional(),
2721
+ registryApiUrl: z120.string().optional(),
2722
+ cloudAutorouterUrl: z120.string().optional(),
2723
+ projectName: z120.string().optional(),
2724
+ projectBaseUrl: z120.string().optional(),
2725
+ version: z120.string().optional(),
2726
+ url: z120.string().optional(),
2727
+ printBoardInformationToSilkscreen: z120.boolean().optional(),
2728
+ includeBoardFiles: z120.array(z120.string()).describe(
2705
2729
  'The board files to automatically build with "tsci build", defaults to ["**/*.circuit.tsx"]. Can be an array of files or globs'
2706
2730
  ).optional(),
2707
- snapshotsDir: z117.string().describe(
2731
+ snapshotsDir: z120.string().describe(
2708
2732
  'The directory where snapshots are stored for "tsci snapshot", defaults to "tests/__snapshots__"'
2709
2733
  ).optional(),
2710
2734
  defaultSpiceEngine: defaultSpiceEngine.optional(),
2711
- localCacheEngine: z117.any().optional(),
2712
- pcbDisabled: z117.boolean().optional(),
2713
- schematicDisabled: z117.boolean().optional(),
2714
- partsEngineDisabled: z117.boolean().optional(),
2715
- spiceEngineMap: z117.record(z117.string(), spiceEngineZod).optional(),
2716
- footprintLibraryMap: z117.record(
2717
- z117.string(),
2718
- z117.union([
2735
+ localCacheEngine: z120.any().optional(),
2736
+ pcbDisabled: z120.boolean().optional(),
2737
+ schematicDisabled: z120.boolean().optional(),
2738
+ partsEngineDisabled: z120.boolean().optional(),
2739
+ spiceEngineMap: z120.record(z120.string(), spiceEngineZod).optional(),
2740
+ footprintLibraryMap: z120.record(
2741
+ z120.string(),
2742
+ z120.union([
2719
2743
  pathToCircuitJsonFn,
2720
- z117.record(
2721
- z117.string(),
2722
- z117.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
2744
+ z120.record(
2745
+ z120.string(),
2746
+ z120.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
2723
2747
  )
2724
2748
  ])
2725
2749
  ).optional(),
2726
- footprintFileParserMap: z117.record(z117.string(), footprintFileParserEntry).optional(),
2727
- resolveProjectStaticFileImportUrl: z117.function().args(z117.string()).returns(z117.promise(z117.string())).describe(
2750
+ footprintFileParserMap: z120.record(z120.string(), footprintFileParserEntry).optional(),
2751
+ resolveProjectStaticFileImportUrl: z120.function().args(z120.string()).returns(z120.promise(z120.string())).describe(
2728
2752
  "A function that returns a string URL for static files for the project"
2729
2753
  ).optional()
2730
2754
  });
@@ -2785,7 +2809,9 @@ export {
2785
2809
  constraintProps,
2786
2810
  copperPourProps,
2787
2811
  copperTextProps,
2812
+ courtyardCircleProps,
2788
2813
  courtyardOutlineProps,
2814
+ courtyardPillProps,
2789
2815
  courtyardRectProps,
2790
2816
  crystalPins,
2791
2817
  crystalProps,
@@ -2851,6 +2877,7 @@ export {
2851
2877
  manual_trace_hint,
2852
2878
  mosfetPins,
2853
2879
  mosfetProps,
2880
+ mountedboardProps,
2854
2881
  netAliasProps,
2855
2882
  netLabelProps,
2856
2883
  netProps,