@tscircuit/core 0.0.182 → 0.0.184

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +556 -137
  2. package/dist/index.js +100 -9
  3. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _tscircuit_props from '@tscircuit/props';
2
- import { subcircuitGroupProps, traceProps, SupplierPartNumbers, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, diodeProps, jumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, smtPadProps, traceHintProps, viaProps, batteryProps, pinHeaderProps, inductorProps, potentiometerProps, CapacitorProps, ChipProps, ResistorProps } from '@tscircuit/props';
2
+ import { subcircuitGroupProps, traceProps, SupplierPartNumbers, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, diodeProps, jumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, subcircuitProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, smtPadProps, traceHintProps, viaProps, batteryProps, pinHeaderProps, inductorProps, potentiometerProps, pushButtonProps, CapacitorProps, ChipProps, ResistorProps } from '@tscircuit/props';
3
3
  import React, { ReactElement } from 'react';
4
4
  import * as zod from 'zod';
5
5
  import { z, ZodType } from 'zod';
@@ -291,7 +291,18 @@ declare abstract class PrimitiveComponent<ZodProps extends ZodType = any> extend
291
291
  schematicPrimitive?: boolean;
292
292
  }): T | null;
293
293
  getAvailablePcbLayers(): string[];
294
+ /**
295
+ * Returns all descendants
296
+ *
297
+ * NOTE: This crosses subcircuit boundaries, you may want to use
298
+ * getSelectableDescendants instead
299
+ */
294
300
  getDescendants(): PrimitiveComponent[];
301
+ /**
302
+ * Returns all descendants that are accessible without crossing a subcircuit
303
+ * boundary
304
+ */
305
+ getSelectableDescendants(): PrimitiveComponent[];
295
306
  /**
296
307
  * Return the number of pins in this component, this is important for
297
308
  * NormalComponents
@@ -876,7 +887,7 @@ declare class Board extends Group<typeof boardProps> {
876
887
  get isSubcircuit(): boolean;
877
888
  get config(): {
878
889
  componentName: string;
879
- zodProps: z.ZodObject<z.objectUtil.extendShape<Omit<z.objectUtil.extendShape<z.objectUtil.extendShape<{
890
+ zodProps: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
880
891
  pcbX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
881
892
  pcbY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
882
893
  pcbRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
@@ -897,7 +908,6 @@ declare class Board extends Group<typeof boardProps> {
897
908
  name: z.ZodOptional<z.ZodString>;
898
909
  children: z.ZodOptional<z.ZodAny>;
899
910
  }>, {
900
- subcircuit: z.ZodLiteral<true>;
901
911
  layout: z.ZodOptional<z.ZodType<_tscircuit_layout.LayoutBuilder, z.ZodTypeDef, _tscircuit_layout.LayoutBuilder>>;
902
912
  manualEdits: z.ZodOptional<z.ZodType<_tscircuit_layout.ManualEditFile, z.ZodTypeDef, _tscircuit_layout.ManualEditFile>>;
903
913
  schAutoLayoutEnabled: z.ZodOptional<z.ZodBoolean>;
@@ -905,7 +915,7 @@ declare class Board extends Group<typeof boardProps> {
905
915
  defaultTraceWidth: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
906
916
  minTraceWidth: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
907
917
  partsEngine: z.ZodOptional<z.ZodType<_tscircuit_props.PartsEngine, z.ZodTypeDef, _tscircuit_props.PartsEngine>>;
908
- }>, "subcircuit">, {
918
+ }>, {
909
919
  width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
910
920
  height: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
911
921
  outline: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -1683,44 +1693,44 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
1683
1693
  topPinCount: zod.ZodOptional<zod.ZodNumber>;
1684
1694
  bottomPinCount: zod.ZodOptional<zod.ZodNumber>;
1685
1695
  leftSide: zod.ZodOptional<zod.ZodObject<{
1686
- pins: zod.ZodUnion<[zod.ZodArray<zod.ZodNumber, "many">, zod.ZodArray<zod.ZodString, "many">]>;
1696
+ pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
1687
1697
  direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
1688
1698
  }, "strip", zod.ZodTypeAny, {
1689
1699
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1690
- pins: string[] | number[];
1700
+ pins: (string | number)[];
1691
1701
  }, {
1692
1702
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1693
- pins: string[] | number[];
1703
+ pins: (string | number)[];
1694
1704
  }>>;
1695
1705
  rightSide: zod.ZodOptional<zod.ZodObject<{
1696
- pins: zod.ZodUnion<[zod.ZodArray<zod.ZodNumber, "many">, zod.ZodArray<zod.ZodString, "many">]>;
1706
+ pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
1697
1707
  direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
1698
1708
  }, "strip", zod.ZodTypeAny, {
1699
1709
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1700
- pins: string[] | number[];
1710
+ pins: (string | number)[];
1701
1711
  }, {
1702
1712
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1703
- pins: string[] | number[];
1713
+ pins: (string | number)[];
1704
1714
  }>>;
1705
1715
  topSide: zod.ZodOptional<zod.ZodObject<{
1706
- pins: zod.ZodUnion<[zod.ZodArray<zod.ZodNumber, "many">, zod.ZodArray<zod.ZodString, "many">]>;
1716
+ pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
1707
1717
  direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
1708
1718
  }, "strip", zod.ZodTypeAny, {
1709
1719
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1710
- pins: string[] | number[];
1720
+ pins: (string | number)[];
1711
1721
  }, {
1712
1722
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1713
- pins: string[] | number[];
1723
+ pins: (string | number)[];
1714
1724
  }>>;
1715
1725
  bottomSide: zod.ZodOptional<zod.ZodObject<{
1716
- pins: zod.ZodUnion<[zod.ZodArray<zod.ZodNumber, "many">, zod.ZodArray<zod.ZodString, "many">]>;
1726
+ pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
1717
1727
  direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
1718
1728
  }, "strip", zod.ZodTypeAny, {
1719
1729
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1720
- pins: string[] | number[];
1730
+ pins: (string | number)[];
1721
1731
  }, {
1722
1732
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1723
- pins: string[] | number[];
1733
+ pins: (string | number)[];
1724
1734
  }>>;
1725
1735
  }, "strip", zod.ZodTypeAny, {
1726
1736
  leftSize?: number | undefined;
@@ -1729,19 +1739,19 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
1729
1739
  bottomSize?: number | undefined;
1730
1740
  leftSide?: {
1731
1741
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1732
- pins: string[] | number[];
1742
+ pins: (string | number)[];
1733
1743
  } | undefined;
1734
1744
  topSide?: {
1735
1745
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1736
- pins: string[] | number[];
1746
+ pins: (string | number)[];
1737
1747
  } | undefined;
1738
1748
  rightSide?: {
1739
1749
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1740
- pins: string[] | number[];
1750
+ pins: (string | number)[];
1741
1751
  } | undefined;
1742
1752
  bottomSide?: {
1743
1753
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1744
- pins: string[] | number[];
1754
+ pins: (string | number)[];
1745
1755
  } | undefined;
1746
1756
  leftPinCount?: number | undefined;
1747
1757
  rightPinCount?: number | undefined;
@@ -1754,19 +1764,19 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
1754
1764
  bottomSize?: number | undefined;
1755
1765
  leftSide?: {
1756
1766
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1757
- pins: string[] | number[];
1767
+ pins: (string | number)[];
1758
1768
  } | undefined;
1759
1769
  topSide?: {
1760
1770
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1761
- pins: string[] | number[];
1771
+ pins: (string | number)[];
1762
1772
  } | undefined;
1763
1773
  rightSide?: {
1764
1774
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1765
- pins: string[] | number[];
1775
+ pins: (string | number)[];
1766
1776
  } | undefined;
1767
1777
  bottomSide?: {
1768
1778
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1769
- pins: string[] | number[];
1779
+ pins: (string | number)[];
1770
1780
  } | undefined;
1771
1781
  leftPinCount?: number | undefined;
1772
1782
  rightPinCount?: number | undefined;
@@ -1868,19 +1878,19 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
1868
1878
  bottomSize?: number | undefined;
1869
1879
  leftSide?: {
1870
1880
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1871
- pins: string[] | number[];
1881
+ pins: (string | number)[];
1872
1882
  } | undefined;
1873
1883
  topSide?: {
1874
1884
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1875
- pins: string[] | number[];
1885
+ pins: (string | number)[];
1876
1886
  } | undefined;
1877
1887
  rightSide?: {
1878
1888
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1879
- pins: string[] | number[];
1889
+ pins: (string | number)[];
1880
1890
  } | undefined;
1881
1891
  bottomSide?: {
1882
1892
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1883
- pins: string[] | number[];
1893
+ pins: (string | number)[];
1884
1894
  } | undefined;
1885
1895
  leftPinCount?: number | undefined;
1886
1896
  rightPinCount?: number | undefined;
@@ -1974,19 +1984,19 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
1974
1984
  bottomSize?: number | undefined;
1975
1985
  leftSide?: {
1976
1986
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1977
- pins: string[] | number[];
1987
+ pins: (string | number)[];
1978
1988
  } | undefined;
1979
1989
  topSide?: {
1980
1990
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1981
- pins: string[] | number[];
1991
+ pins: (string | number)[];
1982
1992
  } | undefined;
1983
1993
  rightSide?: {
1984
1994
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1985
- pins: string[] | number[];
1995
+ pins: (string | number)[];
1986
1996
  } | undefined;
1987
1997
  bottomSide?: {
1988
1998
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1989
- pins: string[] | number[];
1999
+ pins: (string | number)[];
1990
2000
  } | undefined;
1991
2001
  leftPinCount?: number | undefined;
1992
2002
  rightPinCount?: number | undefined;
@@ -2677,7 +2687,7 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
2677
2687
  symbolName: zod.ZodOptional<zod.ZodString>;
2678
2688
  }>, {
2679
2689
  manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
2680
- pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, zod.ZodString>>;
2690
+ pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>>;
2681
2691
  schPinStyle: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodObject<{
2682
2692
  leftMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2683
2693
  rightMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -2708,44 +2718,44 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
2708
2718
  topPinCount: zod.ZodOptional<zod.ZodNumber>;
2709
2719
  bottomPinCount: zod.ZodOptional<zod.ZodNumber>;
2710
2720
  leftSide: zod.ZodOptional<zod.ZodObject<{
2711
- pins: zod.ZodUnion<[zod.ZodArray<zod.ZodNumber, "many">, zod.ZodArray<zod.ZodString, "many">]>;
2721
+ pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
2712
2722
  direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
2713
2723
  }, "strip", zod.ZodTypeAny, {
2714
2724
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2715
- pins: string[] | number[];
2725
+ pins: (string | number)[];
2716
2726
  }, {
2717
2727
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2718
- pins: string[] | number[];
2728
+ pins: (string | number)[];
2719
2729
  }>>;
2720
2730
  rightSide: zod.ZodOptional<zod.ZodObject<{
2721
- pins: zod.ZodUnion<[zod.ZodArray<zod.ZodNumber, "many">, zod.ZodArray<zod.ZodString, "many">]>;
2731
+ pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
2722
2732
  direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
2723
2733
  }, "strip", zod.ZodTypeAny, {
2724
2734
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2725
- pins: string[] | number[];
2735
+ pins: (string | number)[];
2726
2736
  }, {
2727
2737
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2728
- pins: string[] | number[];
2738
+ pins: (string | number)[];
2729
2739
  }>>;
2730
2740
  topSide: zod.ZodOptional<zod.ZodObject<{
2731
- pins: zod.ZodUnion<[zod.ZodArray<zod.ZodNumber, "many">, zod.ZodArray<zod.ZodString, "many">]>;
2741
+ pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
2732
2742
  direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
2733
2743
  }, "strip", zod.ZodTypeAny, {
2734
2744
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2735
- pins: string[] | number[];
2745
+ pins: (string | number)[];
2736
2746
  }, {
2737
2747
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2738
- pins: string[] | number[];
2748
+ pins: (string | number)[];
2739
2749
  }>>;
2740
2750
  bottomSide: zod.ZodOptional<zod.ZodObject<{
2741
- pins: zod.ZodUnion<[zod.ZodArray<zod.ZodNumber, "many">, zod.ZodArray<zod.ZodString, "many">]>;
2751
+ pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
2742
2752
  direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
2743
2753
  }, "strip", zod.ZodTypeAny, {
2744
2754
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2745
- pins: string[] | number[];
2755
+ pins: (string | number)[];
2746
2756
  }, {
2747
2757
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2748
- pins: string[] | number[];
2758
+ pins: (string | number)[];
2749
2759
  }>>;
2750
2760
  }, "strip", zod.ZodTypeAny, {
2751
2761
  leftSize?: number | undefined;
@@ -2754,19 +2764,19 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
2754
2764
  bottomSize?: number | undefined;
2755
2765
  leftSide?: {
2756
2766
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2757
- pins: string[] | number[];
2767
+ pins: (string | number)[];
2758
2768
  } | undefined;
2759
2769
  topSide?: {
2760
2770
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2761
- pins: string[] | number[];
2771
+ pins: (string | number)[];
2762
2772
  } | undefined;
2763
2773
  rightSide?: {
2764
2774
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2765
- pins: string[] | number[];
2775
+ pins: (string | number)[];
2766
2776
  } | undefined;
2767
2777
  bottomSide?: {
2768
2778
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2769
- pins: string[] | number[];
2779
+ pins: (string | number)[];
2770
2780
  } | undefined;
2771
2781
  leftPinCount?: number | undefined;
2772
2782
  rightPinCount?: number | undefined;
@@ -2779,19 +2789,19 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
2779
2789
  bottomSize?: number | undefined;
2780
2790
  leftSide?: {
2781
2791
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2782
- pins: string[] | number[];
2792
+ pins: (string | number)[];
2783
2793
  } | undefined;
2784
2794
  topSide?: {
2785
2795
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2786
- pins: string[] | number[];
2796
+ pins: (string | number)[];
2787
2797
  } | undefined;
2788
2798
  rightSide?: {
2789
2799
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2790
- pins: string[] | number[];
2800
+ pins: (string | number)[];
2791
2801
  } | undefined;
2792
2802
  bottomSide?: {
2793
2803
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2794
- pins: string[] | number[];
2804
+ pins: (string | number)[];
2795
2805
  } | undefined;
2796
2806
  leftPinCount?: number | undefined;
2797
2807
  rightPinCount?: number | undefined;
@@ -2866,7 +2876,7 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
2866
2876
  children?: any;
2867
2877
  symbolName?: string | undefined;
2868
2878
  manufacturerPartNumber?: string | undefined;
2869
- pinLabels?: Record<string | number, string> | undefined;
2879
+ pinLabels?: Record<string | number, string | string[]> | undefined;
2870
2880
  schPortArrangement?: {
2871
2881
  leftSize?: number | undefined;
2872
2882
  topSize?: number | undefined;
@@ -2874,19 +2884,19 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
2874
2884
  bottomSize?: number | undefined;
2875
2885
  leftSide?: {
2876
2886
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2877
- pins: string[] | number[];
2887
+ pins: (string | number)[];
2878
2888
  } | undefined;
2879
2889
  topSide?: {
2880
2890
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2881
- pins: string[] | number[];
2891
+ pins: (string | number)[];
2882
2892
  } | undefined;
2883
2893
  rightSide?: {
2884
2894
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2885
- pins: string[] | number[];
2895
+ pins: (string | number)[];
2886
2896
  } | undefined;
2887
2897
  bottomSide?: {
2888
2898
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2889
- pins: string[] | number[];
2899
+ pins: (string | number)[];
2890
2900
  } | undefined;
2891
2901
  leftPinCount?: number | undefined;
2892
2902
  rightPinCount?: number | undefined;
@@ -2973,7 +2983,7 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
2973
2983
  children?: any;
2974
2984
  symbolName?: string | undefined;
2975
2985
  manufacturerPartNumber?: string | undefined;
2976
- pinLabels?: Record<string | number, string> | undefined;
2986
+ pinLabels?: Record<string | number, string | string[]> | undefined;
2977
2987
  schPortArrangement?: {
2978
2988
  leftSize?: number | undefined;
2979
2989
  topSize?: number | undefined;
@@ -2981,19 +2991,19 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
2981
2991
  bottomSize?: number | undefined;
2982
2992
  leftSide?: {
2983
2993
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2984
- pins: string[] | number[];
2994
+ pins: (string | number)[];
2985
2995
  } | undefined;
2986
2996
  topSide?: {
2987
2997
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2988
- pins: string[] | number[];
2998
+ pins: (string | number)[];
2989
2999
  } | undefined;
2990
3000
  rightSide?: {
2991
3001
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2992
- pins: string[] | number[];
3002
+ pins: (string | number)[];
2993
3003
  } | undefined;
2994
3004
  bottomSide?: {
2995
3005
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2996
- pins: string[] | number[];
3006
+ pins: (string | number)[];
2997
3007
  } | undefined;
2998
3008
  leftPinCount?: number | undefined;
2999
3009
  rightPinCount?: number | undefined;
@@ -4500,6 +4510,10 @@ declare class Footprint extends PrimitiveComponent<typeof footprintProps> {
4500
4510
  doInitialPcbFootprintLayout(): void;
4501
4511
  }
4502
4512
 
4513
+ declare class Subcircuit extends Group {
4514
+ constructor(props: z.input<typeof subcircuitProps>);
4515
+ }
4516
+
4503
4517
  declare class Hole extends PrimitiveComponent<typeof holeProps> {
4504
4518
  pcb_hole_id: string | null;
4505
4519
  isPcbPrimitive: boolean;
@@ -5456,34 +5470,34 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5456
5470
  get config(): {
5457
5471
  componentName: string;
5458
5472
  schematicSymbolName: BaseSymbolName;
5459
- zodProps: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
5460
- pcbX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
5461
- pcbY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
5462
- pcbRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
5463
- schX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
5464
- schY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
5465
- schRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
5466
- layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
5467
- name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
5468
- }, "strip", z.ZodTypeAny, {
5473
+ zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
5474
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5475
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5476
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5477
+ schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5478
+ schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5479
+ schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5480
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
5481
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
5482
+ }, "strip", zod.ZodTypeAny, {
5469
5483
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5470
5484
  }, {
5471
5485
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5472
5486
  }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
5473
5487
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5474
5488
  }>>;
5475
- footprint: z.ZodOptional<z.ZodType<_tscircuit_props.Footprint, z.ZodTypeDef, _tscircuit_props.Footprint>>;
5489
+ footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
5476
5490
  }, {
5477
- supplierPartNumbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
5491
+ supplierPartNumbers: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
5478
5492
  }>, {
5479
- key: z.ZodOptional<z.ZodAny>;
5480
- name: z.ZodString;
5481
- cadModel: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<z.objectUtil.extendShape<{
5482
- rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
5483
- x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
5484
- y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
5485
- z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
5486
- }, "strip", z.ZodTypeAny, {
5493
+ key: zod.ZodOptional<zod.ZodAny>;
5494
+ name: zod.ZodString;
5495
+ cadModel: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodObject<zod.objectUtil.extendShape<{
5496
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
5497
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5498
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5499
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5500
+ }, "strip", zod.ZodTypeAny, {
5487
5501
  x: string | number;
5488
5502
  y: string | number;
5489
5503
  z: string | number;
@@ -5492,11 +5506,11 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5492
5506
  y: string | number;
5493
5507
  z: string | number;
5494
5508
  }>]>>;
5495
- positionOffset: z.ZodOptional<z.ZodObject<{
5496
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5497
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5498
- z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5499
- }, "strip", z.ZodTypeAny, {
5509
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
5510
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5511
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5512
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5513
+ }, "strip", zod.ZodTypeAny, {
5500
5514
  x: number;
5501
5515
  y: number;
5502
5516
  z: number;
@@ -5505,11 +5519,11 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5505
5519
  y: string | number;
5506
5520
  z: string | number;
5507
5521
  }>>;
5508
- size: z.ZodOptional<z.ZodObject<{
5509
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5510
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5511
- z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5512
- }, "strip", z.ZodTypeAny, {
5522
+ size: zod.ZodOptional<zod.ZodObject<{
5523
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5524
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5525
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5526
+ }, "strip", zod.ZodTypeAny, {
5513
5527
  x: number;
5514
5528
  y: number;
5515
5529
  z: number;
@@ -5519,8 +5533,8 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5519
5533
  z: string | number;
5520
5534
  }>>;
5521
5535
  }, {
5522
- stlUrl: z.ZodString;
5523
- }>, "strip", z.ZodTypeAny, {
5536
+ stlUrl: zod.ZodString;
5537
+ }>, "strip", zod.ZodTypeAny, {
5524
5538
  stlUrl: string;
5525
5539
  rotationOffset?: number | {
5526
5540
  x: string | number;
@@ -5554,12 +5568,12 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5554
5568
  y: string | number;
5555
5569
  z: string | number;
5556
5570
  } | undefined;
5557
- }>, z.ZodObject<z.objectUtil.extendShape<{
5558
- rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
5559
- x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
5560
- y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
5561
- z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
5562
- }, "strip", z.ZodTypeAny, {
5571
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
5572
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
5573
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5574
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5575
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5576
+ }, "strip", zod.ZodTypeAny, {
5563
5577
  x: string | number;
5564
5578
  y: string | number;
5565
5579
  z: string | number;
@@ -5568,11 +5582,11 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5568
5582
  y: string | number;
5569
5583
  z: string | number;
5570
5584
  }>]>>;
5571
- positionOffset: z.ZodOptional<z.ZodObject<{
5572
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5573
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5574
- z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5575
- }, "strip", z.ZodTypeAny, {
5585
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
5586
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5587
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5588
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5589
+ }, "strip", zod.ZodTypeAny, {
5576
5590
  x: number;
5577
5591
  y: number;
5578
5592
  z: number;
@@ -5581,11 +5595,11 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5581
5595
  y: string | number;
5582
5596
  z: string | number;
5583
5597
  }>>;
5584
- size: z.ZodOptional<z.ZodObject<{
5585
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5586
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5587
- z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5588
- }, "strip", z.ZodTypeAny, {
5598
+ size: zod.ZodOptional<zod.ZodObject<{
5599
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5600
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5601
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5602
+ }, "strip", zod.ZodTypeAny, {
5589
5603
  x: number;
5590
5604
  y: number;
5591
5605
  z: number;
@@ -5595,9 +5609,9 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5595
5609
  z: string | number;
5596
5610
  }>>;
5597
5611
  }, {
5598
- objUrl: z.ZodString;
5599
- mtlUrl: z.ZodOptional<z.ZodString>;
5600
- }>, "strip", z.ZodTypeAny, {
5612
+ objUrl: zod.ZodString;
5613
+ mtlUrl: zod.ZodOptional<zod.ZodString>;
5614
+ }>, "strip", zod.ZodTypeAny, {
5601
5615
  objUrl: string;
5602
5616
  rotationOffset?: number | {
5603
5617
  x: string | number;
@@ -5633,12 +5647,12 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5633
5647
  z: string | number;
5634
5648
  } | undefined;
5635
5649
  mtlUrl?: string | undefined;
5636
- }>, z.ZodObject<z.objectUtil.extendShape<{
5637
- rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
5638
- x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
5639
- y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
5640
- z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
5641
- }, "strip", z.ZodTypeAny, {
5650
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
5651
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
5652
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5653
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5654
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5655
+ }, "strip", zod.ZodTypeAny, {
5642
5656
  x: string | number;
5643
5657
  y: string | number;
5644
5658
  z: string | number;
@@ -5647,11 +5661,11 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5647
5661
  y: string | number;
5648
5662
  z: string | number;
5649
5663
  }>]>>;
5650
- positionOffset: z.ZodOptional<z.ZodObject<{
5651
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5652
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5653
- z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5654
- }, "strip", z.ZodTypeAny, {
5664
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
5665
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5666
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5667
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5668
+ }, "strip", zod.ZodTypeAny, {
5655
5669
  x: number;
5656
5670
  y: number;
5657
5671
  z: number;
@@ -5660,11 +5674,11 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5660
5674
  y: string | number;
5661
5675
  z: string | number;
5662
5676
  }>>;
5663
- size: z.ZodOptional<z.ZodObject<{
5664
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5665
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5666
- z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5667
- }, "strip", z.ZodTypeAny, {
5677
+ size: zod.ZodOptional<zod.ZodObject<{
5678
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5679
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5680
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5681
+ }, "strip", zod.ZodTypeAny, {
5668
5682
  x: number;
5669
5683
  y: number;
5670
5684
  z: number;
@@ -5674,8 +5688,8 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5674
5688
  z: string | number;
5675
5689
  }>>;
5676
5690
  }, {
5677
- jscad: z.ZodRecord<z.ZodString, z.ZodAny>;
5678
- }>, "strip", z.ZodTypeAny, {
5691
+ jscad: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
5692
+ }>, "strip", zod.ZodTypeAny, {
5679
5693
  jscad: Record<string, any>;
5680
5694
  rotationOffset?: number | {
5681
5695
  x: string | number;
@@ -5710,11 +5724,11 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5710
5724
  z: string | number;
5711
5725
  } | undefined;
5712
5726
  }>]>>;
5713
- children: z.ZodOptional<z.ZodAny>;
5714
- symbolName: z.ZodOptional<z.ZodString>;
5727
+ children: zod.ZodOptional<zod.ZodAny>;
5728
+ symbolName: zod.ZodOptional<zod.ZodString>;
5715
5729
  }>, {
5716
- capacity: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number, string | number>>;
5717
- }>, "strip", z.ZodTypeAny, {
5730
+ capacity: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, number, string | number>>;
5731
+ }>, "strip", zod.ZodTypeAny, {
5718
5732
  name: string;
5719
5733
  pcbX?: number | undefined;
5720
5734
  pcbY?: number | undefined;
@@ -7106,6 +7120,409 @@ declare class Potentiometer extends NormalComponent<typeof potentiometerProps, P
7106
7120
  doInitialSourceRender(): void;
7107
7121
  }
7108
7122
 
7123
+ declare class PushButton extends NormalComponent<typeof pushButtonProps, PassivePorts> {
7124
+ get config(): {
7125
+ componentName: string;
7126
+ schematicSymbolName: BaseSymbolName;
7127
+ zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
7128
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7129
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7130
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7131
+ schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7132
+ schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7133
+ schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7134
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
7135
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
7136
+ }, "strip", zod.ZodTypeAny, {
7137
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7138
+ }, {
7139
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7140
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
7141
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7142
+ }>>;
7143
+ footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
7144
+ }, {
7145
+ supplierPartNumbers: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
7146
+ }>, {
7147
+ key: zod.ZodOptional<zod.ZodAny>;
7148
+ name: zod.ZodString;
7149
+ cadModel: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodObject<zod.objectUtil.extendShape<{
7150
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
7151
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7152
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7153
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7154
+ }, "strip", zod.ZodTypeAny, {
7155
+ x: string | number;
7156
+ y: string | number;
7157
+ z: string | number;
7158
+ }, {
7159
+ x: string | number;
7160
+ y: string | number;
7161
+ z: string | number;
7162
+ }>]>>;
7163
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
7164
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7165
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7166
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7167
+ }, "strip", zod.ZodTypeAny, {
7168
+ x: number;
7169
+ y: number;
7170
+ z: number;
7171
+ }, {
7172
+ x: string | number;
7173
+ y: string | number;
7174
+ z: string | number;
7175
+ }>>;
7176
+ size: zod.ZodOptional<zod.ZodObject<{
7177
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7178
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7179
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7180
+ }, "strip", zod.ZodTypeAny, {
7181
+ x: number;
7182
+ y: number;
7183
+ z: number;
7184
+ }, {
7185
+ x: string | number;
7186
+ y: string | number;
7187
+ z: string | number;
7188
+ }>>;
7189
+ }, {
7190
+ stlUrl: zod.ZodString;
7191
+ }>, "strip", zod.ZodTypeAny, {
7192
+ stlUrl: string;
7193
+ rotationOffset?: number | {
7194
+ x: string | number;
7195
+ y: string | number;
7196
+ z: string | number;
7197
+ } | undefined;
7198
+ positionOffset?: {
7199
+ x: number;
7200
+ y: number;
7201
+ z: number;
7202
+ } | undefined;
7203
+ size?: {
7204
+ x: number;
7205
+ y: number;
7206
+ z: number;
7207
+ } | undefined;
7208
+ }, {
7209
+ stlUrl: string;
7210
+ rotationOffset?: number | {
7211
+ x: string | number;
7212
+ y: string | number;
7213
+ z: string | number;
7214
+ } | undefined;
7215
+ positionOffset?: {
7216
+ x: string | number;
7217
+ y: string | number;
7218
+ z: string | number;
7219
+ } | undefined;
7220
+ size?: {
7221
+ x: string | number;
7222
+ y: string | number;
7223
+ z: string | number;
7224
+ } | undefined;
7225
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
7226
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
7227
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7228
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7229
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7230
+ }, "strip", zod.ZodTypeAny, {
7231
+ x: string | number;
7232
+ y: string | number;
7233
+ z: string | number;
7234
+ }, {
7235
+ x: string | number;
7236
+ y: string | number;
7237
+ z: string | number;
7238
+ }>]>>;
7239
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
7240
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7241
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7242
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7243
+ }, "strip", zod.ZodTypeAny, {
7244
+ x: number;
7245
+ y: number;
7246
+ z: number;
7247
+ }, {
7248
+ x: string | number;
7249
+ y: string | number;
7250
+ z: string | number;
7251
+ }>>;
7252
+ size: zod.ZodOptional<zod.ZodObject<{
7253
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7254
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7255
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7256
+ }, "strip", zod.ZodTypeAny, {
7257
+ x: number;
7258
+ y: number;
7259
+ z: number;
7260
+ }, {
7261
+ x: string | number;
7262
+ y: string | number;
7263
+ z: string | number;
7264
+ }>>;
7265
+ }, {
7266
+ objUrl: zod.ZodString;
7267
+ mtlUrl: zod.ZodOptional<zod.ZodString>;
7268
+ }>, "strip", zod.ZodTypeAny, {
7269
+ objUrl: string;
7270
+ rotationOffset?: number | {
7271
+ x: string | number;
7272
+ y: string | number;
7273
+ z: string | number;
7274
+ } | undefined;
7275
+ positionOffset?: {
7276
+ x: number;
7277
+ y: number;
7278
+ z: number;
7279
+ } | undefined;
7280
+ size?: {
7281
+ x: number;
7282
+ y: number;
7283
+ z: number;
7284
+ } | undefined;
7285
+ mtlUrl?: string | undefined;
7286
+ }, {
7287
+ objUrl: string;
7288
+ rotationOffset?: number | {
7289
+ x: string | number;
7290
+ y: string | number;
7291
+ z: string | number;
7292
+ } | undefined;
7293
+ positionOffset?: {
7294
+ x: string | number;
7295
+ y: string | number;
7296
+ z: string | number;
7297
+ } | undefined;
7298
+ size?: {
7299
+ x: string | number;
7300
+ y: string | number;
7301
+ z: string | number;
7302
+ } | undefined;
7303
+ mtlUrl?: string | undefined;
7304
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
7305
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
7306
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7307
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7308
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7309
+ }, "strip", zod.ZodTypeAny, {
7310
+ x: string | number;
7311
+ y: string | number;
7312
+ z: string | number;
7313
+ }, {
7314
+ x: string | number;
7315
+ y: string | number;
7316
+ z: string | number;
7317
+ }>]>>;
7318
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
7319
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7320
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7321
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7322
+ }, "strip", zod.ZodTypeAny, {
7323
+ x: number;
7324
+ y: number;
7325
+ z: number;
7326
+ }, {
7327
+ x: string | number;
7328
+ y: string | number;
7329
+ z: string | number;
7330
+ }>>;
7331
+ size: zod.ZodOptional<zod.ZodObject<{
7332
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7333
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7334
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7335
+ }, "strip", zod.ZodTypeAny, {
7336
+ x: number;
7337
+ y: number;
7338
+ z: number;
7339
+ }, {
7340
+ x: string | number;
7341
+ y: string | number;
7342
+ z: string | number;
7343
+ }>>;
7344
+ }, {
7345
+ jscad: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
7346
+ }>, "strip", zod.ZodTypeAny, {
7347
+ jscad: Record<string, any>;
7348
+ rotationOffset?: number | {
7349
+ x: string | number;
7350
+ y: string | number;
7351
+ z: string | number;
7352
+ } | undefined;
7353
+ positionOffset?: {
7354
+ x: number;
7355
+ y: number;
7356
+ z: number;
7357
+ } | undefined;
7358
+ size?: {
7359
+ x: number;
7360
+ y: number;
7361
+ z: number;
7362
+ } | undefined;
7363
+ }, {
7364
+ jscad: Record<string, any>;
7365
+ rotationOffset?: number | {
7366
+ x: string | number;
7367
+ y: string | number;
7368
+ z: string | number;
7369
+ } | undefined;
7370
+ positionOffset?: {
7371
+ x: string | number;
7372
+ y: string | number;
7373
+ z: string | number;
7374
+ } | undefined;
7375
+ size?: {
7376
+ x: string | number;
7377
+ y: string | number;
7378
+ z: string | number;
7379
+ } | undefined;
7380
+ }>]>>;
7381
+ children: zod.ZodOptional<zod.ZodAny>;
7382
+ symbolName: zod.ZodOptional<zod.ZodString>;
7383
+ }>, {}>, "strip", zod.ZodTypeAny, {
7384
+ name: string;
7385
+ pcbX?: number | undefined;
7386
+ pcbY?: number | undefined;
7387
+ pcbRotation?: number | undefined;
7388
+ schX?: number | undefined;
7389
+ schY?: number | undefined;
7390
+ schRotation?: number | undefined;
7391
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
7392
+ footprint?: _tscircuit_props.Footprint | undefined;
7393
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
7394
+ key?: any;
7395
+ cadModel?: string | {
7396
+ stlUrl: string;
7397
+ rotationOffset?: number | {
7398
+ x: string | number;
7399
+ y: string | number;
7400
+ z: string | number;
7401
+ } | undefined;
7402
+ positionOffset?: {
7403
+ x: number;
7404
+ y: number;
7405
+ z: number;
7406
+ } | undefined;
7407
+ size?: {
7408
+ x: number;
7409
+ y: number;
7410
+ z: number;
7411
+ } | undefined;
7412
+ } | {
7413
+ objUrl: string;
7414
+ rotationOffset?: number | {
7415
+ x: string | number;
7416
+ y: string | number;
7417
+ z: string | number;
7418
+ } | undefined;
7419
+ positionOffset?: {
7420
+ x: number;
7421
+ y: number;
7422
+ z: number;
7423
+ } | undefined;
7424
+ size?: {
7425
+ x: number;
7426
+ y: number;
7427
+ z: number;
7428
+ } | undefined;
7429
+ mtlUrl?: string | undefined;
7430
+ } | {
7431
+ jscad: Record<string, any>;
7432
+ rotationOffset?: number | {
7433
+ x: string | number;
7434
+ y: string | number;
7435
+ z: string | number;
7436
+ } | undefined;
7437
+ positionOffset?: {
7438
+ x: number;
7439
+ y: number;
7440
+ z: number;
7441
+ } | undefined;
7442
+ size?: {
7443
+ x: number;
7444
+ y: number;
7445
+ z: number;
7446
+ } | undefined;
7447
+ } | undefined;
7448
+ children?: any;
7449
+ symbolName?: string | undefined;
7450
+ }, {
7451
+ name: string;
7452
+ pcbX?: string | number | undefined;
7453
+ pcbY?: string | number | undefined;
7454
+ pcbRotation?: string | number | undefined;
7455
+ schX?: string | number | undefined;
7456
+ schY?: string | number | undefined;
7457
+ schRotation?: string | number | undefined;
7458
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
7459
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7460
+ } | undefined;
7461
+ footprint?: _tscircuit_props.Footprint | undefined;
7462
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
7463
+ key?: any;
7464
+ cadModel?: string | {
7465
+ stlUrl: string;
7466
+ rotationOffset?: number | {
7467
+ x: string | number;
7468
+ y: string | number;
7469
+ z: string | number;
7470
+ } | undefined;
7471
+ positionOffset?: {
7472
+ x: string | number;
7473
+ y: string | number;
7474
+ z: string | number;
7475
+ } | undefined;
7476
+ size?: {
7477
+ x: string | number;
7478
+ y: string | number;
7479
+ z: string | number;
7480
+ } | undefined;
7481
+ } | {
7482
+ objUrl: string;
7483
+ rotationOffset?: number | {
7484
+ x: string | number;
7485
+ y: string | number;
7486
+ z: string | number;
7487
+ } | undefined;
7488
+ positionOffset?: {
7489
+ x: string | number;
7490
+ y: string | number;
7491
+ z: string | number;
7492
+ } | undefined;
7493
+ size?: {
7494
+ x: string | number;
7495
+ y: string | number;
7496
+ z: string | number;
7497
+ } | undefined;
7498
+ mtlUrl?: string | undefined;
7499
+ } | {
7500
+ jscad: Record<string, any>;
7501
+ rotationOffset?: number | {
7502
+ x: string | number;
7503
+ y: string | number;
7504
+ z: string | number;
7505
+ } | undefined;
7506
+ positionOffset?: {
7507
+ x: string | number;
7508
+ y: string | number;
7509
+ z: string | number;
7510
+ } | undefined;
7511
+ size?: {
7512
+ x: string | number;
7513
+ y: string | number;
7514
+ z: string | number;
7515
+ } | undefined;
7516
+ } | undefined;
7517
+ children?: any;
7518
+ symbolName?: string | undefined;
7519
+ }>;
7520
+ sourceFtype: "simple_push_button";
7521
+ };
7522
+ initPorts(): void;
7523
+ doInitialSourceRender(): void;
7524
+ }
7525
+
7109
7526
  declare const useRenderedCircuit: (reactElements: React.ReactElement) => {
7110
7527
  isLoading: boolean;
7111
7528
  error?: Error | null;
@@ -7417,6 +7834,7 @@ declare global {
7417
7834
  resistor: _tscircuit_props.ResistorProps;
7418
7835
  capacitor: _tscircuit_props.CapacitorProps;
7419
7836
  inductor: _tscircuit_props.InductorProps;
7837
+ pushbutton: _tscircuit_props.PushButtonProps;
7420
7838
  diode: _tscircuit_props.DiodeProps;
7421
7839
  led: _tscircuit_props.LedProps;
7422
7840
  board: _tscircuit_props.BoardProps;
@@ -7455,9 +7873,10 @@ declare global {
7455
7873
  constrainedlayout: _tscircuit_props.ConstrainedLayoutProps;
7456
7874
  battery: _tscircuit_props.BatteryProps;
7457
7875
  pinheader: _tscircuit_props.PinHeaderProps;
7876
+ subcircuit: _tscircuit_props.SubcircuitGroupProps;
7458
7877
  jscad: any;
7459
7878
  }
7460
7879
  }
7461
7880
  }
7462
7881
 
7463
- export { Battery, Board, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Net, NetAlias, NormalComponent, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenCircle, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Trace, TraceHint, Via, createUseComponent, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
7882
+ export { Battery, Board, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Net, NetAlias, NormalComponent, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, Renderable, Resistor, SilkscreenCircle, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Subcircuit, Trace, TraceHint, Via, createUseComponent, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };