@tscircuit/props 0.0.5 → 0.0.7
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 +16 -9
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
3
|
import { LayoutBuilder } from '@tscircuit/layout';
|
|
4
4
|
|
|
5
|
+
declare const portHints: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">;
|
|
5
6
|
declare const direction: z.ZodEnum<["up", "down", "left", "right"]>;
|
|
6
7
|
declare const relativeDirection: z.ZodEnum<["top-to-bottom", "left-to-right", "bottom-to-top", "right-to-left"]>;
|
|
7
8
|
declare const explicitPinSideDefinition: z.ZodObject<{
|
|
@@ -895,14 +896,14 @@ declare const smtPadProps: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<Omit
|
|
|
895
896
|
}, "pcbRotation">, {
|
|
896
897
|
shape: z.ZodLiteral<"circle">;
|
|
897
898
|
radius: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
898
|
-
portHints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
899
|
+
portHints: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">>;
|
|
899
900
|
}>, "strip", z.ZodTypeAny, {
|
|
900
901
|
pcbX: number;
|
|
901
902
|
pcbY: number;
|
|
902
903
|
shape: "circle";
|
|
903
904
|
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
904
905
|
radius?: number | undefined;
|
|
905
|
-
portHints?: string[] | undefined;
|
|
906
|
+
portHints?: (string | number)[] | undefined;
|
|
906
907
|
}, {
|
|
907
908
|
pcbX: string | number;
|
|
908
909
|
pcbY: string | number;
|
|
@@ -911,7 +912,7 @@ declare const smtPadProps: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<Omit
|
|
|
911
912
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
912
913
|
} | undefined;
|
|
913
914
|
radius?: string | number | undefined;
|
|
914
|
-
portHints?: string[] | undefined;
|
|
915
|
+
portHints?: (string | number)[] | undefined;
|
|
915
916
|
}>, z.ZodObject<z.objectUtil.extendShape<Omit<{
|
|
916
917
|
pcbX: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
917
918
|
pcbY: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
@@ -929,7 +930,7 @@ declare const smtPadProps: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<Omit
|
|
|
929
930
|
shape: z.ZodLiteral<"rect">;
|
|
930
931
|
width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
931
932
|
height: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
932
|
-
portHints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
933
|
+
portHints: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">>;
|
|
933
934
|
}>, "strip", z.ZodTypeAny, {
|
|
934
935
|
pcbX: number;
|
|
935
936
|
pcbY: number;
|
|
@@ -937,7 +938,7 @@ declare const smtPadProps: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<Omit
|
|
|
937
938
|
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
938
939
|
width?: number | undefined;
|
|
939
940
|
height?: number | undefined;
|
|
940
|
-
portHints?: string[] | undefined;
|
|
941
|
+
portHints?: (string | number)[] | undefined;
|
|
941
942
|
}, {
|
|
942
943
|
pcbX: string | number;
|
|
943
944
|
pcbY: string | number;
|
|
@@ -947,7 +948,7 @@ declare const smtPadProps: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<Omit
|
|
|
947
948
|
} | undefined;
|
|
948
949
|
width?: string | number | undefined;
|
|
949
950
|
height?: string | number | undefined;
|
|
950
|
-
portHints?: string[] | undefined;
|
|
951
|
+
portHints?: (string | number)[] | undefined;
|
|
951
952
|
}>]>;
|
|
952
953
|
type SmtPadProps = z.input<typeof smtPadProps>;
|
|
953
954
|
declare const platedHoleProps: z.ZodObject<z.objectUtil.extendShape<Omit<{
|
|
@@ -966,16 +967,19 @@ declare const platedHoleProps: z.ZodObject<z.objectUtil.extendShape<Omit<{
|
|
|
966
967
|
}, "pcbRotation" | "layer">, {
|
|
967
968
|
holeDiameter: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
968
969
|
outerDiameter: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
970
|
+
portHints: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">>;
|
|
969
971
|
}>, "strip", z.ZodTypeAny, {
|
|
970
972
|
pcbX: number;
|
|
971
973
|
pcbY: number;
|
|
972
974
|
holeDiameter: number;
|
|
973
975
|
outerDiameter: number;
|
|
976
|
+
portHints?: (string | number)[] | undefined;
|
|
974
977
|
}, {
|
|
975
978
|
pcbX: string | number;
|
|
976
979
|
pcbY: string | number;
|
|
977
980
|
holeDiameter: string | number;
|
|
978
981
|
outerDiameter: string | number;
|
|
982
|
+
portHints?: (string | number)[] | undefined;
|
|
979
983
|
}>;
|
|
980
984
|
type PlatedHoleProps = z.input<typeof platedHoleProps>;
|
|
981
985
|
declare const holeProps: z.ZodObject<z.objectUtil.extendShape<Omit<{
|
|
@@ -1090,14 +1094,14 @@ declare const constraintProps: z.ZodUnion<[z.ZodObject<{
|
|
|
1090
1094
|
left: z.ZodString;
|
|
1091
1095
|
right: z.ZodString;
|
|
1092
1096
|
}, "strip", z.ZodTypeAny, {
|
|
1097
|
+
type: "xdist";
|
|
1093
1098
|
left: string;
|
|
1094
1099
|
right: string;
|
|
1095
|
-
type: "xdist";
|
|
1096
1100
|
dist: number;
|
|
1097
1101
|
}, {
|
|
1102
|
+
type: "xdist";
|
|
1098
1103
|
left: string;
|
|
1099
1104
|
right: string;
|
|
1100
|
-
type: "xdist";
|
|
1101
1105
|
dist: string | number;
|
|
1102
1106
|
}>, z.ZodObject<{
|
|
1103
1107
|
type: z.ZodLiteral<"ydist">;
|
|
@@ -1652,6 +1656,7 @@ declare const traceHintProps: z.ZodObject<{
|
|
|
1652
1656
|
type TraceHintProps = z.input<typeof traceHintProps>;
|
|
1653
1657
|
declare const pcbTraceProps: z.ZodObject<{
|
|
1654
1658
|
layer: z.ZodOptional<z.ZodString>;
|
|
1659
|
+
thickness: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
1655
1660
|
route: z.ZodArray<z.ZodObject<{
|
|
1656
1661
|
x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
1657
1662
|
y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
@@ -1686,6 +1691,7 @@ declare const pcbTraceProps: z.ZodObject<{
|
|
|
1686
1691
|
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
1687
1692
|
}[];
|
|
1688
1693
|
layer?: string | undefined;
|
|
1694
|
+
thickness?: number | undefined;
|
|
1689
1695
|
}, {
|
|
1690
1696
|
route: {
|
|
1691
1697
|
x: string | number;
|
|
@@ -1696,7 +1702,8 @@ declare const pcbTraceProps: z.ZodObject<{
|
|
|
1696
1702
|
} | undefined;
|
|
1697
1703
|
}[];
|
|
1698
1704
|
layer?: string | undefined;
|
|
1705
|
+
thickness?: string | number | undefined;
|
|
1699
1706
|
}>;
|
|
1700
1707
|
type PcbTraceProps = z.input<typeof pcbTraceProps>;
|
|
1701
1708
|
|
|
1702
|
-
export { type BoardProps, type BugProps, type CapacitorProps, type CommonComponentProps, type CommonLayoutProps, type ComponentProps, type ConstrainedLayoutProps, type ConstraintProps, type DiodeProps, type Footprint, type FootprintProps, type GroupProps, type HoleProps, type InductorProps, type LedProps, type NetAliasProps, type PcbTraceProps, type PlatedHoleProps, type PortProps, type PowerSourceProps, type ResistorProps, type SchematicBoxProps, type SchematicLineProps, type SchematicPathProps, type SchematicTextProps, type SilkscreenCircleProps, type SilkscreenLineProps, type SilkscreenPathProps, type SilkscreenRectProps, type SilkscreenTextProps, type SmtPadProps, type SupplierProps, type TraceHintProps, type TraceProps, type ViaProps, boardProps, bugProps, capacitorPins, capacitorProps, commonComponentProps, commonLayoutProps, componentProps, constrainedLayoutProps, constraintProps, diodePins, diodeProps, direction, explicitPinSideDefinition, footprintProps, groupProps, holeProps, inductorPins, inductorProps, ledPins, ledProps, lrPins, lrPolarPins, netAliasProps, pcbLayoutProps, pcbTraceProps, platedHoleProps, portProps, powerSourceProps, relativeDirection, resistorPins, resistorProps, schematicBoxProps, schematicLineProps, schematicPathProps, schematicTextProps, silkscreenCircleProps, silkscreenLineProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, smtPadProps, supplierProps, traceHintProps, traceProps, viaProps };
|
|
1709
|
+
export { type BoardProps, type BugProps, type CapacitorProps, type CommonComponentProps, type CommonLayoutProps, type ComponentProps, type ConstrainedLayoutProps, type ConstraintProps, type DiodeProps, type Footprint, type FootprintProps, type GroupProps, type HoleProps, type InductorProps, type LedProps, type NetAliasProps, type PcbTraceProps, type PlatedHoleProps, type PortProps, type PowerSourceProps, type ResistorProps, type SchematicBoxProps, type SchematicLineProps, type SchematicPathProps, type SchematicTextProps, type SilkscreenCircleProps, type SilkscreenLineProps, type SilkscreenPathProps, type SilkscreenRectProps, type SilkscreenTextProps, type SmtPadProps, type SupplierProps, type TraceHintProps, type TraceProps, type ViaProps, boardProps, bugProps, capacitorPins, capacitorProps, commonComponentProps, commonLayoutProps, componentProps, constrainedLayoutProps, constraintProps, diodePins, diodeProps, direction, explicitPinSideDefinition, footprintProps, groupProps, holeProps, inductorPins, inductorProps, ledPins, ledProps, lrPins, lrPolarPins, netAliasProps, pcbLayoutProps, pcbTraceProps, platedHoleProps, portHints, portProps, powerSourceProps, relativeDirection, resistorPins, resistorProps, schematicBoxProps, schematicLineProps, schematicPathProps, schematicTextProps, silkscreenCircleProps, silkscreenLineProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, smtPadProps, supplierProps, traceHintProps, traceProps, viaProps };
|
package/dist/index.js
CHANGED
|
@@ -46,6 +46,7 @@ __export(lib_exports, {
|
|
|
46
46
|
pcbLayoutProps: () => pcbLayoutProps,
|
|
47
47
|
pcbTraceProps: () => pcbTraceProps,
|
|
48
48
|
platedHoleProps: () => platedHoleProps,
|
|
49
|
+
portHints: () => portHints,
|
|
49
50
|
portProps: () => portProps,
|
|
50
51
|
powerSourceProps: () => powerSourceProps,
|
|
51
52
|
relativeDirection: () => relativeDirection,
|
|
@@ -69,6 +70,7 @@ __export(lib_exports, {
|
|
|
69
70
|
module.exports = __toCommonJS(lib_exports);
|
|
70
71
|
var import_zod = require("zod");
|
|
71
72
|
var import_soup = require("@tscircuit/soup");
|
|
73
|
+
var portHints = import_zod.z.array(import_zod.z.string().or(import_zod.z.number()));
|
|
72
74
|
var direction = import_zod.z.enum(["up", "down", "left", "right"]);
|
|
73
75
|
var relativeDirection = import_zod.z.enum([
|
|
74
76
|
"top-to-bottom",
|
|
@@ -190,18 +192,19 @@ var smtPadProps = import_zod.z.union([
|
|
|
190
192
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
191
193
|
shape: import_zod.z.literal("circle"),
|
|
192
194
|
radius: import_soup.distance.optional(),
|
|
193
|
-
portHints:
|
|
195
|
+
portHints: portHints.optional()
|
|
194
196
|
}),
|
|
195
197
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
196
198
|
shape: import_zod.z.literal("rect"),
|
|
197
199
|
width: import_soup.distance.optional(),
|
|
198
200
|
height: import_soup.distance.optional(),
|
|
199
|
-
portHints:
|
|
201
|
+
portHints: portHints.optional()
|
|
200
202
|
})
|
|
201
203
|
]);
|
|
202
204
|
var platedHoleProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
203
205
|
holeDiameter: import_soup.distance,
|
|
204
|
-
outerDiameter: import_soup.distance
|
|
206
|
+
outerDiameter: import_soup.distance,
|
|
207
|
+
portHints: portHints.optional()
|
|
205
208
|
});
|
|
206
209
|
var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
207
210
|
holeDiameter: import_soup.distance
|
|
@@ -296,6 +299,7 @@ var traceHintProps = import_zod.z.object({
|
|
|
296
299
|
});
|
|
297
300
|
var pcbTraceProps = import_zod.z.object({
|
|
298
301
|
layer: import_zod.z.string().optional(),
|
|
302
|
+
thickness: import_soup.distance.optional(),
|
|
299
303
|
route: import_zod.z.array(import_soup.route_hint_point)
|
|
300
304
|
});
|
|
301
305
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -326,6 +330,7 @@ var pcbTraceProps = import_zod.z.object({
|
|
|
326
330
|
pcbLayoutProps,
|
|
327
331
|
pcbTraceProps,
|
|
328
332
|
platedHoleProps,
|
|
333
|
+
portHints,
|
|
329
334
|
portProps,
|
|
330
335
|
powerSourceProps,
|
|
331
336
|
relativeDirection,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/index.ts"],"sourcesContent":["import { z } from \"zod\"\nimport {\n distance,\n rotation,\n layer_ref,\n supplier_name,\n resistance,\n capacitance,\n inductance,\n point,\n voltage,\n route_hint_point,\n} from \"@tscircuit/soup\"\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { LayoutBuilder } from \"@tscircuit/layout\"\n\nexport const direction = z.enum([\"up\", \"down\", \"left\", \"right\"])\n\nexport const relativeDirection = z.enum([\n \"top-to-bottom\",\n \"left-to-right\",\n \"bottom-to-top\",\n \"right-to-left\",\n])\n\nexport const explicitPinSideDefinition = z.object({\n pins: z.array(z.number()),\n direction: z.union([\n z.literal(\"top-to-bottom\"),\n z.literal(\"left-to-right\"),\n z.literal(\"bottom-to-top\"),\n z.literal(\"right-to-left\"),\n ]),\n})\n\nexport type Footprint = string | ReactElement\nexport const pcbLayoutProps = z.object({\n pcbX: distance,\n pcbY: distance,\n pcbRotation: rotation.optional(),\n layer: layer_ref.optional(),\n})\nexport const commonLayoutProps = z.object({\n pcbX: distance.optional(),\n pcbY: distance.optional(),\n pcbRotation: rotation.optional(),\n schX: distance.optional(),\n schY: distance.optional(),\n schRotation: rotation.optional(),\n layer: layer_ref.optional(),\n\n // TODO pull in literals from @tscircuit/footprint\n // TODO footprint can be a string or react child\n footprint: z.custom<Footprint>((v) => true).optional(),\n})\nexport type CommonLayoutProps = z.input<typeof commonLayoutProps>\n\nexport const supplierProps = z.object({\n supplierPartNumbers: z.record(supplier_name, z.array(z.string())).optional(),\n})\nexport type SupplierProps = z.input<typeof supplierProps>\n\nexport const commonComponentProps = commonLayoutProps\n .merge(supplierProps)\n .extend({\n name: z.string(),\n children: z.any().optional(),\n })\nexport type CommonComponentProps = z.input<typeof commonComponentProps>\n\nexport const lrPins = [\"pin1\", \"left\", \"pin2\", \"right\"] as const\nexport const lrPolarPins = [\n \"pin1\",\n \"left\",\n \"anode\",\n \"pos\",\n \"pin2\",\n \"right\",\n \"cathode\",\n \"neg\",\n] as const\n\nexport const resistorProps = commonComponentProps.extend({\n resistance,\n})\nexport const resistorPins = lrPins\nexport type ResistorProps = z.input<typeof resistorProps>\n\nexport const capacitorProps = commonComponentProps.extend({\n capacitance,\n})\nexport const capacitorPins = lrPolarPins\nexport type CapacitorProps = z.input<typeof capacitorProps>\n\nexport const inductorProps = commonComponentProps.extend({\n inductance,\n})\nexport const inductorPins = lrPins\nexport type InductorProps = z.input<typeof inductorProps>\n\nexport const diodeProps = commonComponentProps.extend({})\nexport const diodePins = lrPolarPins\nexport type DiodeProps = z.input<typeof diodeProps>\n\nexport const ledProps = commonComponentProps.extend({\n color: z.string().optional(),\n})\nexport const ledPins = lrPolarPins\nexport type LedProps = z.input<typeof ledProps>\n\nexport const boardProps = z.object({\n width: distance,\n height: distance,\n pcbCenterX: distance.optional().default(0),\n pcbCenterY: distance.optional().default(0),\n layout: z.any().optional(),\n children: z.any(),\n})\nexport type BoardProps = z.input<typeof boardProps>\n\nexport const bugProps = commonComponentProps.extend({\n pinLabels: z.record(z.number(), z.string()),\n schPortArrangement: z\n .object({\n leftSize: z.number().optional(),\n topSize: z.number().optional(),\n rightSize: z.number().optional(),\n bottomSize: z.number().optional(),\n })\n .or(\n z.object({\n leftSide: explicitPinSideDefinition.optional(),\n rightSide: explicitPinSideDefinition.optional(),\n topSide: explicitPinSideDefinition.optional(),\n bottomSide: explicitPinSideDefinition.optional(),\n })\n ),\n})\nexport type BugProps = z.input<typeof bugProps>\n\nexport const viaProps = commonLayoutProps.extend({\n fromLayer: layer_ref,\n toLayer: layer_ref,\n holeDiameter: distance,\n outerDiameter: distance,\n})\nexport type ViaProps = z.input<typeof viaProps>\n\nexport const netAliasProps = commonLayoutProps.extend({\n net: z.string().optional(),\n})\nexport type NetAliasProps = z.input<typeof netAliasProps>\n\nexport const traceProps = z\n .object({\n path: z.array(z.string()),\n thickness: distance.optional(),\n schematicRouteHints: z.array(point).optional(),\n pcbRouteHints: z.array(route_hint_point).optional(),\n })\n .or(\n z.object({\n from: z.string(),\n to: z.string(),\n thickness: distance.optional(),\n schematicRouteHints: z.array(point).optional(),\n pcbRouteHints: z.array(route_hint_point).optional(),\n })\n )\nexport type TraceProps = z.input<typeof traceProps>\n\nexport const smtPadProps = z.union([\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"circle\"),\n radius: distance.optional(),\n portHints: z.array(z.string()).optional(),\n }),\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"rect\"),\n width: distance.optional(),\n height: distance.optional(),\n portHints: z.array(z.string()).optional(),\n }),\n])\nexport type SmtPadProps = z.input<typeof smtPadProps>\n\nexport const platedHoleProps = pcbLayoutProps\n .omit({ pcbRotation: true, layer: true })\n .extend({\n holeDiameter: distance,\n outerDiameter: distance,\n })\nexport type PlatedHoleProps = z.input<typeof platedHoleProps>\n\nexport const holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({\n holeDiameter: distance,\n})\nexport type HoleProps = z.input<typeof holeProps>\n\nexport const schematicBoxProps = z.object({\n schX: distance,\n schY: distance,\n width: distance,\n height: distance,\n})\nexport type SchematicBoxProps = z.input<typeof schematicBoxProps>\n\nexport const schematicTextProps = z.object({\n schX: distance,\n schY: distance,\n text: z.string(),\n})\nexport type SchematicTextProps = z.input<typeof schematicTextProps>\n\nexport const schematicLineProps = z.object({\n x1: distance,\n y1: distance,\n x2: distance,\n y2: distance,\n})\nexport type SchematicLineProps = z.input<typeof schematicLineProps>\n\nexport const schematicPathProps = z.object({\n points: z.array(point),\n isFilled: z.boolean().optional().default(false),\n fillColor: z.enum([\"red\", \"blue\"]).optional(),\n})\nexport type SchematicPathProps = z.input<typeof schematicPathProps>\n\nexport const constraintProps = z.union([\n z.object({\n type: z.literal(\"xdist\"),\n dist: distance,\n left: z.string(),\n right: z.string(),\n }),\n z.object({\n type: z.literal(\"ydist\"),\n dist: distance,\n top: z.string(),\n bottom: z.string(),\n }),\n])\nexport type ConstraintProps = z.input<typeof constraintProps>\n\nexport const constrainedLayoutProps = z.object({})\nexport type ConstrainedLayoutProps = z.input<typeof constrainedLayoutProps>\n\nexport const footprintProps = z.object({})\nexport type FootprintProps = z.input<typeof footprintProps>\n\nexport const componentProps = commonComponentProps\nexport type ComponentProps = z.input<typeof componentProps>\n\nexport const groupProps = commonLayoutProps.extend({\n name: z.string().optional(),\n layout: z.custom<LayoutBuilder>((v) => true).optional(),\n children: z.any().optional(),\n})\nexport type GroupProps = z.input<typeof groupProps>\n\nexport const powerSourceProps = commonComponentProps.extend({\n voltage,\n})\nexport type PowerSourceProps = z.input<typeof powerSourceProps>\n\nexport const portProps = commonLayoutProps.extend({\n name: z.string(),\n pinNumber: z.number().optional(),\n aliases: z.array(z.string()).optional(),\n direction: direction,\n})\nexport type PortProps = z.input<typeof portProps>\n\nexport const silkscreenTextProps = pcbLayoutProps.extend({\n text: z.string(),\n anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: distance.optional(),\n})\nexport type SilkscreenTextProps = z.input<typeof silkscreenTextProps>\n\nexport const silkscreenPathProps = pcbLayoutProps.extend({\n route: z.array(route_hint_point),\n})\nexport type SilkscreenPathProps = z.input<typeof silkscreenPathProps>\n\nexport const silkscreenLineProps = pcbLayoutProps.extend({\n strokeWidth: distance,\n x1: distance,\n y1: distance,\n x2: distance,\n y2: distance,\n})\nexport type SilkscreenLineProps = z.input<typeof silkscreenLineProps>\n\nexport const silkscreenRectProps = pcbLayoutProps.extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n width: distance,\n height: distance,\n})\nexport type SilkscreenRectProps = z.input<typeof silkscreenRectProps>\n\nexport const silkscreenCircleProps = pcbLayoutProps.extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n radius: distance,\n})\nexport type SilkscreenCircleProps = z.input<typeof silkscreenCircleProps>\n\nexport const traceHintProps = z.object({\n for: z.string(),\n order: z.number().optional(),\n offset: route_hint_point.optional(),\n offsets: z.array(route_hint_point).optional(),\n})\n\nexport type TraceHintProps = z.input<typeof traceHintProps>\n\nexport const pcbTraceProps = z.object({\n layer: z.string().optional(),\n route: z.array(route_hint_point),\n})\nexport type PcbTraceProps = z.input<typeof pcbTraceProps>\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../lib/index.ts"],"sourcesContent":["import { z } from \"zod\"\nimport {\n distance,\n rotation,\n layer_ref,\n supplier_name,\n resistance,\n capacitance,\n inductance,\n point,\n voltage,\n route_hint_point,\n} from \"@tscircuit/soup\"\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { LayoutBuilder } from \"@tscircuit/layout\"\n\nexport const portHints = z.array(z.string().or(z.number()))\n\nexport const direction = z.enum([\"up\", \"down\", \"left\", \"right\"])\n\nexport const relativeDirection = z.enum([\n \"top-to-bottom\",\n \"left-to-right\",\n \"bottom-to-top\",\n \"right-to-left\",\n])\n\nexport const explicitPinSideDefinition = z.object({\n pins: z.array(z.number()),\n direction: z.union([\n z.literal(\"top-to-bottom\"),\n z.literal(\"left-to-right\"),\n z.literal(\"bottom-to-top\"),\n z.literal(\"right-to-left\"),\n ]),\n})\n\nexport type Footprint = string | ReactElement\nexport const pcbLayoutProps = z.object({\n pcbX: distance,\n pcbY: distance,\n pcbRotation: rotation.optional(),\n layer: layer_ref.optional(),\n})\nexport const commonLayoutProps = z.object({\n pcbX: distance.optional(),\n pcbY: distance.optional(),\n pcbRotation: rotation.optional(),\n schX: distance.optional(),\n schY: distance.optional(),\n schRotation: rotation.optional(),\n layer: layer_ref.optional(),\n\n // TODO pull in literals from @tscircuit/footprint\n // TODO footprint can be a string or react child\n footprint: z.custom<Footprint>((v) => true).optional(),\n})\nexport type CommonLayoutProps = z.input<typeof commonLayoutProps>\n\nexport const supplierProps = z.object({\n supplierPartNumbers: z.record(supplier_name, z.array(z.string())).optional(),\n})\nexport type SupplierProps = z.input<typeof supplierProps>\n\nexport const commonComponentProps = commonLayoutProps\n .merge(supplierProps)\n .extend({\n name: z.string(),\n children: z.any().optional(),\n })\nexport type CommonComponentProps = z.input<typeof commonComponentProps>\n\nexport const lrPins = [\"pin1\", \"left\", \"pin2\", \"right\"] as const\nexport const lrPolarPins = [\n \"pin1\",\n \"left\",\n \"anode\",\n \"pos\",\n \"pin2\",\n \"right\",\n \"cathode\",\n \"neg\",\n] as const\n\nexport const resistorProps = commonComponentProps.extend({\n resistance,\n})\nexport const resistorPins = lrPins\nexport type ResistorProps = z.input<typeof resistorProps>\n\nexport const capacitorProps = commonComponentProps.extend({\n capacitance,\n})\nexport const capacitorPins = lrPolarPins\nexport type CapacitorProps = z.input<typeof capacitorProps>\n\nexport const inductorProps = commonComponentProps.extend({\n inductance,\n})\nexport const inductorPins = lrPins\nexport type InductorProps = z.input<typeof inductorProps>\n\nexport const diodeProps = commonComponentProps.extend({})\nexport const diodePins = lrPolarPins\nexport type DiodeProps = z.input<typeof diodeProps>\n\nexport const ledProps = commonComponentProps.extend({\n color: z.string().optional(),\n})\nexport const ledPins = lrPolarPins\nexport type LedProps = z.input<typeof ledProps>\n\nexport const boardProps = z.object({\n width: distance,\n height: distance,\n pcbCenterX: distance.optional().default(0),\n pcbCenterY: distance.optional().default(0),\n layout: z.any().optional(),\n children: z.any(),\n})\nexport type BoardProps = z.input<typeof boardProps>\n\nexport const bugProps = commonComponentProps.extend({\n pinLabels: z.record(z.number(), z.string()),\n schPortArrangement: z\n .object({\n leftSize: z.number().optional(),\n topSize: z.number().optional(),\n rightSize: z.number().optional(),\n bottomSize: z.number().optional(),\n })\n .or(\n z.object({\n leftSide: explicitPinSideDefinition.optional(),\n rightSide: explicitPinSideDefinition.optional(),\n topSide: explicitPinSideDefinition.optional(),\n bottomSide: explicitPinSideDefinition.optional(),\n })\n ),\n})\nexport type BugProps = z.input<typeof bugProps>\n\nexport const viaProps = commonLayoutProps.extend({\n fromLayer: layer_ref,\n toLayer: layer_ref,\n holeDiameter: distance,\n outerDiameter: distance,\n})\nexport type ViaProps = z.input<typeof viaProps>\n\nexport const netAliasProps = commonLayoutProps.extend({\n net: z.string().optional(),\n})\nexport type NetAliasProps = z.input<typeof netAliasProps>\n\nexport const traceProps = z\n .object({\n path: z.array(z.string()),\n thickness: distance.optional(),\n schematicRouteHints: z.array(point).optional(),\n pcbRouteHints: z.array(route_hint_point).optional(),\n })\n .or(\n z.object({\n from: z.string(),\n to: z.string(),\n thickness: distance.optional(),\n schematicRouteHints: z.array(point).optional(),\n pcbRouteHints: z.array(route_hint_point).optional(),\n })\n )\nexport type TraceProps = z.input<typeof traceProps>\n\nexport const smtPadProps = z.union([\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"circle\"),\n radius: distance.optional(),\n portHints: portHints.optional(),\n }),\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"rect\"),\n width: distance.optional(),\n height: distance.optional(),\n portHints: portHints.optional(),\n }),\n])\nexport type SmtPadProps = z.input<typeof smtPadProps>\n\nexport const platedHoleProps = pcbLayoutProps\n .omit({ pcbRotation: true, layer: true })\n .extend({\n holeDiameter: distance,\n outerDiameter: distance,\n portHints: portHints.optional(),\n })\nexport type PlatedHoleProps = z.input<typeof platedHoleProps>\n\nexport const holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({\n holeDiameter: distance,\n})\nexport type HoleProps = z.input<typeof holeProps>\n\nexport const schematicBoxProps = z.object({\n schX: distance,\n schY: distance,\n width: distance,\n height: distance,\n})\nexport type SchematicBoxProps = z.input<typeof schematicBoxProps>\n\nexport const schematicTextProps = z.object({\n schX: distance,\n schY: distance,\n text: z.string(),\n})\nexport type SchematicTextProps = z.input<typeof schematicTextProps>\n\nexport const schematicLineProps = z.object({\n x1: distance,\n y1: distance,\n x2: distance,\n y2: distance,\n})\nexport type SchematicLineProps = z.input<typeof schematicLineProps>\n\nexport const schematicPathProps = z.object({\n points: z.array(point),\n isFilled: z.boolean().optional().default(false),\n fillColor: z.enum([\"red\", \"blue\"]).optional(),\n})\nexport type SchematicPathProps = z.input<typeof schematicPathProps>\n\nexport const constraintProps = z.union([\n z.object({\n type: z.literal(\"xdist\"),\n dist: distance,\n left: z.string(),\n right: z.string(),\n }),\n z.object({\n type: z.literal(\"ydist\"),\n dist: distance,\n top: z.string(),\n bottom: z.string(),\n }),\n])\nexport type ConstraintProps = z.input<typeof constraintProps>\n\nexport const constrainedLayoutProps = z.object({})\nexport type ConstrainedLayoutProps = z.input<typeof constrainedLayoutProps>\n\nexport const footprintProps = z.object({})\nexport type FootprintProps = z.input<typeof footprintProps>\n\nexport const componentProps = commonComponentProps\nexport type ComponentProps = z.input<typeof componentProps>\n\nexport const groupProps = commonLayoutProps.extend({\n name: z.string().optional(),\n layout: z.custom<LayoutBuilder>((v) => true).optional(),\n children: z.any().optional(),\n})\nexport type GroupProps = z.input<typeof groupProps>\n\nexport const powerSourceProps = commonComponentProps.extend({\n voltage,\n})\nexport type PowerSourceProps = z.input<typeof powerSourceProps>\n\nexport const portProps = commonLayoutProps.extend({\n name: z.string(),\n pinNumber: z.number().optional(),\n aliases: z.array(z.string()).optional(),\n direction: direction,\n})\nexport type PortProps = z.input<typeof portProps>\n\nexport const silkscreenTextProps = pcbLayoutProps.extend({\n text: z.string(),\n anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: distance.optional(),\n})\nexport type SilkscreenTextProps = z.input<typeof silkscreenTextProps>\n\nexport const silkscreenPathProps = pcbLayoutProps.extend({\n route: z.array(route_hint_point),\n})\nexport type SilkscreenPathProps = z.input<typeof silkscreenPathProps>\n\nexport const silkscreenLineProps = pcbLayoutProps.extend({\n strokeWidth: distance,\n x1: distance,\n y1: distance,\n x2: distance,\n y2: distance,\n})\nexport type SilkscreenLineProps = z.input<typeof silkscreenLineProps>\n\nexport const silkscreenRectProps = pcbLayoutProps.extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n width: distance,\n height: distance,\n})\nexport type SilkscreenRectProps = z.input<typeof silkscreenRectProps>\n\nexport const silkscreenCircleProps = pcbLayoutProps.extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n radius: distance,\n})\nexport type SilkscreenCircleProps = z.input<typeof silkscreenCircleProps>\n\nexport const traceHintProps = z.object({\n for: z.string(),\n order: z.number().optional(),\n offset: route_hint_point.optional(),\n offsets: z.array(route_hint_point).optional(),\n})\n\nexport type TraceHintProps = z.input<typeof traceHintProps>\n\nexport const pcbTraceProps = z.object({\n layer: z.string().optional(),\n thickness: distance.optional(),\n route: z.array(route_hint_point),\n})\nexport type PcbTraceProps = z.input<typeof pcbTraceProps>\n"],"mappings":"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","names":[]}
|