@tscircuit/core 0.0.633 → 0.0.635

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _tscircuit_props from '@tscircuit/props';
2
- import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, testpointProps, schematicTextProps, schematicBoxProps, schematicTableProps, schematicRowProps, schematicCellProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
2
+ import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, CommonComponentProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, testpointProps, schematicTextProps, schematicBoxProps, schematicTableProps, schematicRowProps, schematicCellProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
3
3
  import React, { ReactElement, DetailedHTMLProps, SVGProps } from 'react';
4
4
  export { createElement } from 'react';
5
5
  import * as zod from 'zod';
@@ -7515,6 +7515,947 @@ declare class PowerSource extends NormalComponent<typeof powerSourceProps, Polar
7515
7515
  negative: Port;
7516
7516
  }
7517
7517
 
7518
+ type WaveShape = "sinewave" | "square" | "triangle" | "sawtooth";
7519
+ interface VoltageSourceProps extends CommonComponentProps {
7520
+ voltage?: number | string;
7521
+ frequency?: number | string;
7522
+ peakToPeakVoltage?: number | string;
7523
+ waveShape?: WaveShape;
7524
+ phase?: number | string;
7525
+ }
7526
+ declare const voltageSourceProps: z.ZodObject<{
7527
+ pcbX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7528
+ pcbY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7529
+ pcbRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7530
+ schX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7531
+ schY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7532
+ schRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7533
+ layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
7534
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
7535
+ }, "strip", z.ZodTypeAny, {
7536
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7537
+ }, {
7538
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7539
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
7540
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7541
+ }>>;
7542
+ footprint: z.ZodOptional<z.ZodType<_tscircuit_props.FootprintProp, z.ZodTypeDef, _tscircuit_props.FootprintProp>>;
7543
+ relative: z.ZodOptional<z.ZodBoolean>;
7544
+ schRelative: z.ZodOptional<z.ZodBoolean>;
7545
+ pcbRelative: z.ZodOptional<z.ZodBoolean>;
7546
+ } & {
7547
+ supplierPartNumbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
7548
+ } & {
7549
+ key: z.ZodOptional<z.ZodAny>;
7550
+ name: z.ZodString;
7551
+ cadModel: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString, z.ZodObject<{
7552
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
7553
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
7554
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
7555
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
7556
+ }, "strip", z.ZodTypeAny, {
7557
+ x: string | number;
7558
+ y: string | number;
7559
+ z: string | number;
7560
+ }, {
7561
+ x: string | number;
7562
+ y: string | number;
7563
+ z: string | number;
7564
+ }>]>>;
7565
+ positionOffset: z.ZodOptional<z.ZodObject<{
7566
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7567
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7568
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7569
+ }, "strip", z.ZodTypeAny, {
7570
+ x: number;
7571
+ y: number;
7572
+ z: number;
7573
+ }, {
7574
+ x: string | number;
7575
+ y: string | number;
7576
+ z: string | number;
7577
+ }>>;
7578
+ size: z.ZodOptional<z.ZodObject<{
7579
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7580
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7581
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7582
+ }, "strip", z.ZodTypeAny, {
7583
+ x: number;
7584
+ y: number;
7585
+ z: number;
7586
+ }, {
7587
+ x: string | number;
7588
+ y: string | number;
7589
+ z: string | number;
7590
+ }>>;
7591
+ } & {
7592
+ stlUrl: z.ZodString;
7593
+ }, "strip", z.ZodTypeAny, {
7594
+ stlUrl: string;
7595
+ rotationOffset?: number | {
7596
+ x: string | number;
7597
+ y: string | number;
7598
+ z: string | number;
7599
+ } | undefined;
7600
+ positionOffset?: {
7601
+ x: number;
7602
+ y: number;
7603
+ z: number;
7604
+ } | undefined;
7605
+ size?: {
7606
+ x: number;
7607
+ y: number;
7608
+ z: number;
7609
+ } | undefined;
7610
+ }, {
7611
+ stlUrl: string;
7612
+ rotationOffset?: number | {
7613
+ x: string | number;
7614
+ y: string | number;
7615
+ z: string | number;
7616
+ } | undefined;
7617
+ positionOffset?: {
7618
+ x: string | number;
7619
+ y: string | number;
7620
+ z: string | number;
7621
+ } | undefined;
7622
+ size?: {
7623
+ x: string | number;
7624
+ y: string | number;
7625
+ z: string | number;
7626
+ } | undefined;
7627
+ }>, z.ZodObject<{
7628
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
7629
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
7630
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
7631
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
7632
+ }, "strip", z.ZodTypeAny, {
7633
+ x: string | number;
7634
+ y: string | number;
7635
+ z: string | number;
7636
+ }, {
7637
+ x: string | number;
7638
+ y: string | number;
7639
+ z: string | number;
7640
+ }>]>>;
7641
+ positionOffset: z.ZodOptional<z.ZodObject<{
7642
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7643
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7644
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7645
+ }, "strip", z.ZodTypeAny, {
7646
+ x: number;
7647
+ y: number;
7648
+ z: number;
7649
+ }, {
7650
+ x: string | number;
7651
+ y: string | number;
7652
+ z: string | number;
7653
+ }>>;
7654
+ size: z.ZodOptional<z.ZodObject<{
7655
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7656
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7657
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7658
+ }, "strip", z.ZodTypeAny, {
7659
+ x: number;
7660
+ y: number;
7661
+ z: number;
7662
+ }, {
7663
+ x: string | number;
7664
+ y: string | number;
7665
+ z: string | number;
7666
+ }>>;
7667
+ } & {
7668
+ objUrl: z.ZodString;
7669
+ mtlUrl: z.ZodOptional<z.ZodString>;
7670
+ }, "strip", z.ZodTypeAny, {
7671
+ objUrl: string;
7672
+ rotationOffset?: number | {
7673
+ x: string | number;
7674
+ y: string | number;
7675
+ z: string | number;
7676
+ } | undefined;
7677
+ positionOffset?: {
7678
+ x: number;
7679
+ y: number;
7680
+ z: number;
7681
+ } | undefined;
7682
+ size?: {
7683
+ x: number;
7684
+ y: number;
7685
+ z: number;
7686
+ } | undefined;
7687
+ mtlUrl?: string | undefined;
7688
+ }, {
7689
+ objUrl: string;
7690
+ rotationOffset?: number | {
7691
+ x: string | number;
7692
+ y: string | number;
7693
+ z: string | number;
7694
+ } | undefined;
7695
+ positionOffset?: {
7696
+ x: string | number;
7697
+ y: string | number;
7698
+ z: string | number;
7699
+ } | undefined;
7700
+ size?: {
7701
+ x: string | number;
7702
+ y: string | number;
7703
+ z: string | number;
7704
+ } | undefined;
7705
+ mtlUrl?: string | undefined;
7706
+ }>, z.ZodObject<{
7707
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
7708
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
7709
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
7710
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
7711
+ }, "strip", z.ZodTypeAny, {
7712
+ x: string | number;
7713
+ y: string | number;
7714
+ z: string | number;
7715
+ }, {
7716
+ x: string | number;
7717
+ y: string | number;
7718
+ z: string | number;
7719
+ }>]>>;
7720
+ positionOffset: z.ZodOptional<z.ZodObject<{
7721
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7722
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7723
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7724
+ }, "strip", z.ZodTypeAny, {
7725
+ x: number;
7726
+ y: number;
7727
+ z: number;
7728
+ }, {
7729
+ x: string | number;
7730
+ y: string | number;
7731
+ z: string | number;
7732
+ }>>;
7733
+ size: z.ZodOptional<z.ZodObject<{
7734
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7735
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7736
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7737
+ }, "strip", z.ZodTypeAny, {
7738
+ x: number;
7739
+ y: number;
7740
+ z: number;
7741
+ }, {
7742
+ x: string | number;
7743
+ y: string | number;
7744
+ z: string | number;
7745
+ }>>;
7746
+ } & {
7747
+ jscad: z.ZodRecord<z.ZodString, z.ZodAny>;
7748
+ }, "strip", z.ZodTypeAny, {
7749
+ jscad: Record<string, any>;
7750
+ rotationOffset?: number | {
7751
+ x: string | number;
7752
+ y: string | number;
7753
+ z: string | number;
7754
+ } | undefined;
7755
+ positionOffset?: {
7756
+ x: number;
7757
+ y: number;
7758
+ z: number;
7759
+ } | undefined;
7760
+ size?: {
7761
+ x: number;
7762
+ y: number;
7763
+ z: number;
7764
+ } | undefined;
7765
+ }, {
7766
+ jscad: Record<string, any>;
7767
+ rotationOffset?: number | {
7768
+ x: string | number;
7769
+ y: string | number;
7770
+ z: string | number;
7771
+ } | undefined;
7772
+ positionOffset?: {
7773
+ x: string | number;
7774
+ y: string | number;
7775
+ z: string | number;
7776
+ } | undefined;
7777
+ size?: {
7778
+ x: string | number;
7779
+ y: string | number;
7780
+ z: string | number;
7781
+ } | undefined;
7782
+ }>]>>;
7783
+ children: z.ZodOptional<z.ZodAny>;
7784
+ symbolName: z.ZodOptional<z.ZodString>;
7785
+ doNotPlace: z.ZodOptional<z.ZodBoolean>;
7786
+ pinAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
7787
+ providesPower: z.ZodOptional<z.ZodBoolean>;
7788
+ requiresPower: z.ZodOptional<z.ZodBoolean>;
7789
+ providesGround: z.ZodOptional<z.ZodBoolean>;
7790
+ requiresGround: z.ZodOptional<z.ZodBoolean>;
7791
+ providesVoltage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
7792
+ requiresVoltage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
7793
+ }, "strip", z.ZodTypeAny, {
7794
+ providesPower?: boolean | undefined;
7795
+ requiresPower?: boolean | undefined;
7796
+ providesGround?: boolean | undefined;
7797
+ requiresGround?: boolean | undefined;
7798
+ providesVoltage?: string | number | undefined;
7799
+ requiresVoltage?: string | number | undefined;
7800
+ }, {
7801
+ providesPower?: boolean | undefined;
7802
+ requiresPower?: boolean | undefined;
7803
+ providesGround?: boolean | undefined;
7804
+ requiresGround?: boolean | undefined;
7805
+ providesVoltage?: string | number | undefined;
7806
+ requiresVoltage?: string | number | undefined;
7807
+ }>>>;
7808
+ } & {
7809
+ voltage: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7810
+ frequency: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7811
+ peakToPeakVoltage: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7812
+ waveShape: z.ZodOptional<z.ZodEnum<["sinewave", "square", "triangle", "sawtooth"]>>;
7813
+ phase: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7814
+ }, "strip", z.ZodTypeAny, {
7815
+ name: string;
7816
+ children?: any;
7817
+ key?: any;
7818
+ footprint?: _tscircuit_props.FootprintProp | undefined;
7819
+ relative?: boolean | undefined;
7820
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
7821
+ phase?: number | undefined;
7822
+ voltage?: number | undefined;
7823
+ pcbX?: number | undefined;
7824
+ pcbY?: number | undefined;
7825
+ frequency?: number | undefined;
7826
+ pcbRotation?: number | undefined;
7827
+ schX?: number | undefined;
7828
+ schY?: number | undefined;
7829
+ schRotation?: number | undefined;
7830
+ schRelative?: boolean | undefined;
7831
+ pcbRelative?: boolean | undefined;
7832
+ pinAttributes?: Record<string, {
7833
+ providesPower?: boolean | undefined;
7834
+ requiresPower?: boolean | undefined;
7835
+ providesGround?: boolean | undefined;
7836
+ requiresGround?: boolean | undefined;
7837
+ providesVoltage?: string | number | undefined;
7838
+ requiresVoltage?: string | number | undefined;
7839
+ }> | undefined;
7840
+ peakToPeakVoltage?: number | undefined;
7841
+ waveShape?: "square" | "sinewave" | "triangle" | "sawtooth" | undefined;
7842
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
7843
+ cadModel?: string | {
7844
+ stlUrl: string;
7845
+ rotationOffset?: number | {
7846
+ x: string | number;
7847
+ y: string | number;
7848
+ z: string | number;
7849
+ } | undefined;
7850
+ positionOffset?: {
7851
+ x: number;
7852
+ y: number;
7853
+ z: number;
7854
+ } | undefined;
7855
+ size?: {
7856
+ x: number;
7857
+ y: number;
7858
+ z: number;
7859
+ } | undefined;
7860
+ } | {
7861
+ objUrl: string;
7862
+ rotationOffset?: number | {
7863
+ x: string | number;
7864
+ y: string | number;
7865
+ z: string | number;
7866
+ } | undefined;
7867
+ positionOffset?: {
7868
+ x: number;
7869
+ y: number;
7870
+ z: number;
7871
+ } | undefined;
7872
+ size?: {
7873
+ x: number;
7874
+ y: number;
7875
+ z: number;
7876
+ } | undefined;
7877
+ mtlUrl?: string | undefined;
7878
+ } | {
7879
+ jscad: Record<string, any>;
7880
+ rotationOffset?: number | {
7881
+ x: string | number;
7882
+ y: string | number;
7883
+ z: string | number;
7884
+ } | undefined;
7885
+ positionOffset?: {
7886
+ x: number;
7887
+ y: number;
7888
+ z: number;
7889
+ } | undefined;
7890
+ size?: {
7891
+ x: number;
7892
+ y: number;
7893
+ z: number;
7894
+ } | undefined;
7895
+ } | null | undefined;
7896
+ symbolName?: string | undefined;
7897
+ doNotPlace?: boolean | undefined;
7898
+ }, {
7899
+ name: string;
7900
+ children?: any;
7901
+ key?: any;
7902
+ footprint?: _tscircuit_props.FootprintProp | undefined;
7903
+ relative?: boolean | undefined;
7904
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
7905
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7906
+ } | undefined;
7907
+ phase?: string | number | undefined;
7908
+ voltage?: string | number | undefined;
7909
+ pcbX?: string | number | undefined;
7910
+ pcbY?: string | number | undefined;
7911
+ frequency?: string | number | undefined;
7912
+ pcbRotation?: string | number | undefined;
7913
+ schX?: string | number | undefined;
7914
+ schY?: string | number | undefined;
7915
+ schRotation?: string | number | undefined;
7916
+ schRelative?: boolean | undefined;
7917
+ pcbRelative?: boolean | undefined;
7918
+ pinAttributes?: Record<string, {
7919
+ providesPower?: boolean | undefined;
7920
+ requiresPower?: boolean | undefined;
7921
+ providesGround?: boolean | undefined;
7922
+ requiresGround?: boolean | undefined;
7923
+ providesVoltage?: string | number | undefined;
7924
+ requiresVoltage?: string | number | undefined;
7925
+ }> | undefined;
7926
+ peakToPeakVoltage?: string | number | undefined;
7927
+ waveShape?: "square" | "sinewave" | "triangle" | "sawtooth" | undefined;
7928
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
7929
+ cadModel?: string | {
7930
+ stlUrl: string;
7931
+ rotationOffset?: number | {
7932
+ x: string | number;
7933
+ y: string | number;
7934
+ z: string | number;
7935
+ } | undefined;
7936
+ positionOffset?: {
7937
+ x: string | number;
7938
+ y: string | number;
7939
+ z: string | number;
7940
+ } | undefined;
7941
+ size?: {
7942
+ x: string | number;
7943
+ y: string | number;
7944
+ z: string | number;
7945
+ } | undefined;
7946
+ } | {
7947
+ objUrl: string;
7948
+ rotationOffset?: number | {
7949
+ x: string | number;
7950
+ y: string | number;
7951
+ z: string | number;
7952
+ } | undefined;
7953
+ positionOffset?: {
7954
+ x: string | number;
7955
+ y: string | number;
7956
+ z: string | number;
7957
+ } | undefined;
7958
+ size?: {
7959
+ x: string | number;
7960
+ y: string | number;
7961
+ z: string | number;
7962
+ } | undefined;
7963
+ mtlUrl?: string | undefined;
7964
+ } | {
7965
+ jscad: Record<string, any>;
7966
+ rotationOffset?: number | {
7967
+ x: string | number;
7968
+ y: string | number;
7969
+ z: string | number;
7970
+ } | undefined;
7971
+ positionOffset?: {
7972
+ x: string | number;
7973
+ y: string | number;
7974
+ z: string | number;
7975
+ } | undefined;
7976
+ size?: {
7977
+ x: string | number;
7978
+ y: string | number;
7979
+ z: string | number;
7980
+ } | undefined;
7981
+ } | null | undefined;
7982
+ symbolName?: string | undefined;
7983
+ doNotPlace?: boolean | undefined;
7984
+ }>;
7985
+ declare class VoltageSource extends NormalComponent<typeof voltageSourceProps, "terminal1" | "terminal2"> {
7986
+ get config(): {
7987
+ componentName: string;
7988
+ schematicSymbolName: BaseSymbolName;
7989
+ zodProps: z.ZodObject<{
7990
+ pcbX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7991
+ pcbY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7992
+ pcbRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7993
+ schX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7994
+ schY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7995
+ schRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7996
+ layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
7997
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
7998
+ }, "strip", z.ZodTypeAny, {
7999
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
8000
+ }, {
8001
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
8002
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
8003
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
8004
+ }>>;
8005
+ footprint: z.ZodOptional<z.ZodType<_tscircuit_props.FootprintProp, z.ZodTypeDef, _tscircuit_props.FootprintProp>>;
8006
+ relative: z.ZodOptional<z.ZodBoolean>;
8007
+ schRelative: z.ZodOptional<z.ZodBoolean>;
8008
+ pcbRelative: z.ZodOptional<z.ZodBoolean>;
8009
+ } & {
8010
+ supplierPartNumbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
8011
+ } & {
8012
+ key: z.ZodOptional<z.ZodAny>;
8013
+ name: z.ZodString;
8014
+ cadModel: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString, z.ZodObject<{
8015
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
8016
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
8017
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
8018
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
8019
+ }, "strip", z.ZodTypeAny, {
8020
+ x: string | number;
8021
+ y: string | number;
8022
+ z: string | number;
8023
+ }, {
8024
+ x: string | number;
8025
+ y: string | number;
8026
+ z: string | number;
8027
+ }>]>>;
8028
+ positionOffset: z.ZodOptional<z.ZodObject<{
8029
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8030
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8031
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8032
+ }, "strip", z.ZodTypeAny, {
8033
+ x: number;
8034
+ y: number;
8035
+ z: number;
8036
+ }, {
8037
+ x: string | number;
8038
+ y: string | number;
8039
+ z: string | number;
8040
+ }>>;
8041
+ size: z.ZodOptional<z.ZodObject<{
8042
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8043
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8044
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8045
+ }, "strip", z.ZodTypeAny, {
8046
+ x: number;
8047
+ y: number;
8048
+ z: number;
8049
+ }, {
8050
+ x: string | number;
8051
+ y: string | number;
8052
+ z: string | number;
8053
+ }>>;
8054
+ } & {
8055
+ stlUrl: z.ZodString;
8056
+ }, "strip", z.ZodTypeAny, {
8057
+ stlUrl: string;
8058
+ rotationOffset?: number | {
8059
+ x: string | number;
8060
+ y: string | number;
8061
+ z: string | number;
8062
+ } | undefined;
8063
+ positionOffset?: {
8064
+ x: number;
8065
+ y: number;
8066
+ z: number;
8067
+ } | undefined;
8068
+ size?: {
8069
+ x: number;
8070
+ y: number;
8071
+ z: number;
8072
+ } | undefined;
8073
+ }, {
8074
+ stlUrl: string;
8075
+ rotationOffset?: number | {
8076
+ x: string | number;
8077
+ y: string | number;
8078
+ z: string | number;
8079
+ } | undefined;
8080
+ positionOffset?: {
8081
+ x: string | number;
8082
+ y: string | number;
8083
+ z: string | number;
8084
+ } | undefined;
8085
+ size?: {
8086
+ x: string | number;
8087
+ y: string | number;
8088
+ z: string | number;
8089
+ } | undefined;
8090
+ }>, z.ZodObject<{
8091
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
8092
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
8093
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
8094
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
8095
+ }, "strip", z.ZodTypeAny, {
8096
+ x: string | number;
8097
+ y: string | number;
8098
+ z: string | number;
8099
+ }, {
8100
+ x: string | number;
8101
+ y: string | number;
8102
+ z: string | number;
8103
+ }>]>>;
8104
+ positionOffset: z.ZodOptional<z.ZodObject<{
8105
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8106
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8107
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8108
+ }, "strip", z.ZodTypeAny, {
8109
+ x: number;
8110
+ y: number;
8111
+ z: number;
8112
+ }, {
8113
+ x: string | number;
8114
+ y: string | number;
8115
+ z: string | number;
8116
+ }>>;
8117
+ size: z.ZodOptional<z.ZodObject<{
8118
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8119
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8120
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8121
+ }, "strip", z.ZodTypeAny, {
8122
+ x: number;
8123
+ y: number;
8124
+ z: number;
8125
+ }, {
8126
+ x: string | number;
8127
+ y: string | number;
8128
+ z: string | number;
8129
+ }>>;
8130
+ } & {
8131
+ objUrl: z.ZodString;
8132
+ mtlUrl: z.ZodOptional<z.ZodString>;
8133
+ }, "strip", z.ZodTypeAny, {
8134
+ objUrl: string;
8135
+ rotationOffset?: number | {
8136
+ x: string | number;
8137
+ y: string | number;
8138
+ z: string | number;
8139
+ } | undefined;
8140
+ positionOffset?: {
8141
+ x: number;
8142
+ y: number;
8143
+ z: number;
8144
+ } | undefined;
8145
+ size?: {
8146
+ x: number;
8147
+ y: number;
8148
+ z: number;
8149
+ } | undefined;
8150
+ mtlUrl?: string | undefined;
8151
+ }, {
8152
+ objUrl: string;
8153
+ rotationOffset?: number | {
8154
+ x: string | number;
8155
+ y: string | number;
8156
+ z: string | number;
8157
+ } | undefined;
8158
+ positionOffset?: {
8159
+ x: string | number;
8160
+ y: string | number;
8161
+ z: string | number;
8162
+ } | undefined;
8163
+ size?: {
8164
+ x: string | number;
8165
+ y: string | number;
8166
+ z: string | number;
8167
+ } | undefined;
8168
+ mtlUrl?: string | undefined;
8169
+ }>, z.ZodObject<{
8170
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
8171
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
8172
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
8173
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
8174
+ }, "strip", z.ZodTypeAny, {
8175
+ x: string | number;
8176
+ y: string | number;
8177
+ z: string | number;
8178
+ }, {
8179
+ x: string | number;
8180
+ y: string | number;
8181
+ z: string | number;
8182
+ }>]>>;
8183
+ positionOffset: z.ZodOptional<z.ZodObject<{
8184
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8185
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8186
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8187
+ }, "strip", z.ZodTypeAny, {
8188
+ x: number;
8189
+ y: number;
8190
+ z: number;
8191
+ }, {
8192
+ x: string | number;
8193
+ y: string | number;
8194
+ z: string | number;
8195
+ }>>;
8196
+ size: z.ZodOptional<z.ZodObject<{
8197
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8198
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8199
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8200
+ }, "strip", z.ZodTypeAny, {
8201
+ x: number;
8202
+ y: number;
8203
+ z: number;
8204
+ }, {
8205
+ x: string | number;
8206
+ y: string | number;
8207
+ z: string | number;
8208
+ }>>;
8209
+ } & {
8210
+ jscad: z.ZodRecord<z.ZodString, z.ZodAny>;
8211
+ }, "strip", z.ZodTypeAny, {
8212
+ jscad: Record<string, any>;
8213
+ rotationOffset?: number | {
8214
+ x: string | number;
8215
+ y: string | number;
8216
+ z: string | number;
8217
+ } | undefined;
8218
+ positionOffset?: {
8219
+ x: number;
8220
+ y: number;
8221
+ z: number;
8222
+ } | undefined;
8223
+ size?: {
8224
+ x: number;
8225
+ y: number;
8226
+ z: number;
8227
+ } | undefined;
8228
+ }, {
8229
+ jscad: Record<string, any>;
8230
+ rotationOffset?: number | {
8231
+ x: string | number;
8232
+ y: string | number;
8233
+ z: string | number;
8234
+ } | undefined;
8235
+ positionOffset?: {
8236
+ x: string | number;
8237
+ y: string | number;
8238
+ z: string | number;
8239
+ } | undefined;
8240
+ size?: {
8241
+ x: string | number;
8242
+ y: string | number;
8243
+ z: string | number;
8244
+ } | undefined;
8245
+ }>]>>;
8246
+ children: z.ZodOptional<z.ZodAny>;
8247
+ symbolName: z.ZodOptional<z.ZodString>;
8248
+ doNotPlace: z.ZodOptional<z.ZodBoolean>;
8249
+ pinAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
8250
+ providesPower: z.ZodOptional<z.ZodBoolean>;
8251
+ requiresPower: z.ZodOptional<z.ZodBoolean>;
8252
+ providesGround: z.ZodOptional<z.ZodBoolean>;
8253
+ requiresGround: z.ZodOptional<z.ZodBoolean>;
8254
+ providesVoltage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
8255
+ requiresVoltage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
8256
+ }, "strip", z.ZodTypeAny, {
8257
+ providesPower?: boolean | undefined;
8258
+ requiresPower?: boolean | undefined;
8259
+ providesGround?: boolean | undefined;
8260
+ requiresGround?: boolean | undefined;
8261
+ providesVoltage?: string | number | undefined;
8262
+ requiresVoltage?: string | number | undefined;
8263
+ }, {
8264
+ providesPower?: boolean | undefined;
8265
+ requiresPower?: boolean | undefined;
8266
+ providesGround?: boolean | undefined;
8267
+ requiresGround?: boolean | undefined;
8268
+ providesVoltage?: string | number | undefined;
8269
+ requiresVoltage?: string | number | undefined;
8270
+ }>>>;
8271
+ } & {
8272
+ voltage: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
8273
+ frequency: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
8274
+ peakToPeakVoltage: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
8275
+ waveShape: z.ZodOptional<z.ZodEnum<["sinewave", "square", "triangle", "sawtooth"]>>;
8276
+ phase: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
8277
+ }, "strip", z.ZodTypeAny, {
8278
+ name: string;
8279
+ children?: any;
8280
+ key?: any;
8281
+ footprint?: _tscircuit_props.FootprintProp | undefined;
8282
+ relative?: boolean | undefined;
8283
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
8284
+ phase?: number | undefined;
8285
+ voltage?: number | undefined;
8286
+ pcbX?: number | undefined;
8287
+ pcbY?: number | undefined;
8288
+ frequency?: number | undefined;
8289
+ pcbRotation?: number | undefined;
8290
+ schX?: number | undefined;
8291
+ schY?: number | undefined;
8292
+ schRotation?: number | undefined;
8293
+ schRelative?: boolean | undefined;
8294
+ pcbRelative?: boolean | undefined;
8295
+ pinAttributes?: Record<string, {
8296
+ providesPower?: boolean | undefined;
8297
+ requiresPower?: boolean | undefined;
8298
+ providesGround?: boolean | undefined;
8299
+ requiresGround?: boolean | undefined;
8300
+ providesVoltage?: string | number | undefined;
8301
+ requiresVoltage?: string | number | undefined;
8302
+ }> | undefined;
8303
+ peakToPeakVoltage?: number | undefined;
8304
+ waveShape?: "square" | "sinewave" | "triangle" | "sawtooth" | undefined;
8305
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
8306
+ cadModel?: string | {
8307
+ stlUrl: string;
8308
+ rotationOffset?: number | {
8309
+ x: string | number;
8310
+ y: string | number;
8311
+ z: string | number;
8312
+ } | undefined;
8313
+ positionOffset?: {
8314
+ x: number;
8315
+ y: number;
8316
+ z: number;
8317
+ } | undefined;
8318
+ size?: {
8319
+ x: number;
8320
+ y: number;
8321
+ z: number;
8322
+ } | undefined;
8323
+ } | {
8324
+ objUrl: string;
8325
+ rotationOffset?: number | {
8326
+ x: string | number;
8327
+ y: string | number;
8328
+ z: string | number;
8329
+ } | undefined;
8330
+ positionOffset?: {
8331
+ x: number;
8332
+ y: number;
8333
+ z: number;
8334
+ } | undefined;
8335
+ size?: {
8336
+ x: number;
8337
+ y: number;
8338
+ z: number;
8339
+ } | undefined;
8340
+ mtlUrl?: string | undefined;
8341
+ } | {
8342
+ jscad: Record<string, any>;
8343
+ rotationOffset?: number | {
8344
+ x: string | number;
8345
+ y: string | number;
8346
+ z: string | number;
8347
+ } | undefined;
8348
+ positionOffset?: {
8349
+ x: number;
8350
+ y: number;
8351
+ z: number;
8352
+ } | undefined;
8353
+ size?: {
8354
+ x: number;
8355
+ y: number;
8356
+ z: number;
8357
+ } | undefined;
8358
+ } | null | undefined;
8359
+ symbolName?: string | undefined;
8360
+ doNotPlace?: boolean | undefined;
8361
+ }, {
8362
+ name: string;
8363
+ children?: any;
8364
+ key?: any;
8365
+ footprint?: _tscircuit_props.FootprintProp | undefined;
8366
+ relative?: boolean | undefined;
8367
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
8368
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
8369
+ } | undefined;
8370
+ phase?: string | number | undefined;
8371
+ voltage?: string | number | undefined;
8372
+ pcbX?: string | number | undefined;
8373
+ pcbY?: string | number | undefined;
8374
+ frequency?: string | number | undefined;
8375
+ pcbRotation?: string | number | undefined;
8376
+ schX?: string | number | undefined;
8377
+ schY?: string | number | undefined;
8378
+ schRotation?: string | number | undefined;
8379
+ schRelative?: boolean | undefined;
8380
+ pcbRelative?: boolean | undefined;
8381
+ pinAttributes?: Record<string, {
8382
+ providesPower?: boolean | undefined;
8383
+ requiresPower?: boolean | undefined;
8384
+ providesGround?: boolean | undefined;
8385
+ requiresGround?: boolean | undefined;
8386
+ providesVoltage?: string | number | undefined;
8387
+ requiresVoltage?: string | number | undefined;
8388
+ }> | undefined;
8389
+ peakToPeakVoltage?: string | number | undefined;
8390
+ waveShape?: "square" | "sinewave" | "triangle" | "sawtooth" | undefined;
8391
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
8392
+ cadModel?: string | {
8393
+ stlUrl: string;
8394
+ rotationOffset?: number | {
8395
+ x: string | number;
8396
+ y: string | number;
8397
+ z: string | number;
8398
+ } | undefined;
8399
+ positionOffset?: {
8400
+ x: string | number;
8401
+ y: string | number;
8402
+ z: string | number;
8403
+ } | undefined;
8404
+ size?: {
8405
+ x: string | number;
8406
+ y: string | number;
8407
+ z: string | number;
8408
+ } | undefined;
8409
+ } | {
8410
+ objUrl: string;
8411
+ rotationOffset?: number | {
8412
+ x: string | number;
8413
+ y: string | number;
8414
+ z: string | number;
8415
+ } | undefined;
8416
+ positionOffset?: {
8417
+ x: string | number;
8418
+ y: string | number;
8419
+ z: string | number;
8420
+ } | undefined;
8421
+ size?: {
8422
+ x: string | number;
8423
+ y: string | number;
8424
+ z: string | number;
8425
+ } | undefined;
8426
+ mtlUrl?: string | undefined;
8427
+ } | {
8428
+ jscad: Record<string, any>;
8429
+ rotationOffset?: number | {
8430
+ x: string | number;
8431
+ y: string | number;
8432
+ z: string | number;
8433
+ } | undefined;
8434
+ positionOffset?: {
8435
+ x: string | number;
8436
+ y: string | number;
8437
+ z: string | number;
8438
+ } | undefined;
8439
+ size?: {
8440
+ x: string | number;
8441
+ y: string | number;
8442
+ z: string | number;
8443
+ } | undefined;
8444
+ } | null | undefined;
8445
+ symbolName?: string | undefined;
8446
+ doNotPlace?: boolean | undefined;
8447
+ }>;
8448
+ sourceFtype: Ftype;
8449
+ };
8450
+ runRenderPhaseForChildren(phase: RenderPhase): void;
8451
+ doInitialPcbComponentRender(): void;
8452
+ initPorts(): void;
8453
+ doInitialSourceRender(): void;
8454
+ doInitialSimulationRender(): void;
8455
+ terminal1: Port;
8456
+ terminal2: Port;
8457
+ }
8458
+
7518
8459
  declare class Resistor extends NormalComponent<typeof resistorProps, PassivePorts> {
7519
8460
  get config(): {
7520
8461
  componentName: string;
@@ -16965,6 +17906,7 @@ interface TscircuitElements {
16965
17906
  switch: _tscircuit_props.SwitchProps;
16966
17907
  mosfet: _tscircuit_props.MosfetProps;
16967
17908
  testpoint: _tscircuit_props.TestpointProps;
17909
+ voltagesource: VoltageSourceProps;
16968
17910
  jscad: any;
16969
17911
  }
16970
17912
  declare module "react" {
@@ -16981,4 +17923,4 @@ declare module "react/jsx-runtime" {
16981
17923
  }
16982
17924
  }
16983
17925
 
16984
- export { type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Crystal, Cutout, Diode, FabricationNotePath, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetLabel, NormalComponent, type Obstacle, PcbTrace, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicBox, SchematicCell, SchematicRow, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, TestPoint, Trace, TraceHint, Transistor, Via, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
17926
+ export { type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Crystal, Cutout, Diode, FabricationNotePath, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetLabel, NormalComponent, type Obstacle, PcbTrace, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicBox, SchematicCell, SchematicRow, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, TestPoint, Trace, TraceHint, Transistor, Via, VoltageSource, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
package/dist/index.js CHANGED
@@ -60,7 +60,8 @@ __export(components_exports, {
60
60
  Trace: () => Trace3,
61
61
  TraceHint: () => TraceHint,
62
62
  Transistor: () => Transistor,
63
- Via: () => Via
63
+ Via: () => Via,
64
+ VoltageSource: () => VoltageSource
64
65
  });
65
66
 
66
67
  // lib/components/base-components/NormalComponent/NormalComponent.ts
@@ -4272,12 +4273,12 @@ var getObstaclesFromRoute = (route, source_trace_id, { viaDiameter = 0.5 } = {})
4272
4273
 
4273
4274
  // lib/utils/obstacles/generateApproximatingRects.ts
4274
4275
  function generateApproximatingRects(rotatedRect, numRects = 4) {
4275
- const { center, width, height, rotation: rotation2 } = rotatedRect;
4276
+ const { center, width, height, rotation: rotation4 } = rotatedRect;
4276
4277
  const rects = [];
4277
- const angleRad = rotation2 * Math.PI / 180;
4278
+ const angleRad = rotation4 * Math.PI / 180;
4278
4279
  const cosAngle = Math.cos(angleRad);
4279
4280
  const sinAngle = Math.sin(angleRad);
4280
- const normalizedRotation = (rotation2 % 360 + 360) % 360;
4281
+ const normalizedRotation = (rotation4 % 360 + 360) % 360;
4281
4282
  const sliceAlongWidth = height <= width ? normalizedRotation >= 45 && normalizedRotation < 135 || normalizedRotation >= 225 && normalizedRotation < 315 : normalizedRotation >= 135 && normalizedRotation < 225 || normalizedRotation >= 315 || normalizedRotation < 45;
4282
4283
  if (sliceAlongWidth) {
4283
4284
  const sliceWidth = width / numRects;
@@ -8894,6 +8895,7 @@ import {
8894
8895
  getPrimaryId
8895
8896
  } from "@tscircuit/circuit-json-util";
8896
8897
  import { length as length3 } from "circuit-json";
8898
+ import { CssGrid } from "minicssgrid";
8897
8899
  function Group_doInitialPcbLayoutGrid(group) {
8898
8900
  const { db } = group.root;
8899
8901
  const props = group._parsedProps;
@@ -8901,8 +8903,8 @@ function Group_doInitialPcbLayoutGrid(group) {
8901
8903
  (child) => child.pcb_component_id
8902
8904
  );
8903
8905
  if (pcbChildren.length === 0) return;
8904
- let maxCellWidth = 0;
8905
- let maxCellHeight = 0;
8906
+ let childWidth = 0;
8907
+ let childHeight = 0;
8906
8908
  for (const child of pcbChildren) {
8907
8909
  const pcbComp = db.pcb_component.get(child.pcb_component_id);
8908
8910
  let width = pcbComp?.width ?? 0;
@@ -8912,11 +8914,11 @@ function Group_doInitialPcbLayoutGrid(group) {
8912
8914
  width = Math.max(width, bounds.width);
8913
8915
  height = Math.max(height, bounds.height);
8914
8916
  }
8915
- maxCellWidth = Math.max(maxCellWidth, width);
8916
- maxCellHeight = Math.max(maxCellHeight, height);
8917
+ childWidth = Math.max(childWidth, width);
8918
+ childHeight = Math.max(childHeight, height);
8917
8919
  }
8918
- if (maxCellWidth === 0 && pcbChildren.length > 0) maxCellWidth = 1;
8919
- if (maxCellHeight === 0 && pcbChildren.length > 0) maxCellHeight = 1;
8920
+ if (childWidth === 0 && pcbChildren.length > 0) childWidth = 1;
8921
+ if (childHeight === 0 && pcbChildren.length > 0) childHeight = 1;
8920
8922
  let gridColsOption = props.pcbGridCols ?? props.gridCols;
8921
8923
  let gridRowsOption = props.pcbGridRows;
8922
8924
  let gridGapOption = props.pcbGridGap ?? props.gridGap;
@@ -8929,29 +8931,12 @@ function Group_doInitialPcbLayoutGrid(group) {
8929
8931
  gridRowGapOption = props.pcbLayout.gridRowGap ?? gridRowGapOption;
8930
8932
  gridColumnGapOption = props.pcbLayout.gridColumnGap ?? gridColumnGapOption;
8931
8933
  }
8932
- let numCols;
8933
- let numRows;
8934
- if (gridColsOption !== void 0 && gridRowsOption !== void 0) {
8935
- numCols = gridColsOption;
8936
- numRows = gridRowsOption;
8937
- } else if (gridColsOption !== void 0) {
8938
- numCols = gridColsOption;
8939
- numRows = Math.ceil(pcbChildren.length / numCols);
8940
- } else if (gridRowsOption !== void 0) {
8941
- numRows = gridRowsOption;
8942
- numCols = Math.ceil(pcbChildren.length / numRows);
8943
- } else {
8944
- numCols = Math.ceil(Math.sqrt(pcbChildren.length));
8945
- numRows = Math.ceil(pcbChildren.length / numCols);
8946
- }
8947
- if (numCols === 0 && pcbChildren.length > 0) numCols = 1;
8948
- if (numRows === 0 && pcbChildren.length > 0) numRows = pcbChildren.length;
8949
- let gridGapX;
8950
- let gridGapY;
8951
8934
  const parseGap = (val) => {
8952
8935
  if (val === void 0) return void 0;
8953
8936
  return typeof val === "number" ? val : length3.parse(val);
8954
8937
  };
8938
+ let gridGapX = props.pcbGridColumnGap ?? props.gridColumnGap;
8939
+ let gridGapY = props.pcbGridRowGap ?? props.gridRowGap;
8955
8940
  if (gridRowGapOption !== void 0 || gridColumnGapOption !== void 0) {
8956
8941
  const fallbackX = typeof gridGapOption === "object" && gridGapOption !== null ? gridGapOption.x : gridGapOption;
8957
8942
  const fallbackY = typeof gridGapOption === "object" && gridGapOption !== null ? gridGapOption.y : gridGapOption;
@@ -8973,24 +8958,56 @@ function Group_doInitialPcbLayoutGrid(group) {
8973
8958
  gridGapX = 1;
8974
8959
  gridGapY = 1;
8975
8960
  }
8976
- const totalGridWidth = numCols * maxCellWidth + Math.max(0, numCols - 1) * gridGapX;
8977
- const totalGridHeight = numRows * maxCellHeight + Math.max(0, numRows - 1) * gridGapY;
8961
+ let numCols = gridColsOption ?? 0;
8962
+ let numRows = gridRowsOption ?? 0;
8963
+ if (gridColsOption !== void 0 && gridRowsOption !== void 0) {
8964
+ numCols = gridColsOption;
8965
+ numRows = gridRowsOption;
8966
+ } else if (gridColsOption !== void 0) {
8967
+ numCols = gridColsOption;
8968
+ numRows = Math.ceil(pcbChildren.length / numCols);
8969
+ } else if (gridRowsOption !== void 0) {
8970
+ numRows = gridRowsOption;
8971
+ numCols = Math.ceil(pcbChildren.length / numRows);
8972
+ } else {
8973
+ numCols = Math.ceil(Math.sqrt(pcbChildren.length));
8974
+ numRows = Math.ceil(pcbChildren.length / numCols);
8975
+ }
8976
+ if (numCols === 0 && pcbChildren.length > 0) numCols = 1;
8977
+ if (numRows === 0 && pcbChildren.length > 0) numRows = pcbChildren.length;
8978
+ const totalGridWidth = numCols * childWidth + Math.max(0, numCols - 1) * gridGapX;
8979
+ const totalGridHeight = numRows * childHeight + Math.max(0, numRows - 1) * gridGapY;
8980
+ const gridTemplateColumns = props.pcbGridTemplateColumns ?? `repeat(${numCols}, ${childWidth}px)`;
8981
+ const gridTemplateRows = props.pcbGridTemplateRows ?? `repeat(${numRows}, ${childHeight}px)`;
8982
+ const gridChildren = pcbChildren.map((child, index) => ({
8983
+ key: child.getString() || `child-${index}`,
8984
+ contentWidth: childWidth,
8985
+ contentHeight: childHeight
8986
+ }));
8987
+ const cssGrid = new CssGrid({
8988
+ containerWidth: totalGridWidth,
8989
+ containerHeight: totalGridHeight,
8990
+ gridTemplateColumns,
8991
+ gridTemplateRows,
8992
+ gap: [gridGapY, gridGapX],
8993
+ // [rowGap, columnGap]
8994
+ children: gridChildren
8995
+ });
8996
+ const { itemCoordinates } = cssGrid.layout();
8978
8997
  const groupCenter = group._getGlobalPcbPositionBeforeLayout();
8979
- const firstCellCenterX = groupCenter.x - totalGridWidth / 2 + maxCellWidth / 2;
8980
- const firstCellCenterY = groupCenter.y + totalGridHeight / 2 - maxCellHeight / 2;
8981
8998
  for (let i = 0; i < pcbChildren.length; i++) {
8982
8999
  const child = pcbChildren[i];
8983
9000
  if (!child.pcb_component_id) continue;
8984
- const row = Math.floor(i / numCols);
8985
- const col = i % numCols;
8986
- if (row >= numRows || col >= numCols) {
9001
+ const childKey = child.getString() || `child-${i}`;
9002
+ const coordinates = itemCoordinates[childKey];
9003
+ if (!coordinates) {
8987
9004
  console.warn(
8988
- `PCB grid layout: Child ${child.getString()} at index ${i} (row ${row}, col ${col}) exceeds grid dimensions (${numRows}x${numCols}). Skipping placement.`
9005
+ `PCB grid layout: No coordinates found for child ${childKey}`
8989
9006
  );
8990
9007
  continue;
8991
9008
  }
8992
- const targetCellCenterX = firstCellCenterX + col * (maxCellWidth + gridGapX);
8993
- const targetCellCenterY = firstCellCenterY - row * (maxCellHeight + gridGapY);
9009
+ const targetCellCenterX = groupCenter.x - totalGridWidth / 2 + coordinates.x + coordinates.width / 2;
9010
+ const targetCellCenterY = groupCenter.y + totalGridHeight / 2 - coordinates.y - coordinates.height / 2;
8994
9011
  const pcbComp = db.pcb_component.get(child.pcb_component_id);
8995
9012
  if (pcbComp) {
8996
9013
  const oldCenter = pcbComp.center;
@@ -10436,7 +10453,7 @@ var Chip = class extends NormalComponent {
10436
10453
  if (!pinAttributes) return;
10437
10454
  let powerPort = null;
10438
10455
  let groundPort = null;
10439
- let voltage;
10456
+ let voltage2;
10440
10457
  const ports = this.selectAll("port");
10441
10458
  for (const port of ports) {
10442
10459
  for (const alias of port.getNameAndAliases()) {
@@ -10444,7 +10461,7 @@ var Chip = class extends NormalComponent {
10444
10461
  const attributes = pinAttributes[alias];
10445
10462
  if (attributes.providesPower) {
10446
10463
  powerPort = port;
10447
- voltage = attributes.providesVoltage;
10464
+ voltage2 = attributes.providesVoltage;
10448
10465
  }
10449
10466
  if (attributes.providesGround) {
10450
10467
  groundPort = port;
@@ -10452,7 +10469,7 @@ var Chip = class extends NormalComponent {
10452
10469
  }
10453
10470
  }
10454
10471
  }
10455
- if (!powerPort || !groundPort || voltage === void 0) {
10472
+ if (!powerPort || !groundPort || voltage2 === void 0) {
10456
10473
  return;
10457
10474
  }
10458
10475
  const powerSourcePort = db.source_port.get(powerPort.source_port_id);
@@ -10475,7 +10492,7 @@ var Chip = class extends NormalComponent {
10475
10492
  positive_source_net_id: powerNet.source_net_id,
10476
10493
  negative_source_port_id: groundPort.source_port_id,
10477
10494
  negative_source_net_id: groundNet.source_net_id,
10478
- voltage
10495
+ voltage: voltage2
10479
10496
  });
10480
10497
  }
10481
10498
  };
@@ -10542,8 +10559,8 @@ var Fuse = class extends NormalComponent {
10542
10559
  const rawCurrent = this._parsedProps.currentRating;
10543
10560
  const rawVoltage = this._parsedProps.voltageRating;
10544
10561
  const current = typeof rawCurrent === "string" ? parseFloat(rawCurrent) : rawCurrent;
10545
- const voltage = typeof rawVoltage === "string" ? parseFloat(rawVoltage) : rawVoltage;
10546
- return `${formatSiUnit2(current)}A / ${formatSiUnit2(voltage)}V`;
10562
+ const voltage2 = typeof rawVoltage === "string" ? parseFloat(rawVoltage) : rawVoltage;
10563
+ return `${formatSiUnit2(current)}A / ${formatSiUnit2(voltage2)}V`;
10547
10564
  }
10548
10565
  doInitialSourceRender() {
10549
10566
  const { db } = this.root;
@@ -10902,6 +10919,84 @@ var PowerSource = class extends NormalComponent {
10902
10919
  negative = this.portMap.pin2;
10903
10920
  };
10904
10921
 
10922
+ // lib/components/normal-components/VoltageSource.ts
10923
+ import { frequency, rotation as rotation2, voltage } from "circuit-json";
10924
+ import {
10925
+ commonComponentProps
10926
+ } from "@tscircuit/props";
10927
+ import { z as z12 } from "zod";
10928
+ var voltageSourceProps = commonComponentProps.extend({
10929
+ voltage: voltage.optional(),
10930
+ frequency: frequency.optional(),
10931
+ peakToPeakVoltage: voltage.optional(),
10932
+ waveShape: z12.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
10933
+ phase: rotation2.optional()
10934
+ });
10935
+ var VoltageSource = class extends NormalComponent {
10936
+ get config() {
10937
+ return {
10938
+ componentName: "VoltageSource",
10939
+ schematicSymbolName: "ac_voltmeter",
10940
+ zodProps: voltageSourceProps,
10941
+ sourceFtype: "simple_voltage_source"
10942
+ };
10943
+ }
10944
+ runRenderPhaseForChildren(phase) {
10945
+ if (phase.startsWith("Pcb")) {
10946
+ return;
10947
+ }
10948
+ for (const child of this.children) {
10949
+ child.runRenderPhaseForChildren(phase);
10950
+ child.runRenderPhase(phase);
10951
+ }
10952
+ }
10953
+ doInitialPcbComponentRender() {
10954
+ }
10955
+ initPorts() {
10956
+ super.initPorts({
10957
+ additionalAliases: {
10958
+ pin1: ["terminal1"],
10959
+ pin2: ["terminal2"]
10960
+ }
10961
+ });
10962
+ }
10963
+ doInitialSourceRender() {
10964
+ const { db } = this.root;
10965
+ const { _parsedProps: props } = this;
10966
+ const source_component = db.source_component.insert({
10967
+ ftype: "simple_voltage_source",
10968
+ name: this.name,
10969
+ voltage: props.voltage,
10970
+ frequency: props.frequency,
10971
+ peak_to_peak_voltage: props.peakToPeakVoltage,
10972
+ wave_shape: props.waveShape,
10973
+ phase: props.phase,
10974
+ supplier_part_numbers: props.supplierPartNumbers,
10975
+ are_pins_interchangeable: true
10976
+ });
10977
+ this.source_component_id = source_component.source_component_id;
10978
+ }
10979
+ doInitialSimulationRender() {
10980
+ const { db } = this.root;
10981
+ const { _parsedProps: props } = this;
10982
+ const terminal1Port = this.portMap.terminal1;
10983
+ const terminal2Port = this.portMap.terminal2;
10984
+ db.simulation_voltage_source.insert({
10985
+ type: "simulation_voltage_source",
10986
+ is_dc_source: false,
10987
+ terminal1_source_port_id: terminal1Port.source_port_id,
10988
+ terminal2_source_port_id: terminal2Port.source_port_id,
10989
+ voltage: props.voltage,
10990
+ frequency: props.frequency,
10991
+ peak_to_peak_voltage: props.peakToPeakVoltage,
10992
+ wave_shape: props.waveShape,
10993
+ phase: props.phase
10994
+ });
10995
+ }
10996
+ terminal1 = this.portMap.terminal1;
10997
+ terminal2 = this.portMap.terminal2;
10998
+ };
10999
+
10905
11000
  // lib/components/normal-components/Resistor.ts
10906
11001
  import { resistorProps } from "@tscircuit/props";
10907
11002
  import { formatSiUnit as formatSiUnit3 } from "format-si-unit";
@@ -12532,7 +12627,7 @@ import { identity as identity5 } from "transformation-matrix";
12532
12627
  var package_default = {
12533
12628
  name: "@tscircuit/core",
12534
12629
  type: "module",
12535
- version: "0.0.632",
12630
+ version: "0.0.634",
12536
12631
  types: "dist/index.d.ts",
12537
12632
  main: "dist/index.js",
12538
12633
  module: "dist/index.js",
@@ -12562,9 +12657,10 @@ var package_default = {
12562
12657
  "@tscircuit/import-snippet": "^0.0.4",
12563
12658
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
12564
12659
  "@tscircuit/log-soup": "^1.0.2",
12660
+ "@tscircuit/matchpack": "^0.0.4",
12565
12661
  "@tscircuit/math-utils": "^0.0.18",
12566
12662
  "@tscircuit/miniflex": "^0.0.4",
12567
- "@tscircuit/props": "^0.0.286",
12663
+ "@tscircuit/props": "^0.0.287",
12568
12664
  "@tscircuit/schematic-autolayout": "^0.0.6",
12569
12665
  "@tscircuit/schematic-corpus": "^0.0.110",
12570
12666
  "@tscircuit/schematic-match-adapt": "^0.0.16",
@@ -12578,7 +12674,7 @@ var package_default = {
12578
12674
  "bun-match-svg": "0.0.12",
12579
12675
  "calculate-elbow": "^0.0.9",
12580
12676
  "chokidar-cli": "^3.0.0",
12581
- "circuit-json": "^0.0.230",
12677
+ "circuit-json": "^0.0.232",
12582
12678
  "circuit-json-to-bpc": "^0.0.13",
12583
12679
  "circuit-json-to-connectivity-map": "^0.0.22",
12584
12680
  "circuit-json-to-simple-3d": "^0.0.6",
@@ -12589,13 +12685,13 @@ var package_default = {
12589
12685
  howfat: "^0.3.8",
12590
12686
  "live-server": "^1.2.2",
12591
12687
  "looks-same": "^9.0.1",
12688
+ minicssgrid: "^0.0.5",
12592
12689
  "pkg-pr-new": "^0.0.37",
12593
12690
  react: "^19.1.0",
12594
12691
  "react-dom": "^19.1.0",
12595
12692
  "schematic-symbols": "^0.0.180",
12596
12693
  "ts-expect": "^1.3.0",
12597
- tsup: "^8.2.4",
12598
- "@tscircuit/matchpack": "^0.0.4"
12694
+ tsup: "^8.2.4"
12599
12695
  },
12600
12696
  peerDependencies: {
12601
12697
  "@tscircuit/capacity-autorouter": "*",
@@ -13076,6 +13172,7 @@ export {
13076
13172
  TraceHint,
13077
13173
  Transistor,
13078
13174
  Via,
13175
+ VoltageSource,
13079
13176
  applyEditEvents,
13080
13177
  applyEditEventsToManualEditsFile,
13081
13178
  applyPcbEditEventsToManualEditsFile,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.633",
4
+ "version": "0.0.635",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -31,9 +31,10 @@
31
31
  "@tscircuit/import-snippet": "^0.0.4",
32
32
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
33
33
  "@tscircuit/log-soup": "^1.0.2",
34
+ "@tscircuit/matchpack": "^0.0.4",
34
35
  "@tscircuit/math-utils": "^0.0.18",
35
36
  "@tscircuit/miniflex": "^0.0.4",
36
- "@tscircuit/props": "^0.0.286",
37
+ "@tscircuit/props": "^0.0.287",
37
38
  "@tscircuit/schematic-autolayout": "^0.0.6",
38
39
  "@tscircuit/schematic-corpus": "^0.0.110",
39
40
  "@tscircuit/schematic-match-adapt": "^0.0.16",
@@ -47,7 +48,7 @@
47
48
  "bun-match-svg": "0.0.12",
48
49
  "calculate-elbow": "^0.0.9",
49
50
  "chokidar-cli": "^3.0.0",
50
- "circuit-json": "^0.0.230",
51
+ "circuit-json": "^0.0.232",
51
52
  "circuit-json-to-bpc": "^0.0.13",
52
53
  "circuit-json-to-connectivity-map": "^0.0.22",
53
54
  "circuit-json-to-simple-3d": "^0.0.6",
@@ -58,13 +59,13 @@
58
59
  "howfat": "^0.3.8",
59
60
  "live-server": "^1.2.2",
60
61
  "looks-same": "^9.0.1",
62
+ "minicssgrid": "^0.0.5",
61
63
  "pkg-pr-new": "^0.0.37",
62
64
  "react": "^19.1.0",
63
65
  "react-dom": "^19.1.0",
64
66
  "schematic-symbols": "^0.0.180",
65
67
  "ts-expect": "^1.3.0",
66
- "tsup": "^8.2.4",
67
- "@tscircuit/matchpack": "^0.0.4"
68
+ "tsup": "^8.2.4"
68
69
  },
69
70
  "peerDependencies": {
70
71
  "@tscircuit/capacity-autorouter": "*",