@tscircuit/core 0.0.196 → 0.0.198

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 { 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';
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, crystalProps, 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';
@@ -5177,6 +5177,45 @@ declare class SmtPad extends PrimitiveComponent<typeof smtPadProps> {
5177
5177
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5178
5178
  } | undefined;
5179
5179
  portHints?: (string | number)[] | undefined;
5180
+ }>, zod.ZodObject<zod.objectUtil.extendShape<Omit<{
5181
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5182
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5183
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5184
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
5185
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
5186
+ }, "strip", zod.ZodTypeAny, {
5187
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5188
+ }, {
5189
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5190
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
5191
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5192
+ }>>;
5193
+ }, "pcbRotation">, {
5194
+ shape: zod.ZodLiteral<"rotated_rect">;
5195
+ width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5196
+ height: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5197
+ ccwRotation: zod.ZodNumber;
5198
+ portHints: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, "many">>;
5199
+ }>, "strip", zod.ZodTypeAny, {
5200
+ shape: "rotated_rect";
5201
+ width: number;
5202
+ height: number;
5203
+ ccwRotation: number;
5204
+ pcbX?: number | undefined;
5205
+ pcbY?: number | undefined;
5206
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
5207
+ portHints?: (string | number)[] | undefined;
5208
+ }, {
5209
+ shape: "rotated_rect";
5210
+ width: string | number;
5211
+ height: string | number;
5212
+ ccwRotation: number;
5213
+ pcbX?: string | number | undefined;
5214
+ pcbY?: string | number | undefined;
5215
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
5216
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5217
+ } | undefined;
5218
+ portHints?: (string | number)[] | undefined;
5180
5219
  }>]>;
5181
5220
  };
5182
5221
  getPcbSize(): {
@@ -7554,6 +7593,417 @@ declare class PushButton extends NormalComponent<typeof pushButtonProps, Passive
7554
7593
  doInitialSourceRender(): void;
7555
7594
  }
7556
7595
 
7596
+ declare class Crystal extends NormalComponent<typeof crystalProps, PolarizedPassivePorts> {
7597
+ get config(): {
7598
+ schematicSymbolName: string;
7599
+ componentName: string;
7600
+ zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
7601
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7602
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7603
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7604
+ schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7605
+ schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7606
+ schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
7607
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
7608
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
7609
+ }, "strip", zod.ZodTypeAny, {
7610
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7611
+ }, {
7612
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7613
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
7614
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7615
+ }>>;
7616
+ footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
7617
+ }, {
7618
+ supplierPartNumbers: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
7619
+ }>, {
7620
+ key: zod.ZodOptional<zod.ZodAny>;
7621
+ name: zod.ZodString;
7622
+ cadModel: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodObject<zod.objectUtil.extendShape<{
7623
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
7624
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7625
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7626
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7627
+ }, "strip", zod.ZodTypeAny, {
7628
+ x: string | number;
7629
+ y: string | number;
7630
+ z: string | number;
7631
+ }, {
7632
+ x: string | number;
7633
+ y: string | number;
7634
+ z: string | number;
7635
+ }>]>>;
7636
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
7637
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7638
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7639
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7640
+ }, "strip", zod.ZodTypeAny, {
7641
+ x: number;
7642
+ y: number;
7643
+ z: number;
7644
+ }, {
7645
+ x: string | number;
7646
+ y: string | number;
7647
+ z: string | number;
7648
+ }>>;
7649
+ size: zod.ZodOptional<zod.ZodObject<{
7650
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7651
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7652
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7653
+ }, "strip", zod.ZodTypeAny, {
7654
+ x: number;
7655
+ y: number;
7656
+ z: number;
7657
+ }, {
7658
+ x: string | number;
7659
+ y: string | number;
7660
+ z: string | number;
7661
+ }>>;
7662
+ }, {
7663
+ stlUrl: zod.ZodString;
7664
+ }>, "strip", zod.ZodTypeAny, {
7665
+ stlUrl: string;
7666
+ rotationOffset?: number | {
7667
+ x: string | number;
7668
+ y: string | number;
7669
+ z: string | number;
7670
+ } | undefined;
7671
+ positionOffset?: {
7672
+ x: number;
7673
+ y: number;
7674
+ z: number;
7675
+ } | undefined;
7676
+ size?: {
7677
+ x: number;
7678
+ y: number;
7679
+ z: number;
7680
+ } | undefined;
7681
+ }, {
7682
+ stlUrl: string;
7683
+ rotationOffset?: number | {
7684
+ x: string | number;
7685
+ y: string | number;
7686
+ z: string | number;
7687
+ } | undefined;
7688
+ positionOffset?: {
7689
+ x: string | number;
7690
+ y: string | number;
7691
+ z: string | number;
7692
+ } | undefined;
7693
+ size?: {
7694
+ x: string | number;
7695
+ y: string | number;
7696
+ z: string | number;
7697
+ } | undefined;
7698
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
7699
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
7700
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7701
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7702
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7703
+ }, "strip", zod.ZodTypeAny, {
7704
+ x: string | number;
7705
+ y: string | number;
7706
+ z: string | number;
7707
+ }, {
7708
+ x: string | number;
7709
+ y: string | number;
7710
+ z: string | number;
7711
+ }>]>>;
7712
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
7713
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7714
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7715
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7716
+ }, "strip", zod.ZodTypeAny, {
7717
+ x: number;
7718
+ y: number;
7719
+ z: number;
7720
+ }, {
7721
+ x: string | number;
7722
+ y: string | number;
7723
+ z: string | number;
7724
+ }>>;
7725
+ size: zod.ZodOptional<zod.ZodObject<{
7726
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7727
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7728
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7729
+ }, "strip", zod.ZodTypeAny, {
7730
+ x: number;
7731
+ y: number;
7732
+ z: number;
7733
+ }, {
7734
+ x: string | number;
7735
+ y: string | number;
7736
+ z: string | number;
7737
+ }>>;
7738
+ }, {
7739
+ objUrl: zod.ZodString;
7740
+ mtlUrl: zod.ZodOptional<zod.ZodString>;
7741
+ }>, "strip", zod.ZodTypeAny, {
7742
+ objUrl: string;
7743
+ rotationOffset?: number | {
7744
+ x: string | number;
7745
+ y: string | number;
7746
+ z: string | number;
7747
+ } | undefined;
7748
+ positionOffset?: {
7749
+ x: number;
7750
+ y: number;
7751
+ z: number;
7752
+ } | undefined;
7753
+ size?: {
7754
+ x: number;
7755
+ y: number;
7756
+ z: number;
7757
+ } | undefined;
7758
+ mtlUrl?: string | undefined;
7759
+ }, {
7760
+ objUrl: string;
7761
+ rotationOffset?: number | {
7762
+ x: string | number;
7763
+ y: string | number;
7764
+ z: string | number;
7765
+ } | undefined;
7766
+ positionOffset?: {
7767
+ x: string | number;
7768
+ y: string | number;
7769
+ z: string | number;
7770
+ } | undefined;
7771
+ size?: {
7772
+ x: string | number;
7773
+ y: string | number;
7774
+ z: string | number;
7775
+ } | undefined;
7776
+ mtlUrl?: string | undefined;
7777
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
7778
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
7779
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7780
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7781
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
7782
+ }, "strip", zod.ZodTypeAny, {
7783
+ x: string | number;
7784
+ y: string | number;
7785
+ z: string | number;
7786
+ }, {
7787
+ x: string | number;
7788
+ y: string | number;
7789
+ z: string | number;
7790
+ }>]>>;
7791
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
7792
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7793
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7794
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7795
+ }, "strip", zod.ZodTypeAny, {
7796
+ x: number;
7797
+ y: number;
7798
+ z: number;
7799
+ }, {
7800
+ x: string | number;
7801
+ y: string | number;
7802
+ z: string | number;
7803
+ }>>;
7804
+ size: zod.ZodOptional<zod.ZodObject<{
7805
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7806
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7807
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7808
+ }, "strip", zod.ZodTypeAny, {
7809
+ x: number;
7810
+ y: number;
7811
+ z: number;
7812
+ }, {
7813
+ x: string | number;
7814
+ y: string | number;
7815
+ z: string | number;
7816
+ }>>;
7817
+ }, {
7818
+ jscad: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
7819
+ }>, "strip", zod.ZodTypeAny, {
7820
+ jscad: Record<string, any>;
7821
+ rotationOffset?: number | {
7822
+ x: string | number;
7823
+ y: string | number;
7824
+ z: string | number;
7825
+ } | undefined;
7826
+ positionOffset?: {
7827
+ x: number;
7828
+ y: number;
7829
+ z: number;
7830
+ } | undefined;
7831
+ size?: {
7832
+ x: number;
7833
+ y: number;
7834
+ z: number;
7835
+ } | undefined;
7836
+ }, {
7837
+ jscad: Record<string, any>;
7838
+ rotationOffset?: number | {
7839
+ x: string | number;
7840
+ y: string | number;
7841
+ z: string | number;
7842
+ } | undefined;
7843
+ positionOffset?: {
7844
+ x: string | number;
7845
+ y: string | number;
7846
+ z: string | number;
7847
+ } | undefined;
7848
+ size?: {
7849
+ x: string | number;
7850
+ y: string | number;
7851
+ z: string | number;
7852
+ } | undefined;
7853
+ }>]>>;
7854
+ children: zod.ZodOptional<zod.ZodAny>;
7855
+ symbolName: zod.ZodOptional<zod.ZodString>;
7856
+ }>, {
7857
+ frequency: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7858
+ loadCapacitance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
7859
+ }>, "strip", zod.ZodTypeAny, {
7860
+ name: string;
7861
+ frequency: number;
7862
+ loadCapacitance: number;
7863
+ pcbX?: number | undefined;
7864
+ pcbY?: number | undefined;
7865
+ pcbRotation?: number | undefined;
7866
+ schX?: number | undefined;
7867
+ schY?: number | undefined;
7868
+ schRotation?: number | undefined;
7869
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
7870
+ footprint?: _tscircuit_props.Footprint | undefined;
7871
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
7872
+ key?: any;
7873
+ cadModel?: string | {
7874
+ stlUrl: string;
7875
+ rotationOffset?: number | {
7876
+ x: string | number;
7877
+ y: string | number;
7878
+ z: string | number;
7879
+ } | undefined;
7880
+ positionOffset?: {
7881
+ x: number;
7882
+ y: number;
7883
+ z: number;
7884
+ } | undefined;
7885
+ size?: {
7886
+ x: number;
7887
+ y: number;
7888
+ z: number;
7889
+ } | undefined;
7890
+ } | {
7891
+ objUrl: string;
7892
+ rotationOffset?: number | {
7893
+ x: string | number;
7894
+ y: string | number;
7895
+ z: string | number;
7896
+ } | undefined;
7897
+ positionOffset?: {
7898
+ x: number;
7899
+ y: number;
7900
+ z: number;
7901
+ } | undefined;
7902
+ size?: {
7903
+ x: number;
7904
+ y: number;
7905
+ z: number;
7906
+ } | undefined;
7907
+ mtlUrl?: string | undefined;
7908
+ } | {
7909
+ jscad: Record<string, any>;
7910
+ rotationOffset?: number | {
7911
+ x: string | number;
7912
+ y: string | number;
7913
+ z: string | number;
7914
+ } | undefined;
7915
+ positionOffset?: {
7916
+ x: number;
7917
+ y: number;
7918
+ z: number;
7919
+ } | undefined;
7920
+ size?: {
7921
+ x: number;
7922
+ y: number;
7923
+ z: number;
7924
+ } | undefined;
7925
+ } | undefined;
7926
+ children?: any;
7927
+ symbolName?: string | undefined;
7928
+ }, {
7929
+ name: string;
7930
+ frequency: string | number;
7931
+ loadCapacitance: string | number;
7932
+ pcbX?: string | number | undefined;
7933
+ pcbY?: string | number | undefined;
7934
+ pcbRotation?: string | number | undefined;
7935
+ schX?: string | number | undefined;
7936
+ schY?: string | number | undefined;
7937
+ schRotation?: string | number | undefined;
7938
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
7939
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7940
+ } | undefined;
7941
+ footprint?: _tscircuit_props.Footprint | undefined;
7942
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
7943
+ key?: any;
7944
+ cadModel?: string | {
7945
+ stlUrl: string;
7946
+ rotationOffset?: number | {
7947
+ x: string | number;
7948
+ y: string | number;
7949
+ z: string | number;
7950
+ } | undefined;
7951
+ positionOffset?: {
7952
+ x: string | number;
7953
+ y: string | number;
7954
+ z: string | number;
7955
+ } | undefined;
7956
+ size?: {
7957
+ x: string | number;
7958
+ y: string | number;
7959
+ z: string | number;
7960
+ } | undefined;
7961
+ } | {
7962
+ objUrl: string;
7963
+ rotationOffset?: number | {
7964
+ x: string | number;
7965
+ y: string | number;
7966
+ z: string | number;
7967
+ } | undefined;
7968
+ positionOffset?: {
7969
+ x: string | number;
7970
+ y: string | number;
7971
+ z: string | number;
7972
+ } | undefined;
7973
+ size?: {
7974
+ x: string | number;
7975
+ y: string | number;
7976
+ z: string | number;
7977
+ } | undefined;
7978
+ mtlUrl?: string | undefined;
7979
+ } | {
7980
+ jscad: Record<string, any>;
7981
+ rotationOffset?: number | {
7982
+ x: string | number;
7983
+ y: string | number;
7984
+ z: string | number;
7985
+ } | undefined;
7986
+ positionOffset?: {
7987
+ x: string | number;
7988
+ y: string | number;
7989
+ z: string | number;
7990
+ } | undefined;
7991
+ size?: {
7992
+ x: string | number;
7993
+ y: string | number;
7994
+ z: string | number;
7995
+ } | undefined;
7996
+ } | undefined;
7997
+ children?: any;
7998
+ symbolName?: string | undefined;
7999
+ }>;
8000
+ sourceFtype: Ftype;
8001
+ };
8002
+ initPorts(): void;
8003
+ _getSchematicSymbolDisplayValue(): string | undefined;
8004
+ doInitialSourceRender(): void;
8005
+ }
8006
+
7557
8007
  declare const useRenderedCircuit: (reactElements: React.ReactElement) => {
7558
8008
  isLoading: boolean;
7559
8009
  error?: Error | null;
@@ -7910,4 +8360,4 @@ declare global {
7910
8360
  }
7911
8361
  }
7912
8362
 
7913
- 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 };
8363
+ export { Battery, Board, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Crystal, 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 };
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ __export(components_exports, {
12
12
  Capacitor: () => Capacitor,
13
13
  Chip: () => Chip,
14
14
  Constraint: () => Constraint2,
15
+ Crystal: () => Crystal,
15
16
  Diode: () => Diode,
16
17
  FabricationNotePath: () => FabricationNotePath,
17
18
  FabricationNoteText: () => FabricationNoteText,
@@ -5405,6 +5406,43 @@ var PushButton = class extends NormalComponent {
5405
5406
  }
5406
5407
  };
5407
5408
 
5409
+ // lib/components/normal-components/Crystal.ts
5410
+ import { crystalProps } from "@tscircuit/props";
5411
+ import { formatSiUnit as formatSiUnit4 } from "format-si-unit";
5412
+ var Crystal = class extends NormalComponent {
5413
+ // @ts-ignore
5414
+ get config() {
5415
+ return {
5416
+ schematicSymbolName: this.props.symbolName ?? "crystal",
5417
+ componentName: "Crystal",
5418
+ zodProps: crystalProps,
5419
+ sourceFtype: "simple_crystal"
5420
+ };
5421
+ }
5422
+ initPorts() {
5423
+ super.initPorts({
5424
+ additionalAliases: {
5425
+ pin1: ["pos", "left"],
5426
+ pin2: ["neg", "right"]
5427
+ }
5428
+ });
5429
+ }
5430
+ _getSchematicSymbolDisplayValue() {
5431
+ return `${formatSiUnit4(this._parsedProps.frequency)}Hz`;
5432
+ }
5433
+ doInitialSourceRender() {
5434
+ const { db } = this.root;
5435
+ const { _parsedProps: props } = this;
5436
+ const source_component = db.source_component.insert({
5437
+ name: props.name,
5438
+ ftype: "simple_crystal",
5439
+ frequency: props.frequency,
5440
+ load_capacitance: props.loadCapacitance
5441
+ });
5442
+ this.source_component_id = source_component.source_component_id;
5443
+ }
5444
+ };
5445
+
5408
5446
  // lib/Circuit.ts
5409
5447
  import { su } from "@tscircuit/soup-util";
5410
5448
  import { isValidElement as isValidElement2 } from "react";
@@ -5659,6 +5697,7 @@ export {
5659
5697
  Chip,
5660
5698
  Circuit,
5661
5699
  Constraint2 as Constraint,
5700
+ Crystal,
5662
5701
  Diode,
5663
5702
  FabricationNotePath,
5664
5703
  FabricationNoteText,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.196",
4
+ "version": "0.0.198",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -26,6 +26,7 @@
26
26
  "@types/react": "^18.3.3",
27
27
  "@types/react-reconciler": "^0.28.8",
28
28
  "bun-match-svg": "0.0.2",
29
+ "circuit-to-svg": "^0.0.84",
29
30
  "debug": "^4.3.6",
30
31
  "howfat": "^0.3.8",
31
32
  "looks-same": "^9.0.1",
@@ -40,12 +41,11 @@
40
41
  "@tscircuit/footprinter": "^0.0.77",
41
42
  "@tscircuit/infgrid-ijump-astar": "^0.0.24",
42
43
  "@tscircuit/math-utils": "^0.0.5",
43
- "@tscircuit/props": "^0.0.102",
44
+ "@tscircuit/props": "^0.0.104",
44
45
  "@tscircuit/schematic-autolayout": "^0.0.6",
45
46
  "@tscircuit/soup-util": "^0.0.40",
46
- "circuit-json": "^0.0.104",
47
+ "circuit-json": "^0.0.106",
47
48
  "circuit-json-to-connectivity-map": "^0.0.17",
48
- "circuit-to-svg": "^0.0.84",
49
49
  "format-si-unit": "^0.0.2",
50
50
  "nanoid": "^5.0.7",
51
51
  "performance-now": "^2.1.0",