@tscircuit/core 0.0.313 → 0.0.315
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/README.md +1 -1
- package/dist/index.d.ts +505 -3
- package/dist/index.js +42 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The core logic used to build Circuit JSON from tscircuit React elements.
|
|
4
4
|
|
|
5
|
-
[tscircuit](https://github.com/tscircuit/tscircuit) · [Development Guide](./docs/DEVELOPMENT.md)
|
|
5
|
+
[tscircuit](https://github.com/tscircuit/tscircuit) · [Development Guide](./docs/DEVELOPMENT.md) · [Core Benchmarks](https://core-benchmarks.tscircuit.com/)
|
|
6
6
|
|
|
7
7
|
You can use `core` to create [Circuit JSON](https://github.com/tscircuit/circuit-json), which can then
|
|
8
8
|
be converted into Gerbers, viewed online, and much more.
|
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';
|
|
@@ -2303,6 +2303,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
|
|
|
2303
2303
|
schWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
2304
2304
|
schHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
2305
2305
|
noSchematicRepresentation: zod.ZodOptional<zod.ZodBoolean>;
|
|
2306
|
+
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
2307
|
}>, "strip", zod.ZodTypeAny, {
|
|
2307
2308
|
name: string;
|
|
2308
2309
|
pcbX?: number | undefined;
|
|
@@ -2440,6 +2441,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
|
|
|
2440
2441
|
schWidth?: number | undefined;
|
|
2441
2442
|
schHeight?: number | undefined;
|
|
2442
2443
|
noSchematicRepresentation?: boolean | undefined;
|
|
2444
|
+
connections?: Record<string | number, string | readonly string[] | string[]> | undefined;
|
|
2443
2445
|
}, {
|
|
2444
2446
|
name: string;
|
|
2445
2447
|
pcbX?: string | number | undefined;
|
|
@@ -2579,6 +2581,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
|
|
|
2579
2581
|
schWidth?: string | number | undefined;
|
|
2580
2582
|
schHeight?: string | number | undefined;
|
|
2581
2583
|
noSchematicRepresentation?: boolean | undefined;
|
|
2584
|
+
connections?: Record<string | number, string | readonly string[] | string[]> | undefined;
|
|
2582
2585
|
}>;
|
|
2583
2586
|
shouldRenderAsSchematicBox: boolean;
|
|
2584
2587
|
};
|
|
@@ -9889,6 +9892,503 @@ declare class Mosfet extends NormalComponent<typeof mosfetProps> {
|
|
|
9889
9892
|
doInitialSourceRender(): void;
|
|
9890
9893
|
}
|
|
9891
9894
|
|
|
9895
|
+
declare class Switch extends NormalComponent<typeof switchProps> {
|
|
9896
|
+
private _getSwitchType;
|
|
9897
|
+
get config(): {
|
|
9898
|
+
componentName: string;
|
|
9899
|
+
schematicSymbolName: BaseSymbolName;
|
|
9900
|
+
zodProps: zod.ZodEffects<zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
|
|
9901
|
+
pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
9902
|
+
pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
9903
|
+
pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
9904
|
+
schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
9905
|
+
schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
9906
|
+
schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
9907
|
+
layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
|
|
9908
|
+
name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
9909
|
+
}, "strip", zod.ZodTypeAny, {
|
|
9910
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
9911
|
+
}, {
|
|
9912
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
9913
|
+
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
9914
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
9915
|
+
}>>;
|
|
9916
|
+
footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
|
|
9917
|
+
}, {
|
|
9918
|
+
supplierPartNumbers: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
|
|
9919
|
+
}>, {
|
|
9920
|
+
key: zod.ZodOptional<zod.ZodAny>;
|
|
9921
|
+
name: zod.ZodString;
|
|
9922
|
+
cadModel: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodObject<zod.objectUtil.extendShape<{
|
|
9923
|
+
rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
|
|
9924
|
+
x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
|
|
9925
|
+
y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
|
|
9926
|
+
z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
|
|
9927
|
+
}, "strip", zod.ZodTypeAny, {
|
|
9928
|
+
x: string | number;
|
|
9929
|
+
y: string | number;
|
|
9930
|
+
z: string | number;
|
|
9931
|
+
}, {
|
|
9932
|
+
x: string | number;
|
|
9933
|
+
y: string | number;
|
|
9934
|
+
z: string | number;
|
|
9935
|
+
}>]>>;
|
|
9936
|
+
positionOffset: zod.ZodOptional<zod.ZodObject<{
|
|
9937
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
9938
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
9939
|
+
z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
9940
|
+
}, "strip", zod.ZodTypeAny, {
|
|
9941
|
+
x: number;
|
|
9942
|
+
y: number;
|
|
9943
|
+
z: number;
|
|
9944
|
+
}, {
|
|
9945
|
+
x: string | number;
|
|
9946
|
+
y: string | number;
|
|
9947
|
+
z: string | number;
|
|
9948
|
+
}>>;
|
|
9949
|
+
size: zod.ZodOptional<zod.ZodObject<{
|
|
9950
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
9951
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
9952
|
+
z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
9953
|
+
}, "strip", zod.ZodTypeAny, {
|
|
9954
|
+
x: number;
|
|
9955
|
+
y: number;
|
|
9956
|
+
z: number;
|
|
9957
|
+
}, {
|
|
9958
|
+
x: string | number;
|
|
9959
|
+
y: string | number;
|
|
9960
|
+
z: string | number;
|
|
9961
|
+
}>>;
|
|
9962
|
+
}, {
|
|
9963
|
+
stlUrl: zod.ZodString;
|
|
9964
|
+
}>, "strip", zod.ZodTypeAny, {
|
|
9965
|
+
stlUrl: string;
|
|
9966
|
+
rotationOffset?: number | {
|
|
9967
|
+
x: string | number;
|
|
9968
|
+
y: string | number;
|
|
9969
|
+
z: string | number;
|
|
9970
|
+
} | undefined;
|
|
9971
|
+
positionOffset?: {
|
|
9972
|
+
x: number;
|
|
9973
|
+
y: number;
|
|
9974
|
+
z: number;
|
|
9975
|
+
} | undefined;
|
|
9976
|
+
size?: {
|
|
9977
|
+
x: number;
|
|
9978
|
+
y: number;
|
|
9979
|
+
z: number;
|
|
9980
|
+
} | undefined;
|
|
9981
|
+
}, {
|
|
9982
|
+
stlUrl: string;
|
|
9983
|
+
rotationOffset?: number | {
|
|
9984
|
+
x: string | number;
|
|
9985
|
+
y: string | number;
|
|
9986
|
+
z: string | number;
|
|
9987
|
+
} | undefined;
|
|
9988
|
+
positionOffset?: {
|
|
9989
|
+
x: string | number;
|
|
9990
|
+
y: string | number;
|
|
9991
|
+
z: string | number;
|
|
9992
|
+
} | undefined;
|
|
9993
|
+
size?: {
|
|
9994
|
+
x: string | number;
|
|
9995
|
+
y: string | number;
|
|
9996
|
+
z: string | number;
|
|
9997
|
+
} | undefined;
|
|
9998
|
+
}>, zod.ZodObject<zod.objectUtil.extendShape<{
|
|
9999
|
+
rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
|
|
10000
|
+
x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
|
|
10001
|
+
y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
|
|
10002
|
+
z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
|
|
10003
|
+
}, "strip", zod.ZodTypeAny, {
|
|
10004
|
+
x: string | number;
|
|
10005
|
+
y: string | number;
|
|
10006
|
+
z: string | number;
|
|
10007
|
+
}, {
|
|
10008
|
+
x: string | number;
|
|
10009
|
+
y: string | number;
|
|
10010
|
+
z: string | number;
|
|
10011
|
+
}>]>>;
|
|
10012
|
+
positionOffset: zod.ZodOptional<zod.ZodObject<{
|
|
10013
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10014
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10015
|
+
z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10016
|
+
}, "strip", zod.ZodTypeAny, {
|
|
10017
|
+
x: number;
|
|
10018
|
+
y: number;
|
|
10019
|
+
z: number;
|
|
10020
|
+
}, {
|
|
10021
|
+
x: string | number;
|
|
10022
|
+
y: string | number;
|
|
10023
|
+
z: string | number;
|
|
10024
|
+
}>>;
|
|
10025
|
+
size: zod.ZodOptional<zod.ZodObject<{
|
|
10026
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10027
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10028
|
+
z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10029
|
+
}, "strip", zod.ZodTypeAny, {
|
|
10030
|
+
x: number;
|
|
10031
|
+
y: number;
|
|
10032
|
+
z: number;
|
|
10033
|
+
}, {
|
|
10034
|
+
x: string | number;
|
|
10035
|
+
y: string | number;
|
|
10036
|
+
z: string | number;
|
|
10037
|
+
}>>;
|
|
10038
|
+
}, {
|
|
10039
|
+
objUrl: zod.ZodString;
|
|
10040
|
+
mtlUrl: zod.ZodOptional<zod.ZodString>;
|
|
10041
|
+
}>, "strip", zod.ZodTypeAny, {
|
|
10042
|
+
objUrl: string;
|
|
10043
|
+
rotationOffset?: number | {
|
|
10044
|
+
x: string | number;
|
|
10045
|
+
y: string | number;
|
|
10046
|
+
z: string | number;
|
|
10047
|
+
} | undefined;
|
|
10048
|
+
positionOffset?: {
|
|
10049
|
+
x: number;
|
|
10050
|
+
y: number;
|
|
10051
|
+
z: number;
|
|
10052
|
+
} | undefined;
|
|
10053
|
+
size?: {
|
|
10054
|
+
x: number;
|
|
10055
|
+
y: number;
|
|
10056
|
+
z: number;
|
|
10057
|
+
} | undefined;
|
|
10058
|
+
mtlUrl?: string | undefined;
|
|
10059
|
+
}, {
|
|
10060
|
+
objUrl: string;
|
|
10061
|
+
rotationOffset?: number | {
|
|
10062
|
+
x: string | number;
|
|
10063
|
+
y: string | number;
|
|
10064
|
+
z: string | number;
|
|
10065
|
+
} | undefined;
|
|
10066
|
+
positionOffset?: {
|
|
10067
|
+
x: string | number;
|
|
10068
|
+
y: string | number;
|
|
10069
|
+
z: string | number;
|
|
10070
|
+
} | undefined;
|
|
10071
|
+
size?: {
|
|
10072
|
+
x: string | number;
|
|
10073
|
+
y: string | number;
|
|
10074
|
+
z: string | number;
|
|
10075
|
+
} | undefined;
|
|
10076
|
+
mtlUrl?: string | undefined;
|
|
10077
|
+
}>, zod.ZodObject<zod.objectUtil.extendShape<{
|
|
10078
|
+
rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
|
|
10079
|
+
x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
|
|
10080
|
+
y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
|
|
10081
|
+
z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
|
|
10082
|
+
}, "strip", zod.ZodTypeAny, {
|
|
10083
|
+
x: string | number;
|
|
10084
|
+
y: string | number;
|
|
10085
|
+
z: string | number;
|
|
10086
|
+
}, {
|
|
10087
|
+
x: string | number;
|
|
10088
|
+
y: string | number;
|
|
10089
|
+
z: string | number;
|
|
10090
|
+
}>]>>;
|
|
10091
|
+
positionOffset: zod.ZodOptional<zod.ZodObject<{
|
|
10092
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10093
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10094
|
+
z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10095
|
+
}, "strip", zod.ZodTypeAny, {
|
|
10096
|
+
x: number;
|
|
10097
|
+
y: number;
|
|
10098
|
+
z: number;
|
|
10099
|
+
}, {
|
|
10100
|
+
x: string | number;
|
|
10101
|
+
y: string | number;
|
|
10102
|
+
z: string | number;
|
|
10103
|
+
}>>;
|
|
10104
|
+
size: zod.ZodOptional<zod.ZodObject<{
|
|
10105
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10106
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10107
|
+
z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
10108
|
+
}, "strip", zod.ZodTypeAny, {
|
|
10109
|
+
x: number;
|
|
10110
|
+
y: number;
|
|
10111
|
+
z: number;
|
|
10112
|
+
}, {
|
|
10113
|
+
x: string | number;
|
|
10114
|
+
y: string | number;
|
|
10115
|
+
z: string | number;
|
|
10116
|
+
}>>;
|
|
10117
|
+
}, {
|
|
10118
|
+
jscad: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
|
|
10119
|
+
}>, "strip", zod.ZodTypeAny, {
|
|
10120
|
+
jscad: Record<string, any>;
|
|
10121
|
+
rotationOffset?: number | {
|
|
10122
|
+
x: string | number;
|
|
10123
|
+
y: string | number;
|
|
10124
|
+
z: string | number;
|
|
10125
|
+
} | undefined;
|
|
10126
|
+
positionOffset?: {
|
|
10127
|
+
x: number;
|
|
10128
|
+
y: number;
|
|
10129
|
+
z: number;
|
|
10130
|
+
} | undefined;
|
|
10131
|
+
size?: {
|
|
10132
|
+
x: number;
|
|
10133
|
+
y: number;
|
|
10134
|
+
z: number;
|
|
10135
|
+
} | undefined;
|
|
10136
|
+
}, {
|
|
10137
|
+
jscad: Record<string, any>;
|
|
10138
|
+
rotationOffset?: number | {
|
|
10139
|
+
x: string | number;
|
|
10140
|
+
y: string | number;
|
|
10141
|
+
z: string | number;
|
|
10142
|
+
} | undefined;
|
|
10143
|
+
positionOffset?: {
|
|
10144
|
+
x: string | number;
|
|
10145
|
+
y: string | number;
|
|
10146
|
+
z: string | number;
|
|
10147
|
+
} | undefined;
|
|
10148
|
+
size?: {
|
|
10149
|
+
x: string | number;
|
|
10150
|
+
y: string | number;
|
|
10151
|
+
z: string | number;
|
|
10152
|
+
} | undefined;
|
|
10153
|
+
}>]>>;
|
|
10154
|
+
children: zod.ZodOptional<zod.ZodAny>;
|
|
10155
|
+
symbolName: zod.ZodOptional<zod.ZodString>;
|
|
10156
|
+
}>, {
|
|
10157
|
+
type: zod.ZodOptional<zod.ZodEnum<["spst", "spdt", "dpst", "dpdt"]>>;
|
|
10158
|
+
isNormallyClosed: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
|
|
10159
|
+
spst: zod.ZodOptional<zod.ZodBoolean>;
|
|
10160
|
+
spdt: zod.ZodOptional<zod.ZodBoolean>;
|
|
10161
|
+
dpst: zod.ZodOptional<zod.ZodBoolean>;
|
|
10162
|
+
dpdt: zod.ZodOptional<zod.ZodBoolean>;
|
|
10163
|
+
}>, "strip", zod.ZodTypeAny, {
|
|
10164
|
+
name: string;
|
|
10165
|
+
isNormallyClosed: boolean;
|
|
10166
|
+
type?: "spst" | "spdt" | "dpst" | "dpdt" | undefined;
|
|
10167
|
+
pcbX?: number | undefined;
|
|
10168
|
+
pcbY?: number | undefined;
|
|
10169
|
+
pcbRotation?: number | undefined;
|
|
10170
|
+
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
10171
|
+
schX?: number | undefined;
|
|
10172
|
+
schY?: number | undefined;
|
|
10173
|
+
schRotation?: number | undefined;
|
|
10174
|
+
footprint?: _tscircuit_props.Footprint | undefined;
|
|
10175
|
+
supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
|
|
10176
|
+
key?: any;
|
|
10177
|
+
cadModel?: string | {
|
|
10178
|
+
stlUrl: string;
|
|
10179
|
+
rotationOffset?: number | {
|
|
10180
|
+
x: string | number;
|
|
10181
|
+
y: string | number;
|
|
10182
|
+
z: string | number;
|
|
10183
|
+
} | undefined;
|
|
10184
|
+
positionOffset?: {
|
|
10185
|
+
x: number;
|
|
10186
|
+
y: number;
|
|
10187
|
+
z: number;
|
|
10188
|
+
} | undefined;
|
|
10189
|
+
size?: {
|
|
10190
|
+
x: number;
|
|
10191
|
+
y: number;
|
|
10192
|
+
z: number;
|
|
10193
|
+
} | undefined;
|
|
10194
|
+
} | {
|
|
10195
|
+
objUrl: string;
|
|
10196
|
+
rotationOffset?: number | {
|
|
10197
|
+
x: string | number;
|
|
10198
|
+
y: string | number;
|
|
10199
|
+
z: string | number;
|
|
10200
|
+
} | undefined;
|
|
10201
|
+
positionOffset?: {
|
|
10202
|
+
x: number;
|
|
10203
|
+
y: number;
|
|
10204
|
+
z: number;
|
|
10205
|
+
} | undefined;
|
|
10206
|
+
size?: {
|
|
10207
|
+
x: number;
|
|
10208
|
+
y: number;
|
|
10209
|
+
z: number;
|
|
10210
|
+
} | undefined;
|
|
10211
|
+
mtlUrl?: string | undefined;
|
|
10212
|
+
} | {
|
|
10213
|
+
jscad: Record<string, any>;
|
|
10214
|
+
rotationOffset?: number | {
|
|
10215
|
+
x: string | number;
|
|
10216
|
+
y: string | number;
|
|
10217
|
+
z: string | number;
|
|
10218
|
+
} | undefined;
|
|
10219
|
+
positionOffset?: {
|
|
10220
|
+
x: number;
|
|
10221
|
+
y: number;
|
|
10222
|
+
z: number;
|
|
10223
|
+
} | undefined;
|
|
10224
|
+
size?: {
|
|
10225
|
+
x: number;
|
|
10226
|
+
y: number;
|
|
10227
|
+
z: number;
|
|
10228
|
+
} | undefined;
|
|
10229
|
+
} | undefined;
|
|
10230
|
+
children?: any;
|
|
10231
|
+
symbolName?: string | undefined;
|
|
10232
|
+
spst?: boolean | undefined;
|
|
10233
|
+
spdt?: boolean | undefined;
|
|
10234
|
+
dpst?: boolean | undefined;
|
|
10235
|
+
dpdt?: boolean | undefined;
|
|
10236
|
+
}, {
|
|
10237
|
+
name: string;
|
|
10238
|
+
type?: "spst" | "spdt" | "dpst" | "dpdt" | undefined;
|
|
10239
|
+
pcbX?: string | number | undefined;
|
|
10240
|
+
pcbY?: string | number | undefined;
|
|
10241
|
+
pcbRotation?: string | number | undefined;
|
|
10242
|
+
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
10243
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
10244
|
+
} | undefined;
|
|
10245
|
+
schX?: string | number | undefined;
|
|
10246
|
+
schY?: string | number | undefined;
|
|
10247
|
+
schRotation?: string | number | undefined;
|
|
10248
|
+
footprint?: _tscircuit_props.Footprint | undefined;
|
|
10249
|
+
supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
|
|
10250
|
+
key?: any;
|
|
10251
|
+
cadModel?: string | {
|
|
10252
|
+
stlUrl: string;
|
|
10253
|
+
rotationOffset?: number | {
|
|
10254
|
+
x: string | number;
|
|
10255
|
+
y: string | number;
|
|
10256
|
+
z: string | number;
|
|
10257
|
+
} | undefined;
|
|
10258
|
+
positionOffset?: {
|
|
10259
|
+
x: string | number;
|
|
10260
|
+
y: string | number;
|
|
10261
|
+
z: string | number;
|
|
10262
|
+
} | undefined;
|
|
10263
|
+
size?: {
|
|
10264
|
+
x: string | number;
|
|
10265
|
+
y: string | number;
|
|
10266
|
+
z: string | number;
|
|
10267
|
+
} | undefined;
|
|
10268
|
+
} | {
|
|
10269
|
+
objUrl: string;
|
|
10270
|
+
rotationOffset?: number | {
|
|
10271
|
+
x: string | number;
|
|
10272
|
+
y: string | number;
|
|
10273
|
+
z: string | number;
|
|
10274
|
+
} | undefined;
|
|
10275
|
+
positionOffset?: {
|
|
10276
|
+
x: string | number;
|
|
10277
|
+
y: string | number;
|
|
10278
|
+
z: string | number;
|
|
10279
|
+
} | undefined;
|
|
10280
|
+
size?: {
|
|
10281
|
+
x: string | number;
|
|
10282
|
+
y: string | number;
|
|
10283
|
+
z: string | number;
|
|
10284
|
+
} | undefined;
|
|
10285
|
+
mtlUrl?: string | undefined;
|
|
10286
|
+
} | {
|
|
10287
|
+
jscad: Record<string, any>;
|
|
10288
|
+
rotationOffset?: number | {
|
|
10289
|
+
x: string | number;
|
|
10290
|
+
y: string | number;
|
|
10291
|
+
z: string | number;
|
|
10292
|
+
} | undefined;
|
|
10293
|
+
positionOffset?: {
|
|
10294
|
+
x: string | number;
|
|
10295
|
+
y: string | number;
|
|
10296
|
+
z: string | number;
|
|
10297
|
+
} | undefined;
|
|
10298
|
+
size?: {
|
|
10299
|
+
x: string | number;
|
|
10300
|
+
y: string | number;
|
|
10301
|
+
z: string | number;
|
|
10302
|
+
} | undefined;
|
|
10303
|
+
} | undefined;
|
|
10304
|
+
children?: any;
|
|
10305
|
+
symbolName?: string | undefined;
|
|
10306
|
+
spst?: boolean | undefined;
|
|
10307
|
+
spdt?: boolean | undefined;
|
|
10308
|
+
dpst?: boolean | undefined;
|
|
10309
|
+
dpdt?: boolean | undefined;
|
|
10310
|
+
isNormallyClosed?: boolean | undefined;
|
|
10311
|
+
}>, _tscircuit_props.SwitchProps, {
|
|
10312
|
+
name: string;
|
|
10313
|
+
type?: "spst" | "spdt" | "dpst" | "dpdt" | undefined;
|
|
10314
|
+
pcbX?: string | number | undefined;
|
|
10315
|
+
pcbY?: string | number | undefined;
|
|
10316
|
+
pcbRotation?: string | number | undefined;
|
|
10317
|
+
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
10318
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
10319
|
+
} | undefined;
|
|
10320
|
+
schX?: string | number | undefined;
|
|
10321
|
+
schY?: string | number | undefined;
|
|
10322
|
+
schRotation?: string | number | undefined;
|
|
10323
|
+
footprint?: _tscircuit_props.Footprint | undefined;
|
|
10324
|
+
supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
|
|
10325
|
+
key?: any;
|
|
10326
|
+
cadModel?: string | {
|
|
10327
|
+
stlUrl: string;
|
|
10328
|
+
rotationOffset?: number | {
|
|
10329
|
+
x: string | number;
|
|
10330
|
+
y: string | number;
|
|
10331
|
+
z: string | number;
|
|
10332
|
+
} | undefined;
|
|
10333
|
+
positionOffset?: {
|
|
10334
|
+
x: string | number;
|
|
10335
|
+
y: string | number;
|
|
10336
|
+
z: string | number;
|
|
10337
|
+
} | undefined;
|
|
10338
|
+
size?: {
|
|
10339
|
+
x: string | number;
|
|
10340
|
+
y: string | number;
|
|
10341
|
+
z: string | number;
|
|
10342
|
+
} | undefined;
|
|
10343
|
+
} | {
|
|
10344
|
+
objUrl: string;
|
|
10345
|
+
rotationOffset?: number | {
|
|
10346
|
+
x: string | number;
|
|
10347
|
+
y: string | number;
|
|
10348
|
+
z: string | number;
|
|
10349
|
+
} | undefined;
|
|
10350
|
+
positionOffset?: {
|
|
10351
|
+
x: string | number;
|
|
10352
|
+
y: string | number;
|
|
10353
|
+
z: string | number;
|
|
10354
|
+
} | undefined;
|
|
10355
|
+
size?: {
|
|
10356
|
+
x: string | number;
|
|
10357
|
+
y: string | number;
|
|
10358
|
+
z: string | number;
|
|
10359
|
+
} | undefined;
|
|
10360
|
+
mtlUrl?: string | undefined;
|
|
10361
|
+
} | {
|
|
10362
|
+
jscad: Record<string, any>;
|
|
10363
|
+
rotationOffset?: number | {
|
|
10364
|
+
x: string | number;
|
|
10365
|
+
y: string | number;
|
|
10366
|
+
z: string | number;
|
|
10367
|
+
} | undefined;
|
|
10368
|
+
positionOffset?: {
|
|
10369
|
+
x: string | number;
|
|
10370
|
+
y: string | number;
|
|
10371
|
+
z: string | number;
|
|
10372
|
+
} | undefined;
|
|
10373
|
+
size?: {
|
|
10374
|
+
x: string | number;
|
|
10375
|
+
y: string | number;
|
|
10376
|
+
z: string | number;
|
|
10377
|
+
} | undefined;
|
|
10378
|
+
} | undefined;
|
|
10379
|
+
children?: any;
|
|
10380
|
+
symbolName?: string | undefined;
|
|
10381
|
+
spst?: boolean | undefined;
|
|
10382
|
+
spdt?: boolean | undefined;
|
|
10383
|
+
dpst?: boolean | undefined;
|
|
10384
|
+
dpdt?: boolean | undefined;
|
|
10385
|
+
isNormallyClosed?: boolean | undefined;
|
|
10386
|
+
}>;
|
|
10387
|
+
shouldRenderAsSchematicBox: boolean;
|
|
10388
|
+
};
|
|
10389
|
+
doInitialSourceRender(): void;
|
|
10390
|
+
}
|
|
10391
|
+
|
|
9892
10392
|
declare const useRenderedCircuit: (reactElements: React.ReactElement) => {
|
|
9893
10393
|
isLoading: boolean;
|
|
9894
10394
|
error?: Error | null;
|
|
@@ -10304,6 +10804,7 @@ interface TscircuitElements {
|
|
|
10304
10804
|
resonator: _tscircuit_props.ResonatorProps;
|
|
10305
10805
|
subcircuit: _tscircuit_props.SubcircuitGroupProps;
|
|
10306
10806
|
transistor: _tscircuit_props.TransistorProps;
|
|
10807
|
+
switch: _tscircuit_props.SwitchProps;
|
|
10307
10808
|
mosfet: _tscircuit_props.MosfetProps;
|
|
10308
10809
|
jscad: any;
|
|
10309
10810
|
}
|
|
@@ -10316,8 +10817,9 @@ declare module "react" {
|
|
|
10316
10817
|
declare module "react/jsx-runtime" {
|
|
10317
10818
|
namespace JSX {
|
|
10318
10819
|
interface IntrinsicElements extends TscircuitElements {
|
|
10820
|
+
switch: DetailedHTMLProps<SVGProps<SVGSwitchElement>, SVGSwitchElement> | TscircuitElements["switch"];
|
|
10319
10821
|
}
|
|
10320
10822
|
}
|
|
10321
10823
|
}
|
|
10322
10824
|
|
|
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 };
|
|
10825
|
+
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,
|
|
@@ -6596,6 +6597,46 @@ var Mosfet = class extends NormalComponent {
|
|
|
6596
6597
|
}
|
|
6597
6598
|
};
|
|
6598
6599
|
|
|
6600
|
+
// lib/components/normal-components/Switch.ts
|
|
6601
|
+
import { switchProps } from "@tscircuit/props";
|
|
6602
|
+
var Switch = class extends NormalComponent {
|
|
6603
|
+
_getSwitchType() {
|
|
6604
|
+
const { spst, spdt, dpst, dpdt, type } = this._parsedProps ?? {};
|
|
6605
|
+
if (dpdt) return "dpdt";
|
|
6606
|
+
if (spst) return "spst";
|
|
6607
|
+
if (spdt) return "spdt";
|
|
6608
|
+
if (dpst) return "dpst";
|
|
6609
|
+
return type ?? "spst";
|
|
6610
|
+
}
|
|
6611
|
+
get config() {
|
|
6612
|
+
const switchType = this._getSwitchType();
|
|
6613
|
+
const baseSymbolNameMap = {
|
|
6614
|
+
spst: "SPST_switch",
|
|
6615
|
+
spdt: "SPDT_switch",
|
|
6616
|
+
dpst: "dpst_switch",
|
|
6617
|
+
dpdt: "dpdt_switch"
|
|
6618
|
+
};
|
|
6619
|
+
const symbolName = baseSymbolNameMap[switchType] ?? "SPST_switch";
|
|
6620
|
+
return {
|
|
6621
|
+
componentName: "Switch",
|
|
6622
|
+
schematicSymbolName: symbolName,
|
|
6623
|
+
zodProps: switchProps,
|
|
6624
|
+
shouldRenderAsSchematicBox: false
|
|
6625
|
+
};
|
|
6626
|
+
}
|
|
6627
|
+
doInitialSourceRender() {
|
|
6628
|
+
const { db } = this.root;
|
|
6629
|
+
const { _parsedProps: props } = this;
|
|
6630
|
+
const source_component = db.source_component.insert({
|
|
6631
|
+
ftype: "simple_switch",
|
|
6632
|
+
name: props.name,
|
|
6633
|
+
switch_type: props.type,
|
|
6634
|
+
is_normally_closed: props.isNormallyClosed ?? false
|
|
6635
|
+
});
|
|
6636
|
+
this.source_component_id = source_component.source_component_id;
|
|
6637
|
+
}
|
|
6638
|
+
};
|
|
6639
|
+
|
|
6599
6640
|
// lib/RootCircuit.ts
|
|
6600
6641
|
import { su } from "@tscircuit/soup-util";
|
|
6601
6642
|
import { isValidElement as isValidElement2 } from "react";
|
|
@@ -7062,6 +7103,7 @@ export {
|
|
|
7062
7103
|
SilkscreenText,
|
|
7063
7104
|
SmtPad,
|
|
7064
7105
|
Subcircuit,
|
|
7106
|
+
Switch,
|
|
7065
7107
|
Trace2 as Trace,
|
|
7066
7108
|
TraceHint,
|
|
7067
7109
|
Transistor,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.315",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -54,7 +54,7 @@
|
|
|
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.
|
|
57
|
+
"@tscircuit/props": "^0.0.150",
|
|
58
58
|
"@tscircuit/schematic-autolayout": "^0.0.6",
|
|
59
59
|
"@tscircuit/soup-util": "^0.0.41",
|
|
60
60
|
"circuit-json": "^0.0.136",
|