@tscircuit/props 0.0.312 → 0.0.313

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.js CHANGED
@@ -25,62 +25,67 @@ expectTypesMatch(true);
25
25
 
26
26
  // lib/common/layout.ts
27
27
  import {
28
- distance as distance2,
28
+ distance as distance3,
29
29
  layer_ref,
30
30
  rotation,
31
31
  supplier_name
32
32
  } from "circuit-json";
33
- import { z as z7 } from "zod";
33
+ import { z as z8 } from "zod";
34
34
 
35
35
  // lib/common/cadModel.ts
36
- import { z as z4 } from "zod";
36
+ import { z as z5 } from "zod";
37
+
38
+ // lib/common/distance.ts
39
+ import "zod";
40
+ import { distance, length } from "circuit-json";
37
41
 
38
42
  // lib/common/point3.ts
39
- import { distance } from "circuit-json";
40
- import { z as z3 } from "zod";
41
- var point3 = z3.object({
42
- x: distance,
43
- y: distance,
44
- z: distance
43
+ import { distance as distance2 } from "circuit-json";
44
+ import { z as z4 } from "zod";
45
+ var point3 = z4.object({
46
+ x: distance2,
47
+ y: distance2,
48
+ z: distance2
45
49
  });
46
50
 
47
51
  // lib/common/cadModel.ts
48
- var rotationPoint3 = z4.object({
49
- x: z4.union([z4.number(), z4.string()]),
50
- y: z4.union([z4.number(), z4.string()]),
51
- z: z4.union([z4.number(), z4.string()])
52
+ var rotationPoint3 = z5.object({
53
+ x: z5.union([z5.number(), z5.string()]),
54
+ y: z5.union([z5.number(), z5.string()]),
55
+ z: z5.union([z5.number(), z5.string()])
52
56
  });
53
- var cadModelBase = z4.object({
54
- rotationOffset: z4.number().or(rotationPoint3).optional(),
57
+ var cadModelBase = z5.object({
58
+ rotationOffset: z5.number().or(rotationPoint3).optional(),
55
59
  positionOffset: point3.optional(),
56
- size: point3.optional()
60
+ size: point3.optional(),
61
+ modelUnitToMmScale: distance.optional()
57
62
  });
58
63
  expectTypesMatch(true);
59
64
  var cadModelStl = cadModelBase.extend({
60
- stlUrl: z4.string()
65
+ stlUrl: z5.string()
61
66
  });
62
67
  var cadModelObj = cadModelBase.extend({
63
- objUrl: z4.string(),
64
- mtlUrl: z4.string().optional()
68
+ objUrl: z5.string(),
69
+ mtlUrl: z5.string().optional()
65
70
  });
66
71
  var cadModelGltf = cadModelBase.extend({
67
- gltfUrl: z4.string()
72
+ gltfUrl: z5.string()
68
73
  });
69
74
  var cadModelGlb = cadModelBase.extend({
70
- glbUrl: z4.string()
75
+ glbUrl: z5.string()
71
76
  });
72
77
  var cadModelStep = cadModelBase.extend({
73
- stepUrl: z4.string()
78
+ stepUrl: z5.string()
74
79
  });
75
80
  var cadModelWrl = cadModelBase.extend({
76
- wrlUrl: z4.string()
81
+ wrlUrl: z5.string()
77
82
  });
78
83
  var cadModelJscad = cadModelBase.extend({
79
- jscad: z4.record(z4.any())
84
+ jscad: z5.record(z5.any())
80
85
  });
81
- var cadModelProp = z4.union([
82
- z4.null(),
83
- z4.string(),
86
+ var cadModelProp = z5.union([
87
+ z5.null(),
88
+ z5.string(),
84
89
  cadModelStl,
85
90
  cadModelObj,
86
91
  cadModelGltf,
@@ -92,80 +97,80 @@ var cadModelProp = z4.union([
92
97
  expectTypesMatch(true);
93
98
 
94
99
  // lib/common/footprintProp.ts
95
- import { z as z5 } from "zod";
96
- var footprintProp = z5.custom((v) => true);
100
+ import { z as z6 } from "zod";
101
+ var footprintProp = z6.custom((v) => true);
97
102
 
98
103
  // lib/common/symbolProp.ts
99
- import { z as z6 } from "zod";
100
- var symbolProp = z6.custom((v) => true);
104
+ import { z as z7 } from "zod";
105
+ var symbolProp = z7.custom((v) => true);
101
106
 
102
107
  // lib/common/layout.ts
103
- var pcbLayoutProps = z7.object({
104
- pcbX: distance2.optional(),
105
- pcbY: distance2.optional(),
108
+ var pcbLayoutProps = z8.object({
109
+ pcbX: distance3.optional(),
110
+ pcbY: distance3.optional(),
106
111
  pcbRotation: rotation.optional(),
107
- pcbPositionAnchor: z7.string().optional(),
112
+ pcbPositionAnchor: z8.string().optional(),
108
113
  layer: layer_ref.optional(),
109
- pcbMarginTop: distance2.optional(),
110
- pcbMarginRight: distance2.optional(),
111
- pcbMarginBottom: distance2.optional(),
112
- pcbMarginLeft: distance2.optional(),
113
- pcbMarginX: distance2.optional(),
114
- pcbMarginY: distance2.optional(),
115
- pcbRelative: z7.boolean().optional(),
116
- relative: z7.boolean().optional()
117
- });
118
- expectTypesMatch(true);
119
- var commonLayoutProps = z7.object({
120
- pcbX: distance2.optional(),
121
- pcbY: distance2.optional(),
114
+ pcbMarginTop: distance3.optional(),
115
+ pcbMarginRight: distance3.optional(),
116
+ pcbMarginBottom: distance3.optional(),
117
+ pcbMarginLeft: distance3.optional(),
118
+ pcbMarginX: distance3.optional(),
119
+ pcbMarginY: distance3.optional(),
120
+ pcbRelative: z8.boolean().optional(),
121
+ relative: z8.boolean().optional()
122
+ });
123
+ expectTypesMatch(true);
124
+ var commonLayoutProps = z8.object({
125
+ pcbX: distance3.optional(),
126
+ pcbY: distance3.optional(),
122
127
  pcbRotation: rotation.optional(),
123
- pcbPositionAnchor: z7.string().optional(),
124
- pcbMarginTop: distance2.optional(),
125
- pcbMarginRight: distance2.optional(),
126
- pcbMarginBottom: distance2.optional(),
127
- pcbMarginLeft: distance2.optional(),
128
- pcbMarginX: distance2.optional(),
129
- pcbMarginY: distance2.optional(),
130
- schMarginTop: distance2.optional(),
131
- schMarginRight: distance2.optional(),
132
- schMarginBottom: distance2.optional(),
133
- schMarginLeft: distance2.optional(),
134
- schMarginX: distance2.optional(),
135
- schMarginY: distance2.optional(),
136
- schX: distance2.optional(),
137
- schY: distance2.optional(),
128
+ pcbPositionAnchor: z8.string().optional(),
129
+ pcbMarginTop: distance3.optional(),
130
+ pcbMarginRight: distance3.optional(),
131
+ pcbMarginBottom: distance3.optional(),
132
+ pcbMarginLeft: distance3.optional(),
133
+ pcbMarginX: distance3.optional(),
134
+ pcbMarginY: distance3.optional(),
135
+ schMarginTop: distance3.optional(),
136
+ schMarginRight: distance3.optional(),
137
+ schMarginBottom: distance3.optional(),
138
+ schMarginLeft: distance3.optional(),
139
+ schMarginX: distance3.optional(),
140
+ schMarginY: distance3.optional(),
141
+ schX: distance3.optional(),
142
+ schY: distance3.optional(),
138
143
  schRotation: rotation.optional(),
139
144
  layer: layer_ref.optional(),
140
145
  footprint: footprintProp.optional(),
141
146
  symbol: symbolProp.optional(),
142
- relative: z7.boolean().optional(),
143
- schRelative: z7.boolean().optional(),
144
- pcbRelative: z7.boolean().optional()
147
+ relative: z8.boolean().optional(),
148
+ schRelative: z8.boolean().optional(),
149
+ pcbRelative: z8.boolean().optional()
145
150
  });
146
151
  expectTypesMatch(true);
147
- var supplierProps = z7.object({
148
- supplierPartNumbers: z7.record(supplier_name, z7.array(z7.string())).optional()
152
+ var supplierProps = z8.object({
153
+ supplierPartNumbers: z8.record(supplier_name, z8.array(z8.string())).optional()
149
154
  });
150
155
  expectTypesMatch(true);
151
- var pinAttributeMap = z7.object({
152
- providesPower: z7.boolean().optional(),
153
- requiresPower: z7.boolean().optional(),
154
- providesGround: z7.boolean().optional(),
155
- requiresGround: z7.boolean().optional(),
156
- providesVoltage: z7.union([z7.string(), z7.number()]).optional(),
157
- requiresVoltage: z7.union([z7.string(), z7.number()]).optional(),
158
- doNotConnect: z7.boolean().optional()
156
+ var pinAttributeMap = z8.object({
157
+ providesPower: z8.boolean().optional(),
158
+ requiresPower: z8.boolean().optional(),
159
+ providesGround: z8.boolean().optional(),
160
+ requiresGround: z8.boolean().optional(),
161
+ providesVoltage: z8.union([z8.string(), z8.number()]).optional(),
162
+ requiresVoltage: z8.union([z8.string(), z8.number()]).optional(),
163
+ doNotConnect: z8.boolean().optional()
159
164
  });
160
165
  expectTypesMatch(true);
161
166
  var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
162
- key: z7.any().optional(),
163
- name: z7.string(),
167
+ key: z8.any().optional(),
168
+ name: z8.string(),
164
169
  cadModel: cadModelProp.optional(),
165
- children: z7.any().optional(),
166
- symbolName: z7.string().optional(),
167
- doNotPlace: z7.boolean().optional(),
168
- pinAttributes: z7.record(z7.string(), pinAttributeMap).optional()
170
+ children: z8.any().optional(),
171
+ symbolName: z8.string().optional(),
172
+ doNotPlace: z8.boolean().optional(),
173
+ pinAttributes: z8.record(z8.string(), pinAttributeMap).optional()
169
174
  });
170
175
  expectTypesMatch(true);
171
176
  var componentProps = commonComponentProps;
@@ -180,11 +185,11 @@ var lrPolarPins = [
180
185
  "cathode",
181
186
  "neg"
182
187
  ];
183
- var distanceOrMultiplier = distance2.or(z7.enum(["2x", "3x", "4x"]));
188
+ var distanceOrMultiplier = distance3.or(z8.enum(["2x", "3x", "4x"]));
184
189
 
185
190
  // lib/common/schematicOrientation.ts
186
- import { z as z8 } from "zod";
187
- var schematicOrientation = z8.enum([
191
+ import { z as z9 } from "zod";
192
+ var schematicOrientation = z9.enum([
188
193
  "vertical",
189
194
  "horizontal",
190
195
  "pos_top",
@@ -203,25 +208,25 @@ expectTypesMatch(
203
208
  );
204
209
 
205
210
  // lib/common/schematicPinDefinitions.ts
206
- import { z as z9 } from "zod";
207
- var explicitPinSideDefinition = z9.object({
208
- pins: z9.array(z9.union([z9.number(), z9.string()])),
209
- direction: z9.union([
210
- z9.literal("top-to-bottom"),
211
- z9.literal("left-to-right"),
212
- z9.literal("bottom-to-top"),
213
- z9.literal("right-to-left")
211
+ import { z as z10 } from "zod";
212
+ var explicitPinSideDefinition = z10.object({
213
+ pins: z10.array(z10.union([z10.number(), z10.string()])),
214
+ direction: z10.union([
215
+ z10.literal("top-to-bottom"),
216
+ z10.literal("left-to-right"),
217
+ z10.literal("bottom-to-top"),
218
+ z10.literal("right-to-left")
214
219
  ])
215
220
  });
216
- var schematicPortArrangement = z9.object({
217
- leftSize: z9.number().optional().describe("@deprecated, use leftPinCount"),
218
- topSize: z9.number().optional().describe("@deprecated, use topPinCount"),
219
- rightSize: z9.number().optional().describe("@deprecated, use rightPinCount"),
220
- bottomSize: z9.number().optional().describe("@deprecated, use bottomPinCount"),
221
- leftPinCount: z9.number().optional(),
222
- rightPinCount: z9.number().optional(),
223
- topPinCount: z9.number().optional(),
224
- bottomPinCount: z9.number().optional(),
221
+ var schematicPortArrangement = z10.object({
222
+ leftSize: z10.number().optional().describe("@deprecated, use leftPinCount"),
223
+ topSize: z10.number().optional().describe("@deprecated, use topPinCount"),
224
+ rightSize: z10.number().optional().describe("@deprecated, use rightPinCount"),
225
+ bottomSize: z10.number().optional().describe("@deprecated, use bottomPinCount"),
226
+ leftPinCount: z10.number().optional(),
227
+ rightPinCount: z10.number().optional(),
228
+ topPinCount: z10.number().optional(),
229
+ bottomPinCount: z10.number().optional(),
225
230
  leftSide: explicitPinSideDefinition.optional(),
226
231
  rightSide: explicitPinSideDefinition.optional(),
227
232
  topSide: explicitPinSideDefinition.optional(),
@@ -231,29 +236,25 @@ var schematicPinArrangement = schematicPortArrangement;
231
236
  expectTypesMatch(true);
232
237
 
233
238
  // lib/common/schematicPinStyle.ts
234
- import { distance as distance3 } from "circuit-json";
235
- import { z as z10 } from "zod";
236
- var schematicPinStyle = z10.record(
237
- z10.object({
238
- marginLeft: distance3.optional(),
239
- marginRight: distance3.optional(),
240
- marginTop: distance3.optional(),
241
- marginBottom: distance3.optional(),
242
- leftMargin: distance3.optional(),
243
- rightMargin: distance3.optional(),
244
- topMargin: distance3.optional(),
245
- bottomMargin: distance3.optional()
239
+ import { distance as distance4 } from "circuit-json";
240
+ import { z as z11 } from "zod";
241
+ var schematicPinStyle = z11.record(
242
+ z11.object({
243
+ marginLeft: distance4.optional(),
244
+ marginRight: distance4.optional(),
245
+ marginTop: distance4.optional(),
246
+ marginBottom: distance4.optional(),
247
+ leftMargin: distance4.optional(),
248
+ rightMargin: distance4.optional(),
249
+ topMargin: distance4.optional(),
250
+ bottomMargin: distance4.optional()
246
251
  })
247
252
  );
248
253
  expectTypesMatch(true);
249
254
 
250
255
  // lib/common/schematicPinLabel.ts
251
- import { z as z11 } from "zod";
252
- var schematicPinLabel = z11.string().regex(/^[A-Za-z0-9_]+$/);
253
-
254
- // lib/common/distance.ts
255
- import "zod";
256
- import { distance as distance4, length } from "circuit-json";
256
+ import { z as z12 } from "zod";
257
+ var schematicPinLabel = z12.string().regex(/^[A-Za-z0-9_]+$/);
257
258
 
258
259
  // lib/components/board.ts
259
260
  import { z as z26 } from "zod";
@@ -588,7 +589,7 @@ expectTypesMatch(true);
588
589
  var boardProps = subcircuitGroupProps.extend({
589
590
  material: z26.enum(["fr4", "fr1"]).default("fr4"),
590
591
  layers: z26.union([z26.literal(2), z26.literal(4)]).default(2),
591
- borderRadius: distance4.optional()
592
+ borderRadius: distance.optional()
592
593
  });
593
594
  expectTypesMatch(true);
594
595
 
@@ -910,7 +911,7 @@ expectTypesMatch(true);
910
911
  import { z as z43 } from "zod";
911
912
  var pcbXDistConstraintProps = z43.object({
912
913
  pcb: z43.literal(true).optional(),
913
- xDist: distance4,
914
+ xDist: distance,
914
915
  left: z43.string(),
915
916
  right: z43.string(),
916
917
  edgeToEdge: z43.literal(true).optional(),
@@ -921,7 +922,7 @@ expectTypesMatch(
921
922
  );
922
923
  var pcbYDistConstraintProps = z43.object({
923
924
  pcb: z43.literal(true).optional(),
924
- yDist: distance4,
925
+ yDist: distance,
925
926
  top: z43.string(),
926
927
  bottom: z43.string(),
927
928
  edgeToEdge: z43.literal(true).optional(),
@@ -962,8 +963,8 @@ var rectCutoutProps = pcbLayoutProps.omit({
962
963
  }).extend({
963
964
  name: z44.string().optional(),
964
965
  shape: z44.literal("rect"),
965
- width: distance4,
966
- height: distance4
966
+ width: distance,
967
+ height: distance
967
968
  });
968
969
  expectTypesMatch(true);
969
970
  var circleCutoutProps = pcbLayoutProps.omit({
@@ -972,7 +973,7 @@ var circleCutoutProps = pcbLayoutProps.omit({
972
973
  }).extend({
973
974
  name: z44.string().optional(),
974
975
  shape: z44.literal("circle"),
975
- radius: distance4
976
+ radius: distance
976
977
  });
977
978
  expectTypesMatch(true);
978
979
  var polygonCutoutProps = pcbLayoutProps.omit({
@@ -995,16 +996,16 @@ import { z as z45 } from "zod";
995
996
  var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
996
997
  name: z45.string().optional(),
997
998
  shape: z45.literal("rect"),
998
- width: distance4,
999
- height: distance4,
999
+ width: distance,
1000
+ height: distance,
1000
1001
  portHints: portHints.optional()
1001
1002
  });
1002
1003
  expectTypesMatch(true);
1003
1004
  var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1004
1005
  name: z45.string().optional(),
1005
1006
  shape: z45.literal("rotated_rect"),
1006
- width: distance4,
1007
- height: distance4,
1007
+ width: distance,
1008
+ height: distance,
1008
1009
  ccwRotation: z45.number(),
1009
1010
  portHints: portHints.optional()
1010
1011
  });
@@ -1012,16 +1013,16 @@ expectTypesMatch(true);
1012
1013
  var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1013
1014
  name: z45.string().optional(),
1014
1015
  shape: z45.literal("circle"),
1015
- radius: distance4,
1016
+ radius: distance,
1016
1017
  portHints: portHints.optional()
1017
1018
  });
1018
1019
  expectTypesMatch(true);
1019
1020
  var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1020
1021
  name: z45.string().optional(),
1021
1022
  shape: z45.literal("pill"),
1022
- width: distance4,
1023
- height: distance4,
1024
- radius: distance4,
1023
+ width: distance,
1024
+ height: distance,
1025
+ radius: distance,
1025
1026
  portHints: portHints.optional()
1026
1027
  });
1027
1028
  expectTypesMatch(true);
@@ -1045,13 +1046,13 @@ expectTypesMatch(true);
1045
1046
  import { z as z46 } from "zod";
1046
1047
  var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1047
1048
  shape: z46.literal("rect"),
1048
- width: distance4,
1049
- height: distance4
1049
+ width: distance,
1050
+ height: distance
1050
1051
  });
1051
1052
  expectTypesMatch(true);
1052
1053
  var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1053
1054
  shape: z46.literal("circle"),
1054
- radius: distance4
1055
+ radius: distance
1055
1056
  });
1056
1057
  expectTypesMatch(true);
1057
1058
  var solderPasteProps = z46.union([
@@ -1064,8 +1065,8 @@ expectTypesMatch(true);
1064
1065
  import { z as z47 } from "zod";
1065
1066
  var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1066
1067
  name: z47.string().optional(),
1067
- diameter: distance4.optional(),
1068
- radius: distance4.optional()
1068
+ diameter: distance.optional(),
1069
+ radius: distance.optional()
1069
1070
  }).transform((d) => ({
1070
1071
  ...d,
1071
1072
  diameter: d.diameter ?? 2 * d.radius,
@@ -1182,8 +1183,8 @@ import { rotation as rotation2 } from "circuit-json";
1182
1183
  var netAliasProps = z54.object({
1183
1184
  net: z54.string().optional(),
1184
1185
  connection: z54.string().optional(),
1185
- schX: distance4.optional(),
1186
- schY: distance4.optional(),
1186
+ schX: distance.optional(),
1187
+ schY: distance.optional(),
1187
1188
  schRotation: rotation2.optional(),
1188
1189
  anchorSide: z54.enum(["left", "top", "right", "bottom"]).optional()
1189
1190
  });
@@ -1196,8 +1197,8 @@ var netLabelProps = z55.object({
1196
1197
  net: z55.string().optional(),
1197
1198
  connection: z55.string().optional(),
1198
1199
  connectsTo: z55.string().or(z55.array(z55.string())).optional(),
1199
- schX: distance4.optional(),
1200
- schY: distance4.optional(),
1200
+ schX: distance.optional(),
1201
+ schY: distance.optional(),
1201
1202
  schRotation: rotation3.optional(),
1202
1203
  anchorSide: z55.enum(["left", "top", "right", "bottom"]).optional()
1203
1204
  });
@@ -1494,8 +1495,8 @@ var rectCopperPourProps = pcbLayoutProps.omit({
1494
1495
  pcbRotation: true
1495
1496
  }).extend({
1496
1497
  shape: z70.literal("rect"),
1497
- width: distance4,
1498
- height: distance4,
1498
+ width: distance,
1499
+ height: distance,
1499
1500
  connectsTo: z70.string().or(z70.array(z70.string())).optional()
1500
1501
  });
1501
1502
  expectTypesMatch(true);
@@ -1503,7 +1504,7 @@ var circleCopperPourProps = pcbLayoutProps.omit({
1503
1504
  pcbRotation: true
1504
1505
  }).extend({
1505
1506
  shape: z70.literal("circle"),
1506
- radius: distance4,
1507
+ radius: distance,
1507
1508
  connectsTo: z70.string().or(z70.array(z70.string())).optional()
1508
1509
  });
1509
1510
  expectTypesMatch(