@tscircuit/core 0.0.127 → 0.0.129

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
@@ -6,7 +6,7 @@ import { PcbTraceError, PcbPlacementError, LayerRef, AnyCircuitElement, AnySourc
6
6
  import { SoupUtilObjects } from '@tscircuit/soup-util';
7
7
  import { Matrix } from 'transformation-matrix';
8
8
  import * as _tscircuit_props from '@tscircuit/props';
9
- import { traceProps, 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 } from '@tscircuit/props';
9
+ import { traceProps, 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, inductorProps } from '@tscircuit/props';
10
10
 
11
11
  declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InitializePortsFromChildren", "CreateNetsFromProps", "CreateTracesFromProps", "CreateTraceHintsFromProps", "SourceRender", "SourceParentAttachment", "PortDiscovery", "PortMatching", "SourceTraceRender", "SchematicComponentRender", "SchematicPortRender", "SchematicLayout", "SchematicTraceRender", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbLayout", "PcbTraceRender", "PcbTraceHintRender", "PcbRouteNetIslands", "PcbComponentSizeCalculation", "CadModelRender"];
12
12
  type RenderPhase = (typeof orderedRenderPhases)[number];
@@ -4546,7 +4546,7 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
4546
4546
  isPcbPrimitive: boolean;
4547
4547
  get config(): {
4548
4548
  componentName: string;
4549
- zodProps: zod.ZodUnion<[zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4549
+ zodProps: zod.ZodDiscriminatedUnion<"shape", [zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4550
4550
  pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4551
4551
  pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4552
4552
  pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -4622,6 +4622,47 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
4622
4622
  pcbY?: string | number | undefined;
4623
4623
  name?: string | undefined;
4624
4624
  portHints?: (string | number)[] | undefined;
4625
+ }>, zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4626
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4627
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4628
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4629
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4630
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4631
+ }, "strip", zod.ZodTypeAny, {
4632
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4633
+ }, {
4634
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4635
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4636
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4637
+ }>>;
4638
+ }, "layer" | "pcbRotation">, {
4639
+ name: zod.ZodOptional<zod.ZodString>;
4640
+ shape: zod.ZodLiteral<"pill">;
4641
+ outerWidth: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4642
+ outerHeight: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4643
+ innerWidth: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4644
+ innerHeight: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4645
+ portHints: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, "many">>;
4646
+ }>, "strip", zod.ZodTypeAny, {
4647
+ shape: "pill";
4648
+ outerWidth: number;
4649
+ outerHeight: number;
4650
+ innerWidth: number;
4651
+ innerHeight: number;
4652
+ pcbX?: number | undefined;
4653
+ pcbY?: number | undefined;
4654
+ name?: string | undefined;
4655
+ portHints?: (string | number)[] | undefined;
4656
+ }, {
4657
+ shape: "pill";
4658
+ outerWidth: string | number;
4659
+ outerHeight: string | number;
4660
+ innerWidth: string | number;
4661
+ innerHeight: string | number;
4662
+ pcbX?: string | number | undefined;
4663
+ pcbY?: string | number | undefined;
4664
+ name?: string | undefined;
4665
+ portHints?: (string | number)[] | undefined;
4625
4666
  }>]>;
4626
4667
  };
4627
4668
  getAvailablePcbLayers(): string[];
@@ -5675,6 +5716,413 @@ declare class Battery extends NormalComponent<typeof batteryProps, PassivePorts>
5675
5716
  doInitialSourceRender(): void;
5676
5717
  }
5677
5718
 
5719
+ declare class Inductor extends NormalComponent<typeof inductorProps, PassivePorts> {
5720
+ get config(): {
5721
+ componentName: string;
5722
+ schematicSymbolName: BaseSymbolName;
5723
+ zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
5724
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5725
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5726
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5727
+ schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5728
+ schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5729
+ schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5730
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
5731
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
5732
+ }, "strip", zod.ZodTypeAny, {
5733
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5734
+ }, {
5735
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5736
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
5737
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
5738
+ }>>;
5739
+ footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
5740
+ }, {
5741
+ supplierPartNumbers: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
5742
+ }>, {
5743
+ key: zod.ZodOptional<zod.ZodAny>;
5744
+ name: zod.ZodString;
5745
+ cadModel: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodObject<zod.objectUtil.extendShape<{
5746
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
5747
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5748
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5749
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5750
+ }, "strip", zod.ZodTypeAny, {
5751
+ x: string | number;
5752
+ y: string | number;
5753
+ z: string | number;
5754
+ }, {
5755
+ x: string | number;
5756
+ y: string | number;
5757
+ z: string | number;
5758
+ }>]>>;
5759
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
5760
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5761
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5762
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5763
+ }, "strip", zod.ZodTypeAny, {
5764
+ x: number;
5765
+ y: number;
5766
+ z: number;
5767
+ }, {
5768
+ x: string | number;
5769
+ y: string | number;
5770
+ z: string | number;
5771
+ }>>;
5772
+ size: zod.ZodOptional<zod.ZodObject<{
5773
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5774
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5775
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5776
+ }, "strip", zod.ZodTypeAny, {
5777
+ x: number;
5778
+ y: number;
5779
+ z: number;
5780
+ }, {
5781
+ x: string | number;
5782
+ y: string | number;
5783
+ z: string | number;
5784
+ }>>;
5785
+ }, {
5786
+ stlUrl: zod.ZodString;
5787
+ }>, "strip", zod.ZodTypeAny, {
5788
+ stlUrl: string;
5789
+ rotationOffset?: number | {
5790
+ x: string | number;
5791
+ y: string | number;
5792
+ z: string | number;
5793
+ } | undefined;
5794
+ positionOffset?: {
5795
+ x: number;
5796
+ y: number;
5797
+ z: number;
5798
+ } | undefined;
5799
+ size?: {
5800
+ x: number;
5801
+ y: number;
5802
+ z: number;
5803
+ } | undefined;
5804
+ }, {
5805
+ stlUrl: string;
5806
+ rotationOffset?: number | {
5807
+ x: string | number;
5808
+ y: string | number;
5809
+ z: string | number;
5810
+ } | undefined;
5811
+ positionOffset?: {
5812
+ x: string | number;
5813
+ y: string | number;
5814
+ z: string | number;
5815
+ } | undefined;
5816
+ size?: {
5817
+ x: string | number;
5818
+ y: string | number;
5819
+ z: string | number;
5820
+ } | undefined;
5821
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
5822
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
5823
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5824
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5825
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5826
+ }, "strip", zod.ZodTypeAny, {
5827
+ x: string | number;
5828
+ y: string | number;
5829
+ z: string | number;
5830
+ }, {
5831
+ x: string | number;
5832
+ y: string | number;
5833
+ z: string | number;
5834
+ }>]>>;
5835
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
5836
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5837
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5838
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5839
+ }, "strip", zod.ZodTypeAny, {
5840
+ x: number;
5841
+ y: number;
5842
+ z: number;
5843
+ }, {
5844
+ x: string | number;
5845
+ y: string | number;
5846
+ z: string | number;
5847
+ }>>;
5848
+ size: zod.ZodOptional<zod.ZodObject<{
5849
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5850
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5851
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5852
+ }, "strip", zod.ZodTypeAny, {
5853
+ x: number;
5854
+ y: number;
5855
+ z: number;
5856
+ }, {
5857
+ x: string | number;
5858
+ y: string | number;
5859
+ z: string | number;
5860
+ }>>;
5861
+ }, {
5862
+ objUrl: zod.ZodString;
5863
+ mtlUrl: zod.ZodOptional<zod.ZodString>;
5864
+ }>, "strip", zod.ZodTypeAny, {
5865
+ objUrl: string;
5866
+ rotationOffset?: number | {
5867
+ x: string | number;
5868
+ y: string | number;
5869
+ z: string | number;
5870
+ } | undefined;
5871
+ positionOffset?: {
5872
+ x: number;
5873
+ y: number;
5874
+ z: number;
5875
+ } | undefined;
5876
+ size?: {
5877
+ x: number;
5878
+ y: number;
5879
+ z: number;
5880
+ } | undefined;
5881
+ mtlUrl?: string | undefined;
5882
+ }, {
5883
+ objUrl: string;
5884
+ rotationOffset?: number | {
5885
+ x: string | number;
5886
+ y: string | number;
5887
+ z: string | number;
5888
+ } | undefined;
5889
+ positionOffset?: {
5890
+ x: string | number;
5891
+ y: string | number;
5892
+ z: string | number;
5893
+ } | undefined;
5894
+ size?: {
5895
+ x: string | number;
5896
+ y: string | number;
5897
+ z: string | number;
5898
+ } | undefined;
5899
+ mtlUrl?: string | undefined;
5900
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
5901
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
5902
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5903
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5904
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
5905
+ }, "strip", zod.ZodTypeAny, {
5906
+ x: string | number;
5907
+ y: string | number;
5908
+ z: string | number;
5909
+ }, {
5910
+ x: string | number;
5911
+ y: string | number;
5912
+ z: string | number;
5913
+ }>]>>;
5914
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
5915
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5916
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5917
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5918
+ }, "strip", zod.ZodTypeAny, {
5919
+ x: number;
5920
+ y: number;
5921
+ z: number;
5922
+ }, {
5923
+ x: string | number;
5924
+ y: string | number;
5925
+ z: string | number;
5926
+ }>>;
5927
+ size: zod.ZodOptional<zod.ZodObject<{
5928
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5929
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5930
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5931
+ }, "strip", zod.ZodTypeAny, {
5932
+ x: number;
5933
+ y: number;
5934
+ z: number;
5935
+ }, {
5936
+ x: string | number;
5937
+ y: string | number;
5938
+ z: string | number;
5939
+ }>>;
5940
+ }, {
5941
+ jscad: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
5942
+ }>, "strip", zod.ZodTypeAny, {
5943
+ jscad: Record<string, any>;
5944
+ rotationOffset?: number | {
5945
+ x: string | number;
5946
+ y: string | number;
5947
+ z: string | number;
5948
+ } | undefined;
5949
+ positionOffset?: {
5950
+ x: number;
5951
+ y: number;
5952
+ z: number;
5953
+ } | undefined;
5954
+ size?: {
5955
+ x: number;
5956
+ y: number;
5957
+ z: number;
5958
+ } | undefined;
5959
+ }, {
5960
+ jscad: Record<string, any>;
5961
+ rotationOffset?: number | {
5962
+ x: string | number;
5963
+ y: string | number;
5964
+ z: string | number;
5965
+ } | undefined;
5966
+ positionOffset?: {
5967
+ x: string | number;
5968
+ y: string | number;
5969
+ z: string | number;
5970
+ } | undefined;
5971
+ size?: {
5972
+ x: string | number;
5973
+ y: string | number;
5974
+ z: string | number;
5975
+ } | undefined;
5976
+ }>]>>;
5977
+ children: zod.ZodOptional<zod.ZodAny>;
5978
+ symbolName: zod.ZodOptional<zod.ZodString>;
5979
+ }>, {
5980
+ inductance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
5981
+ }>, "strip", zod.ZodTypeAny, {
5982
+ name: string;
5983
+ inductance: number;
5984
+ pcbX?: number | undefined;
5985
+ pcbY?: number | undefined;
5986
+ pcbRotation?: number | undefined;
5987
+ schX?: number | undefined;
5988
+ schY?: number | undefined;
5989
+ schRotation?: number | undefined;
5990
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
5991
+ footprint?: _tscircuit_props.Footprint | undefined;
5992
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
5993
+ key?: any;
5994
+ cadModel?: string | {
5995
+ stlUrl: string;
5996
+ rotationOffset?: number | {
5997
+ x: string | number;
5998
+ y: string | number;
5999
+ z: string | number;
6000
+ } | undefined;
6001
+ positionOffset?: {
6002
+ x: number;
6003
+ y: number;
6004
+ z: number;
6005
+ } | undefined;
6006
+ size?: {
6007
+ x: number;
6008
+ y: number;
6009
+ z: number;
6010
+ } | undefined;
6011
+ } | {
6012
+ objUrl: string;
6013
+ rotationOffset?: number | {
6014
+ x: string | number;
6015
+ y: string | number;
6016
+ z: string | number;
6017
+ } | undefined;
6018
+ positionOffset?: {
6019
+ x: number;
6020
+ y: number;
6021
+ z: number;
6022
+ } | undefined;
6023
+ size?: {
6024
+ x: number;
6025
+ y: number;
6026
+ z: number;
6027
+ } | undefined;
6028
+ mtlUrl?: string | undefined;
6029
+ } | {
6030
+ jscad: Record<string, any>;
6031
+ rotationOffset?: number | {
6032
+ x: string | number;
6033
+ y: string | number;
6034
+ z: string | number;
6035
+ } | undefined;
6036
+ positionOffset?: {
6037
+ x: number;
6038
+ y: number;
6039
+ z: number;
6040
+ } | undefined;
6041
+ size?: {
6042
+ x: number;
6043
+ y: number;
6044
+ z: number;
6045
+ } | undefined;
6046
+ } | undefined;
6047
+ children?: any;
6048
+ symbolName?: string | undefined;
6049
+ }, {
6050
+ name: string;
6051
+ inductance: string | number;
6052
+ pcbX?: string | number | undefined;
6053
+ pcbY?: string | number | undefined;
6054
+ pcbRotation?: string | number | undefined;
6055
+ schX?: string | number | undefined;
6056
+ schY?: string | number | undefined;
6057
+ schRotation?: string | number | undefined;
6058
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6059
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6060
+ } | undefined;
6061
+ footprint?: _tscircuit_props.Footprint | undefined;
6062
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
6063
+ key?: any;
6064
+ cadModel?: string | {
6065
+ stlUrl: string;
6066
+ rotationOffset?: number | {
6067
+ x: string | number;
6068
+ y: string | number;
6069
+ z: string | number;
6070
+ } | undefined;
6071
+ positionOffset?: {
6072
+ x: string | number;
6073
+ y: string | number;
6074
+ z: string | number;
6075
+ } | undefined;
6076
+ size?: {
6077
+ x: string | number;
6078
+ y: string | number;
6079
+ z: string | number;
6080
+ } | undefined;
6081
+ } | {
6082
+ objUrl: string;
6083
+ rotationOffset?: number | {
6084
+ x: string | number;
6085
+ y: string | number;
6086
+ z: string | number;
6087
+ } | undefined;
6088
+ positionOffset?: {
6089
+ x: string | number;
6090
+ y: string | number;
6091
+ z: string | number;
6092
+ } | undefined;
6093
+ size?: {
6094
+ x: string | number;
6095
+ y: string | number;
6096
+ z: string | number;
6097
+ } | undefined;
6098
+ mtlUrl?: string | undefined;
6099
+ } | {
6100
+ jscad: Record<string, any>;
6101
+ rotationOffset?: number | {
6102
+ x: string | number;
6103
+ y: string | number;
6104
+ z: string | number;
6105
+ } | undefined;
6106
+ positionOffset?: {
6107
+ x: string | number;
6108
+ y: string | number;
6109
+ z: string | number;
6110
+ } | undefined;
6111
+ size?: {
6112
+ x: string | number;
6113
+ y: string | number;
6114
+ z: string | number;
6115
+ } | undefined;
6116
+ } | undefined;
6117
+ children?: any;
6118
+ symbolName?: string | undefined;
6119
+ }>;
6120
+ sourceFtype: "simple_inductor";
6121
+ };
6122
+ initPorts(): void;
6123
+ doInitialSourceRender(): void;
6124
+ }
6125
+
5678
6126
  declare const useRenderedCircuit: (reactElements: React.ReactElement) => {
5679
6127
  isLoading: boolean;
5680
6128
  error?: Error | null;
@@ -5731,4 +6179,4 @@ declare global {
5731
6179
  }
5732
6180
  }
5733
6181
 
5734
- export { Battery, Board, Capacitor, Chip, Circuit, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Jumper, Keepout, Led, Net, NetAlias, NormalComponent, PlatedHole, Port, PowerSource, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenCircle, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Trace, TraceHint, Via, createUseComponent, useRenderedCircuit };
6182
+ export { Battery, Board, Capacitor, Chip, Circuit, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Net, NetAlias, NormalComponent, PlatedHole, Port, PowerSource, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenCircle, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Trace, TraceHint, Via, createUseComponent, useRenderedCircuit };
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ __export(components_exports, {
18
18
  Footprint: () => Footprint,
19
19
  Group: () => Group,
20
20
  Hole: () => Hole,
21
+ Inductor: () => Inductor,
21
22
  Jumper: () => Jumper,
22
23
  Keepout: () => Keepout,
23
24
  Led: () => Led,
@@ -1150,7 +1151,7 @@ var PlatedHole = class extends PrimitiveComponent {
1150
1151
  if (props.shape === "circle") {
1151
1152
  return { width: props.outerDiameter, height: props.outerDiameter };
1152
1153
  }
1153
- if (props.shape === "oval") {
1154
+ if (props.shape === "oval" || props.shape === "pill") {
1154
1155
  return { width: props.outerWidth, height: props.outerHeight };
1155
1156
  }
1156
1157
  throw new Error(
@@ -1215,6 +1216,22 @@ var PlatedHole = class extends PrimitiveComponent {
1215
1216
  layers: ["top", "bottom"]
1216
1217
  });
1217
1218
  this.pcb_plated_hole_id = pcb_plated_hole.pcb_plated_hole_id;
1219
+ } else if (props.shape === "pill") {
1220
+ const pcb_plated_hole = db.pcb_plated_hole.insert({
1221
+ pcb_component_id,
1222
+ pcb_port_id: this.matchedPort?.pcb_port_id,
1223
+ outer_width: props.outerWidth,
1224
+ outer_height: props.outerHeight,
1225
+ hole_width: props.innerWidth,
1226
+ hole_height: props.innerHeight,
1227
+ shape: "pill",
1228
+ port_hints: this.getNameAndAliases(),
1229
+ x: position.x,
1230
+ y: position.y,
1231
+ layers: ["top", "bottom"]
1232
+ // NOTE: currently PcbPlatedHoleOval erroneously includes both the shape "pill" and "oval"
1233
+ });
1234
+ this.pcb_plated_hole_id = pcb_plated_hole.pcb_plated_hole_id;
1218
1235
  }
1219
1236
  }
1220
1237
  doInitialPcbPortAttachment() {
@@ -4198,6 +4215,46 @@ var Battery = class extends NormalComponent {
4198
4215
  }
4199
4216
  };
4200
4217
 
4218
+ // lib/components/normal-components/Inductor.ts
4219
+ import { inductorProps } from "@tscircuit/props";
4220
+ var Inductor = class extends NormalComponent {
4221
+ get config() {
4222
+ return {
4223
+ componentName: "Inductor",
4224
+ schematicSymbolName: this.props.symbolName ?? "inductor",
4225
+ zodProps: inductorProps,
4226
+ sourceFtype: FTYPE.simple_inductor
4227
+ };
4228
+ }
4229
+ initPorts() {
4230
+ this.add(
4231
+ new Port({
4232
+ name: "pin1",
4233
+ pinNumber: 1,
4234
+ aliases: ["anode", "pos", "left"]
4235
+ })
4236
+ );
4237
+ this.add(
4238
+ new Port({
4239
+ name: "pin2",
4240
+ pinNumber: 2,
4241
+ aliases: ["cathode", "neg", "right"]
4242
+ })
4243
+ );
4244
+ }
4245
+ doInitialSourceRender() {
4246
+ const { db } = this.root;
4247
+ const { _parsedProps: props } = this;
4248
+ const source_component = db.source_component.insert({
4249
+ name: props.name,
4250
+ ftype: FTYPE.simple_inductor,
4251
+ inductance: props.inductance,
4252
+ supplier_part_numbers: props.supplierPartNumbers
4253
+ });
4254
+ this.source_component_id = source_component.source_component_id;
4255
+ }
4256
+ };
4257
+
4201
4258
  // lib/Circuit.ts
4202
4259
  import { su } from "@tscircuit/soup-util";
4203
4260
  import { isValidElement as isValidElement2 } from "react";
@@ -4380,6 +4437,7 @@ export {
4380
4437
  Footprint,
4381
4438
  Group,
4382
4439
  Hole,
4440
+ Inductor,
4383
4441
  Jumper,
4384
4442
  Keepout,
4385
4443
  Led,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.127",
4
+ "version": "0.0.129",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -14,6 +14,7 @@
14
14
  },
15
15
  "scripts": {
16
16
  "build": "tsup-node index.ts --format esm --dts",
17
+ "format": "biome format . --write",
17
18
  "measure-bundle": "howfat -r table ."
18
19
  },
19
20
  "devDependencies": {
@@ -38,17 +39,17 @@
38
39
  "@tscircuit/footprinter": "^0.0.77",
39
40
  "@tscircuit/infgrid-ijump-astar": "^0.0.21",
40
41
  "@tscircuit/math-utils": "^0.0.4",
41
- "@tscircuit/props": "^0.0.75",
42
+ "@tscircuit/props": "^0.0.77",
42
43
  "@tscircuit/schematic-autolayout": "^0.0.5",
43
44
  "@tscircuit/soup-util": "^0.0.33",
44
- "circuit-json": "^0.0.90",
45
+ "circuit-json": "^0.0.91",
45
46
  "circuit-json-to-connectivity-map": "^0.0.17",
46
- "circuit-to-svg": "^0.0.48",
47
+ "circuit-to-svg": "^0.0.52",
47
48
  "nanoid": "^5.0.7",
48
49
  "performance-now": "^2.1.0",
49
50
  "react": "^18.3.1",
50
51
  "react-reconciler": "^0.29.2",
51
- "schematic-symbols": "0.0.79",
52
+ "schematic-symbols": "0.0.90",
52
53
  "transformation-matrix": "^2.16.1",
53
54
  "zod": "^3.23.8"
54
55
  }