@tscircuit/core 0.0.314 → 0.0.316

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,6 +1,6 @@
1
1
  import * as _tscircuit_props from '@tscircuit/props';
2
- import { subcircuitGroupProps, traceProps, SupplierPartNumbers, SchematicPortArrangement, groupProps, AutorouterConfig, boardProps, capacitorProps, chipProps, diodeProps, jumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, subcircuitProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, CapacitorProps, ChipProps, ResistorProps, ManualEditEvent, manual_edits_file } from '@tscircuit/props';
3
- import React, { ReactElement } from 'react';
2
+ import { subcircuitGroupProps, traceProps, SupplierPartNumbers, SchematicPortArrangement, groupProps, AutorouterConfig, boardProps, capacitorProps, chipProps, diodeProps, jumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, subcircuitProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, CapacitorProps, ChipProps, ResistorProps, ManualEditEvent, manual_edits_file } from '@tscircuit/props';
3
+ import React, { ReactElement, DetailedHTMLProps, SVGProps } from 'react';
4
4
  export { createElement } from 'react';
5
5
  import * as zod from 'zod';
6
6
  import { z, ZodType } from 'zod';
@@ -1640,6 +1640,8 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePo
1640
1640
  symbolName: zod.ZodOptional<zod.ZodString>;
1641
1641
  }>, {
1642
1642
  capacitance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
1643
+ maxVoltageRating: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1644
+ schShowRatings: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
1643
1645
  polarized: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
1644
1646
  decouplingFor: zod.ZodOptional<zod.ZodString>;
1645
1647
  decouplingTo: zod.ZodOptional<zod.ZodString>;
@@ -1649,6 +1651,7 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePo
1649
1651
  }>, "strip", zod.ZodTypeAny, {
1650
1652
  name: string;
1651
1653
  capacitance: number;
1654
+ schShowRatings: boolean;
1652
1655
  polarized: boolean;
1653
1656
  pcbX?: number | undefined;
1654
1657
  pcbY?: number | undefined;
@@ -1715,6 +1718,7 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePo
1715
1718
  } | undefined;
1716
1719
  children?: any;
1717
1720
  symbolName?: string | undefined;
1721
+ maxVoltageRating?: number | undefined;
1718
1722
  decouplingFor?: string | undefined;
1719
1723
  decouplingTo?: string | undefined;
1720
1724
  bypassFor?: string | undefined;
@@ -1790,6 +1794,8 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePo
1790
1794
  } | undefined;
1791
1795
  children?: any;
1792
1796
  symbolName?: string | undefined;
1797
+ maxVoltageRating?: string | number | undefined;
1798
+ schShowRatings?: boolean | undefined;
1793
1799
  polarized?: boolean | undefined;
1794
1800
  decouplingFor?: string | undefined;
1795
1801
  decouplingTo?: string | undefined;
@@ -2303,6 +2309,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2303
2309
  schWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2304
2310
  schHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2305
2311
  noSchematicRepresentation: zod.ZodOptional<zod.ZodBoolean>;
2312
+ connections: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, zod.ZodUnion<[zod.ZodUnion<[zod.ZodString, zod.ZodReadonly<zod.ZodArray<zod.ZodString, "many">>]>, zod.ZodArray<zod.ZodString, "many">]>>>;
2306
2313
  }>, "strip", zod.ZodTypeAny, {
2307
2314
  name: string;
2308
2315
  pcbX?: number | undefined;
@@ -2440,6 +2447,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2440
2447
  schWidth?: number | undefined;
2441
2448
  schHeight?: number | undefined;
2442
2449
  noSchematicRepresentation?: boolean | undefined;
2450
+ connections?: Record<string | number, string | readonly string[] | string[]> | undefined;
2443
2451
  }, {
2444
2452
  name: string;
2445
2453
  pcbX?: string | number | undefined;
@@ -2579,6 +2587,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2579
2587
  schWidth?: string | number | undefined;
2580
2588
  schHeight?: string | number | undefined;
2581
2589
  noSchematicRepresentation?: boolean | undefined;
2590
+ connections?: Record<string | number, string | readonly string[] | string[]> | undefined;
2582
2591
  }>;
2583
2592
  shouldRenderAsSchematicBox: boolean;
2584
2593
  };
@@ -9889,6 +9898,503 @@ declare class Mosfet extends NormalComponent<typeof mosfetProps> {
9889
9898
  doInitialSourceRender(): void;
9890
9899
  }
9891
9900
 
9901
+ declare class Switch extends NormalComponent<typeof switchProps> {
9902
+ private _getSwitchType;
9903
+ get config(): {
9904
+ componentName: string;
9905
+ schematicSymbolName: BaseSymbolName;
9906
+ zodProps: zod.ZodEffects<zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
9907
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
9908
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
9909
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
9910
+ schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
9911
+ schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
9912
+ schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
9913
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
9914
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
9915
+ }, "strip", zod.ZodTypeAny, {
9916
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
9917
+ }, {
9918
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
9919
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
9920
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
9921
+ }>>;
9922
+ footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
9923
+ }, {
9924
+ supplierPartNumbers: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
9925
+ }>, {
9926
+ key: zod.ZodOptional<zod.ZodAny>;
9927
+ name: zod.ZodString;
9928
+ cadModel: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodObject<zod.objectUtil.extendShape<{
9929
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
9930
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
9931
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
9932
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
9933
+ }, "strip", zod.ZodTypeAny, {
9934
+ x: string | number;
9935
+ y: string | number;
9936
+ z: string | number;
9937
+ }, {
9938
+ x: string | number;
9939
+ y: string | number;
9940
+ z: string | number;
9941
+ }>]>>;
9942
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
9943
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
9944
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
9945
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
9946
+ }, "strip", zod.ZodTypeAny, {
9947
+ x: number;
9948
+ y: number;
9949
+ z: number;
9950
+ }, {
9951
+ x: string | number;
9952
+ y: string | number;
9953
+ z: string | number;
9954
+ }>>;
9955
+ size: zod.ZodOptional<zod.ZodObject<{
9956
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
9957
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
9958
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
9959
+ }, "strip", zod.ZodTypeAny, {
9960
+ x: number;
9961
+ y: number;
9962
+ z: number;
9963
+ }, {
9964
+ x: string | number;
9965
+ y: string | number;
9966
+ z: string | number;
9967
+ }>>;
9968
+ }, {
9969
+ stlUrl: zod.ZodString;
9970
+ }>, "strip", zod.ZodTypeAny, {
9971
+ stlUrl: string;
9972
+ rotationOffset?: number | {
9973
+ x: string | number;
9974
+ y: string | number;
9975
+ z: string | number;
9976
+ } | undefined;
9977
+ positionOffset?: {
9978
+ x: number;
9979
+ y: number;
9980
+ z: number;
9981
+ } | undefined;
9982
+ size?: {
9983
+ x: number;
9984
+ y: number;
9985
+ z: number;
9986
+ } | undefined;
9987
+ }, {
9988
+ stlUrl: string;
9989
+ rotationOffset?: number | {
9990
+ x: string | number;
9991
+ y: string | number;
9992
+ z: string | number;
9993
+ } | undefined;
9994
+ positionOffset?: {
9995
+ x: string | number;
9996
+ y: string | number;
9997
+ z: string | number;
9998
+ } | undefined;
9999
+ size?: {
10000
+ x: string | number;
10001
+ y: string | number;
10002
+ z: string | number;
10003
+ } | undefined;
10004
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
10005
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
10006
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
10007
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
10008
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
10009
+ }, "strip", zod.ZodTypeAny, {
10010
+ x: string | number;
10011
+ y: string | number;
10012
+ z: string | number;
10013
+ }, {
10014
+ x: string | number;
10015
+ y: string | number;
10016
+ z: string | number;
10017
+ }>]>>;
10018
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
10019
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10020
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10021
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10022
+ }, "strip", zod.ZodTypeAny, {
10023
+ x: number;
10024
+ y: number;
10025
+ z: number;
10026
+ }, {
10027
+ x: string | number;
10028
+ y: string | number;
10029
+ z: string | number;
10030
+ }>>;
10031
+ size: zod.ZodOptional<zod.ZodObject<{
10032
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10033
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10034
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10035
+ }, "strip", zod.ZodTypeAny, {
10036
+ x: number;
10037
+ y: number;
10038
+ z: number;
10039
+ }, {
10040
+ x: string | number;
10041
+ y: string | number;
10042
+ z: string | number;
10043
+ }>>;
10044
+ }, {
10045
+ objUrl: zod.ZodString;
10046
+ mtlUrl: zod.ZodOptional<zod.ZodString>;
10047
+ }>, "strip", zod.ZodTypeAny, {
10048
+ objUrl: string;
10049
+ rotationOffset?: number | {
10050
+ x: string | number;
10051
+ y: string | number;
10052
+ z: string | number;
10053
+ } | undefined;
10054
+ positionOffset?: {
10055
+ x: number;
10056
+ y: number;
10057
+ z: number;
10058
+ } | undefined;
10059
+ size?: {
10060
+ x: number;
10061
+ y: number;
10062
+ z: number;
10063
+ } | undefined;
10064
+ mtlUrl?: string | undefined;
10065
+ }, {
10066
+ objUrl: string;
10067
+ rotationOffset?: number | {
10068
+ x: string | number;
10069
+ y: string | number;
10070
+ z: string | number;
10071
+ } | undefined;
10072
+ positionOffset?: {
10073
+ x: string | number;
10074
+ y: string | number;
10075
+ z: string | number;
10076
+ } | undefined;
10077
+ size?: {
10078
+ x: string | number;
10079
+ y: string | number;
10080
+ z: string | number;
10081
+ } | undefined;
10082
+ mtlUrl?: string | undefined;
10083
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
10084
+ rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
10085
+ x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
10086
+ y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
10087
+ z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
10088
+ }, "strip", zod.ZodTypeAny, {
10089
+ x: string | number;
10090
+ y: string | number;
10091
+ z: string | number;
10092
+ }, {
10093
+ x: string | number;
10094
+ y: string | number;
10095
+ z: string | number;
10096
+ }>]>>;
10097
+ positionOffset: zod.ZodOptional<zod.ZodObject<{
10098
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10099
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10100
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10101
+ }, "strip", zod.ZodTypeAny, {
10102
+ x: number;
10103
+ y: number;
10104
+ z: number;
10105
+ }, {
10106
+ x: string | number;
10107
+ y: string | number;
10108
+ z: string | number;
10109
+ }>>;
10110
+ size: zod.ZodOptional<zod.ZodObject<{
10111
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10112
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10113
+ z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
10114
+ }, "strip", zod.ZodTypeAny, {
10115
+ x: number;
10116
+ y: number;
10117
+ z: number;
10118
+ }, {
10119
+ x: string | number;
10120
+ y: string | number;
10121
+ z: string | number;
10122
+ }>>;
10123
+ }, {
10124
+ jscad: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
10125
+ }>, "strip", zod.ZodTypeAny, {
10126
+ jscad: Record<string, any>;
10127
+ rotationOffset?: number | {
10128
+ x: string | number;
10129
+ y: string | number;
10130
+ z: string | number;
10131
+ } | undefined;
10132
+ positionOffset?: {
10133
+ x: number;
10134
+ y: number;
10135
+ z: number;
10136
+ } | undefined;
10137
+ size?: {
10138
+ x: number;
10139
+ y: number;
10140
+ z: number;
10141
+ } | undefined;
10142
+ }, {
10143
+ jscad: Record<string, any>;
10144
+ rotationOffset?: number | {
10145
+ x: string | number;
10146
+ y: string | number;
10147
+ z: string | number;
10148
+ } | undefined;
10149
+ positionOffset?: {
10150
+ x: string | number;
10151
+ y: string | number;
10152
+ z: string | number;
10153
+ } | undefined;
10154
+ size?: {
10155
+ x: string | number;
10156
+ y: string | number;
10157
+ z: string | number;
10158
+ } | undefined;
10159
+ }>]>>;
10160
+ children: zod.ZodOptional<zod.ZodAny>;
10161
+ symbolName: zod.ZodOptional<zod.ZodString>;
10162
+ }>, {
10163
+ type: zod.ZodOptional<zod.ZodEnum<["spst", "spdt", "dpst", "dpdt"]>>;
10164
+ isNormallyClosed: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
10165
+ spst: zod.ZodOptional<zod.ZodBoolean>;
10166
+ spdt: zod.ZodOptional<zod.ZodBoolean>;
10167
+ dpst: zod.ZodOptional<zod.ZodBoolean>;
10168
+ dpdt: zod.ZodOptional<zod.ZodBoolean>;
10169
+ }>, "strip", zod.ZodTypeAny, {
10170
+ name: string;
10171
+ isNormallyClosed: boolean;
10172
+ type?: "spst" | "spdt" | "dpst" | "dpdt" | undefined;
10173
+ pcbX?: number | undefined;
10174
+ pcbY?: number | undefined;
10175
+ pcbRotation?: number | undefined;
10176
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
10177
+ schX?: number | undefined;
10178
+ schY?: number | undefined;
10179
+ schRotation?: number | undefined;
10180
+ footprint?: _tscircuit_props.Footprint | undefined;
10181
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
10182
+ key?: any;
10183
+ cadModel?: string | {
10184
+ stlUrl: string;
10185
+ rotationOffset?: number | {
10186
+ x: string | number;
10187
+ y: string | number;
10188
+ z: string | number;
10189
+ } | undefined;
10190
+ positionOffset?: {
10191
+ x: number;
10192
+ y: number;
10193
+ z: number;
10194
+ } | undefined;
10195
+ size?: {
10196
+ x: number;
10197
+ y: number;
10198
+ z: number;
10199
+ } | undefined;
10200
+ } | {
10201
+ objUrl: string;
10202
+ rotationOffset?: number | {
10203
+ x: string | number;
10204
+ y: string | number;
10205
+ z: string | number;
10206
+ } | undefined;
10207
+ positionOffset?: {
10208
+ x: number;
10209
+ y: number;
10210
+ z: number;
10211
+ } | undefined;
10212
+ size?: {
10213
+ x: number;
10214
+ y: number;
10215
+ z: number;
10216
+ } | undefined;
10217
+ mtlUrl?: string | undefined;
10218
+ } | {
10219
+ jscad: Record<string, any>;
10220
+ rotationOffset?: number | {
10221
+ x: string | number;
10222
+ y: string | number;
10223
+ z: string | number;
10224
+ } | undefined;
10225
+ positionOffset?: {
10226
+ x: number;
10227
+ y: number;
10228
+ z: number;
10229
+ } | undefined;
10230
+ size?: {
10231
+ x: number;
10232
+ y: number;
10233
+ z: number;
10234
+ } | undefined;
10235
+ } | undefined;
10236
+ children?: any;
10237
+ symbolName?: string | undefined;
10238
+ spst?: boolean | undefined;
10239
+ spdt?: boolean | undefined;
10240
+ dpst?: boolean | undefined;
10241
+ dpdt?: boolean | undefined;
10242
+ }, {
10243
+ name: string;
10244
+ type?: "spst" | "spdt" | "dpst" | "dpdt" | undefined;
10245
+ pcbX?: string | number | undefined;
10246
+ pcbY?: string | number | undefined;
10247
+ pcbRotation?: string | number | undefined;
10248
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
10249
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
10250
+ } | undefined;
10251
+ schX?: string | number | undefined;
10252
+ schY?: string | number | undefined;
10253
+ schRotation?: string | number | undefined;
10254
+ footprint?: _tscircuit_props.Footprint | undefined;
10255
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
10256
+ key?: any;
10257
+ cadModel?: string | {
10258
+ stlUrl: string;
10259
+ rotationOffset?: number | {
10260
+ x: string | number;
10261
+ y: string | number;
10262
+ z: string | number;
10263
+ } | undefined;
10264
+ positionOffset?: {
10265
+ x: string | number;
10266
+ y: string | number;
10267
+ z: string | number;
10268
+ } | undefined;
10269
+ size?: {
10270
+ x: string | number;
10271
+ y: string | number;
10272
+ z: string | number;
10273
+ } | undefined;
10274
+ } | {
10275
+ objUrl: string;
10276
+ rotationOffset?: number | {
10277
+ x: string | number;
10278
+ y: string | number;
10279
+ z: string | number;
10280
+ } | undefined;
10281
+ positionOffset?: {
10282
+ x: string | number;
10283
+ y: string | number;
10284
+ z: string | number;
10285
+ } | undefined;
10286
+ size?: {
10287
+ x: string | number;
10288
+ y: string | number;
10289
+ z: string | number;
10290
+ } | undefined;
10291
+ mtlUrl?: string | undefined;
10292
+ } | {
10293
+ jscad: Record<string, any>;
10294
+ rotationOffset?: number | {
10295
+ x: string | number;
10296
+ y: string | number;
10297
+ z: string | number;
10298
+ } | undefined;
10299
+ positionOffset?: {
10300
+ x: string | number;
10301
+ y: string | number;
10302
+ z: string | number;
10303
+ } | undefined;
10304
+ size?: {
10305
+ x: string | number;
10306
+ y: string | number;
10307
+ z: string | number;
10308
+ } | undefined;
10309
+ } | undefined;
10310
+ children?: any;
10311
+ symbolName?: string | undefined;
10312
+ spst?: boolean | undefined;
10313
+ spdt?: boolean | undefined;
10314
+ dpst?: boolean | undefined;
10315
+ dpdt?: boolean | undefined;
10316
+ isNormallyClosed?: boolean | undefined;
10317
+ }>, _tscircuit_props.SwitchProps, {
10318
+ name: string;
10319
+ type?: "spst" | "spdt" | "dpst" | "dpdt" | undefined;
10320
+ pcbX?: string | number | undefined;
10321
+ pcbY?: string | number | undefined;
10322
+ pcbRotation?: string | number | undefined;
10323
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
10324
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
10325
+ } | undefined;
10326
+ schX?: string | number | undefined;
10327
+ schY?: string | number | undefined;
10328
+ schRotation?: string | number | undefined;
10329
+ footprint?: _tscircuit_props.Footprint | undefined;
10330
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
10331
+ key?: any;
10332
+ cadModel?: string | {
10333
+ stlUrl: string;
10334
+ rotationOffset?: number | {
10335
+ x: string | number;
10336
+ y: string | number;
10337
+ z: string | number;
10338
+ } | undefined;
10339
+ positionOffset?: {
10340
+ x: string | number;
10341
+ y: string | number;
10342
+ z: string | number;
10343
+ } | undefined;
10344
+ size?: {
10345
+ x: string | number;
10346
+ y: string | number;
10347
+ z: string | number;
10348
+ } | undefined;
10349
+ } | {
10350
+ objUrl: string;
10351
+ rotationOffset?: number | {
10352
+ x: string | number;
10353
+ y: string | number;
10354
+ z: string | number;
10355
+ } | undefined;
10356
+ positionOffset?: {
10357
+ x: string | number;
10358
+ y: string | number;
10359
+ z: string | number;
10360
+ } | undefined;
10361
+ size?: {
10362
+ x: string | number;
10363
+ y: string | number;
10364
+ z: string | number;
10365
+ } | undefined;
10366
+ mtlUrl?: string | undefined;
10367
+ } | {
10368
+ jscad: Record<string, any>;
10369
+ rotationOffset?: number | {
10370
+ x: string | number;
10371
+ y: string | number;
10372
+ z: string | number;
10373
+ } | undefined;
10374
+ positionOffset?: {
10375
+ x: string | number;
10376
+ y: string | number;
10377
+ z: string | number;
10378
+ } | undefined;
10379
+ size?: {
10380
+ x: string | number;
10381
+ y: string | number;
10382
+ z: string | number;
10383
+ } | undefined;
10384
+ } | undefined;
10385
+ children?: any;
10386
+ symbolName?: string | undefined;
10387
+ spst?: boolean | undefined;
10388
+ spdt?: boolean | undefined;
10389
+ dpst?: boolean | undefined;
10390
+ dpdt?: boolean | undefined;
10391
+ isNormallyClosed?: boolean | undefined;
10392
+ }>;
10393
+ shouldRenderAsSchematicBox: boolean;
10394
+ };
10395
+ doInitialSourceRender(): void;
10396
+ }
10397
+
9892
10398
  declare const useRenderedCircuit: (reactElements: React.ReactElement) => {
9893
10399
  isLoading: boolean;
9894
10400
  error?: Error | null;
@@ -10304,6 +10810,7 @@ interface TscircuitElements {
10304
10810
  resonator: _tscircuit_props.ResonatorProps;
10305
10811
  subcircuit: _tscircuit_props.SubcircuitGroupProps;
10306
10812
  transistor: _tscircuit_props.TransistorProps;
10813
+ switch: _tscircuit_props.SwitchProps;
10307
10814
  mosfet: _tscircuit_props.MosfetProps;
10308
10815
  jscad: any;
10309
10816
  }
@@ -10316,8 +10823,9 @@ declare module "react" {
10316
10823
  declare module "react/jsx-runtime" {
10317
10824
  namespace JSX {
10318
10825
  interface IntrinsicElements extends TscircuitElements {
10826
+ switch: DetailedHTMLProps<SVGProps<SVGSwitchElement>, SVGSwitchElement> | TscircuitElements["switch"];
10319
10827
  }
10320
10828
  }
10321
10829
  }
10322
10830
 
10323
- export { type AsyncEffect, Battery, Board, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Crystal, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Mosfet, Net, NetAlias, NormalComponent, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Subcircuit, Trace, TraceHint, Transistor, Via, applyEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
10831
+ export { type AsyncEffect, Battery, Board, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Crystal, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Mosfet, Net, NetAlias, NormalComponent, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Subcircuit, Switch, Trace, TraceHint, Transistor, Via, applyEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
package/dist/index.js CHANGED
@@ -44,6 +44,7 @@ __export(components_exports, {
44
44
  SilkscreenText: () => SilkscreenText,
45
45
  SmtPad: () => SmtPad,
46
46
  Subcircuit: () => Subcircuit,
47
+ Switch: () => Switch,
47
48
  Trace: () => Trace2,
48
49
  TraceHint: () => TraceHint,
49
50
  Transistor: () => Transistor,
@@ -5580,7 +5581,11 @@ var Capacitor = class extends NormalComponent {
5580
5581
  });
5581
5582
  }
5582
5583
  _getSchematicSymbolDisplayValue() {
5583
- return `${formatSiUnit(this._parsedProps.capacitance)}F`;
5584
+ const capacitanceDisplay = `${formatSiUnit(this._parsedProps.capacitance)}F`;
5585
+ if (this._parsedProps.schShowRatings && this._parsedProps.maxVoltageRating) {
5586
+ return `${capacitanceDisplay}/${formatSiUnit(this._parsedProps.maxVoltageRating)}V`;
5587
+ }
5588
+ return capacitanceDisplay;
5584
5589
  }
5585
5590
  doInitialCreateNetsFromProps() {
5586
5591
  this._createNetsFromProps([
@@ -5614,6 +5619,7 @@ var Capacitor = class extends NormalComponent {
5614
5619
  manufacturer_part_number: props.manufacturerPartNumber ?? props.mfn,
5615
5620
  supplier_part_numbers: props.supplierPartNumbers,
5616
5621
  capacitance: props.capacitance,
5622
+ max_voltage_rating: props.maxVoltageRating,
5617
5623
  max_decoupling_trace_length: props.maxDecouplingTraceLength,
5618
5624
  display_capacitance: this._getSchematicSymbolDisplayValue()
5619
5625
  });
@@ -6596,6 +6602,46 @@ var Mosfet = class extends NormalComponent {
6596
6602
  }
6597
6603
  };
6598
6604
 
6605
+ // lib/components/normal-components/Switch.ts
6606
+ import { switchProps } from "@tscircuit/props";
6607
+ var Switch = class extends NormalComponent {
6608
+ _getSwitchType() {
6609
+ const { spst, spdt, dpst, dpdt, type } = this._parsedProps ?? {};
6610
+ if (dpdt) return "dpdt";
6611
+ if (spst) return "spst";
6612
+ if (spdt) return "spdt";
6613
+ if (dpst) return "dpst";
6614
+ return type ?? "spst";
6615
+ }
6616
+ get config() {
6617
+ const switchType = this._getSwitchType();
6618
+ const baseSymbolNameMap = {
6619
+ spst: "SPST_switch",
6620
+ spdt: "SPDT_switch",
6621
+ dpst: "dpst_switch",
6622
+ dpdt: "dpdt_switch"
6623
+ };
6624
+ const symbolName = baseSymbolNameMap[switchType] ?? "SPST_switch";
6625
+ return {
6626
+ componentName: "Switch",
6627
+ schematicSymbolName: symbolName,
6628
+ zodProps: switchProps,
6629
+ shouldRenderAsSchematicBox: false
6630
+ };
6631
+ }
6632
+ doInitialSourceRender() {
6633
+ const { db } = this.root;
6634
+ const { _parsedProps: props } = this;
6635
+ const source_component = db.source_component.insert({
6636
+ ftype: "simple_switch",
6637
+ name: props.name,
6638
+ switch_type: props.type,
6639
+ is_normally_closed: props.isNormallyClosed ?? false
6640
+ });
6641
+ this.source_component_id = source_component.source_component_id;
6642
+ }
6643
+ };
6644
+
6599
6645
  // lib/RootCircuit.ts
6600
6646
  import { su } from "@tscircuit/soup-util";
6601
6647
  import { isValidElement as isValidElement2 } from "react";
@@ -7062,6 +7108,7 @@ export {
7062
7108
  SilkscreenText,
7063
7109
  SmtPad,
7064
7110
  Subcircuit,
7111
+ Switch,
7065
7112
  Trace2 as Trace,
7066
7113
  TraceHint,
7067
7114
  Transistor,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.314",
4
+ "version": "0.0.316",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -54,10 +54,10 @@
54
54
  "@tscircuit/footprinter": "^0.0.97",
55
55
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
56
56
  "@tscircuit/math-utils": "^0.0.9",
57
- "@tscircuit/props": "^0.0.147",
57
+ "@tscircuit/props": "^0.0.152",
58
58
  "@tscircuit/schematic-autolayout": "^0.0.6",
59
59
  "@tscircuit/soup-util": "^0.0.41",
60
- "circuit-json": "^0.0.136",
60
+ "circuit-json": "^0.0.139",
61
61
  "circuit-json-to-connectivity-map": "^0.0.17",
62
62
  "format-si-unit": "^0.0.3",
63
63
  "nanoid": "^5.0.7",