@tscircuit/props 0.0.42 → 0.0.44

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
@@ -22,10 +22,6 @@ var lib_exports = {};
22
22
  __export(lib_exports, {
23
23
  boardProps: () => boardProps,
24
24
  bugProps: () => bugProps,
25
- cadModelBase: () => cadModelBase,
26
- cadModelJscad: () => cadModelJscad,
27
- cadModelObj: () => cadModelObj,
28
- cadModelStl: () => cadModelStl,
29
25
  capacitorPins: () => capacitorPins,
30
26
  capacitorProps: () => capacitorProps,
31
27
  chipProps: () => chipProps,
@@ -38,10 +34,11 @@ __export(lib_exports, {
38
34
  diodeProps: () => diodeProps,
39
35
  direction: () => direction,
40
36
  directionAlongEdge: () => directionAlongEdge,
41
- distanceOrMultiplier: () => distanceOrMultiplier,
37
+ distanceOrMultiplier: () => distanceOrMultiplier2,
42
38
  explicitPinSideDefinition: () => explicitPinSideDefinition,
43
39
  fabricationNotePathProps: () => fabricationNotePathProps,
44
40
  fabricationNoteTextProps: () => fabricationNoteTextProps,
41
+ footprintProp: () => footprintProp,
45
42
  footprintProps: () => footprintProps,
46
43
  groupProps: () => groupProps,
47
44
  holeProps: () => holeProps,
@@ -55,6 +52,7 @@ __export(lib_exports, {
55
52
  pcbLayoutProps: () => pcbLayoutProps,
56
53
  pcbTraceProps: () => pcbTraceProps,
57
54
  platedHoleProps: () => platedHoleProps,
55
+ point3: () => point3,
58
56
  portHints: () => portHints,
59
57
  portProps: () => portProps,
60
58
  portRef: () => portRef,
@@ -73,85 +71,101 @@ __export(lib_exports, {
73
71
  silkscreenRectProps: () => silkscreenRectProps,
74
72
  silkscreenTextProps: () => silkscreenTextProps,
75
73
  smtPadProps: () => smtPadProps,
76
- supplierProps: () => supplierProps,
74
+ supplierProps: () => supplierProps2,
77
75
  switchProps: () => switchProps,
78
76
  traceHintProps: () => traceHintProps,
79
77
  traceProps: () => traceProps,
80
78
  viaProps: () => viaProps
81
79
  });
82
80
  module.exports = __toCommonJS(lib_exports);
83
- var import_soup = require("@tscircuit/soup");
84
- var import_zod3 = require("zod");
81
+ var import_soup6 = require("@tscircuit/soup");
82
+ var import_zod11 = require("zod");
85
83
 
86
- // lib/utils/direction.ts
84
+ // lib/typecheck.ts
85
+ var expectTypesMatch = (shouldBe) => {
86
+ };
87
+
88
+ // lib/common/direction.ts
87
89
  var import_zod = require("zod");
88
90
  var direction = import_zod.z.enum(["up", "down", "left", "right"]);
89
-
90
- // lib/utils/portHints.ts
91
- var import_zod2 = require("zod");
92
- var portHints = import_zod2.z.array(import_zod2.z.string().or(import_zod2.z.number()));
93
-
94
- // lib/index.ts
95
- var directionAlongEdge = import_zod3.z.enum([
91
+ var directionAlongEdge = import_zod.z.enum([
96
92
  "top-to-bottom",
97
93
  "left-to-right",
98
94
  "bottom-to-top",
99
95
  "right-to-left"
100
96
  ]);
101
- var explicitPinSideDefinition = import_zod3.z.object({
102
- pins: import_zod3.z.array(import_zod3.z.number()),
103
- direction: import_zod3.z.union([
104
- import_zod3.z.literal("top-to-bottom"),
105
- import_zod3.z.literal("left-to-right"),
106
- import_zod3.z.literal("bottom-to-top"),
107
- import_zod3.z.literal("right-to-left")
108
- ])
109
- });
110
- var pcbLayoutProps = import_zod3.z.object({
111
- pcbX: import_soup.distance,
112
- pcbY: import_soup.distance,
113
- pcbRotation: import_soup.rotation.optional(),
114
- layer: import_soup.layer_ref.optional()
115
- });
116
- var commonLayoutProps = import_zod3.z.object({
117
- pcbX: import_soup.distance.optional(),
118
- pcbY: import_soup.distance.optional(),
119
- pcbRotation: import_soup.rotation.optional(),
120
- schX: import_soup.distance.optional(),
121
- schY: import_soup.distance.optional(),
122
- schRotation: import_soup.rotation.optional(),
123
- layer: import_soup.layer_ref.optional(),
124
- // TODO pull in literals from @tscircuit/footprint
125
- // TODO footprint can be a string or react child
126
- footprint: import_zod3.z.custom((v) => true).optional()
127
- });
128
- var supplierProps = import_zod3.z.object({
129
- supplierPartNumbers: import_zod3.z.record(import_soup.supplier_name, import_zod3.z.array(import_zod3.z.string())).optional()
130
- });
97
+ expectTypesMatch(true);
98
+ expectTypesMatch(true);
99
+
100
+ // lib/common/portHints.ts
101
+ var import_zod2 = require("zod");
102
+ var portHints = import_zod2.z.array(import_zod2.z.string().or(import_zod2.z.number()));
103
+ expectTypesMatch(true);
104
+
105
+ // lib/common/layout.ts
106
+ var import_zod6 = require("zod");
107
+ var import_soup2 = require("@tscircuit/soup");
108
+
109
+ // lib/common/point3.ts
110
+ var import_soup = require("@tscircuit/soup");
111
+ var import_zod3 = require("zod");
131
112
  var point3 = import_zod3.z.object({
132
- x: import_zod3.z.union([import_zod3.z.number(), import_zod3.z.string()]),
133
- y: import_zod3.z.union([import_zod3.z.number(), import_zod3.z.string()]),
134
- z: import_zod3.z.union([import_zod3.z.number(), import_zod3.z.string()])
113
+ x: import_soup.distance,
114
+ y: import_soup.distance,
115
+ z: import_soup.distance
135
116
  });
136
- var cadModelBase = import_zod3.z.object({
137
- rotationOffset: import_zod3.z.number().or(point3).optional(),
117
+
118
+ // lib/common/cadModel.ts
119
+ var import_zod4 = require("zod");
120
+ var rotationPoint3 = import_zod4.z.object({
121
+ x: import_zod4.z.union([import_zod4.z.number(), import_zod4.z.string()]),
122
+ y: import_zod4.z.union([import_zod4.z.number(), import_zod4.z.string()]),
123
+ z: import_zod4.z.union([import_zod4.z.number(), import_zod4.z.string()])
124
+ });
125
+ var cadModelBase = import_zod4.z.object({
126
+ rotationOffset: import_zod4.z.number().or(rotationPoint3).optional(),
138
127
  positionOffset: point3.optional(),
139
128
  size: point3.optional()
140
129
  });
141
130
  var cadModelStl = cadModelBase.extend({
142
- stlUrl: import_zod3.z.string()
131
+ stlUrl: import_zod4.z.string()
143
132
  });
144
133
  var cadModelObj = cadModelBase.extend({
145
- objUrl: import_zod3.z.string(),
146
- mtlUrl: import_zod3.z.string().optional()
134
+ objUrl: import_zod4.z.string(),
135
+ mtlUrl: import_zod4.z.string().optional()
147
136
  });
148
137
  var cadModelJscad = cadModelBase.extend({
149
- jscad: import_zod3.z.any()
138
+ jscad: import_zod4.z.any()
139
+ });
140
+
141
+ // lib/common/footprintProp.ts
142
+ var import_zod5 = require("zod");
143
+ var footprintProp = import_zod5.z.custom((v) => true);
144
+
145
+ // lib/common/layout.ts
146
+ var pcbLayoutProps = import_zod6.z.object({
147
+ pcbX: import_soup2.distance,
148
+ pcbY: import_soup2.distance,
149
+ pcbRotation: import_soup2.rotation.optional(),
150
+ layer: import_soup2.layer_ref.optional()
151
+ });
152
+ var commonLayoutProps = import_zod6.z.object({
153
+ pcbX: import_soup2.distance.optional(),
154
+ pcbY: import_soup2.distance.optional(),
155
+ pcbRotation: import_soup2.rotation.optional(),
156
+ schX: import_soup2.distance.optional(),
157
+ schY: import_soup2.distance.optional(),
158
+ schRotation: import_soup2.rotation.optional(),
159
+ layer: import_soup2.layer_ref.optional(),
160
+ footprint: footprintProp.optional()
161
+ });
162
+ var supplierProps = import_zod6.z.object({
163
+ supplierPartNumbers: import_zod6.z.record(import_soup2.supplier_name, import_zod6.z.array(import_zod6.z.string())).optional()
150
164
  });
151
165
  var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
152
- name: import_zod3.z.string(),
153
- cadModel: import_zod3.z.union([cadModelStl, cadModelObj, cadModelJscad]).optional(),
154
- children: import_zod3.z.any().optional()
166
+ name: import_zod6.z.string(),
167
+ cadModel: import_zod6.z.union([cadModelStl, cadModelObj, cadModelJscad]).optional(),
168
+ children: import_zod6.z.any().optional()
155
169
  });
156
170
  var lrPins = ["pin1", "left", "pin2", "right"];
157
171
  var lrPolarPins = [
@@ -164,260 +178,293 @@ var lrPolarPins = [
164
178
  "cathode",
165
179
  "neg"
166
180
  ];
167
- var resistorProps = commonComponentProps.extend({
168
- resistance: import_soup.resistance
169
- });
170
- var resistorPins = lrPins;
171
- var capacitorProps = commonComponentProps.extend({
172
- capacitance: import_soup.capacitance
173
- });
174
- var capacitorPins = lrPolarPins;
175
- var inductorProps = commonComponentProps.extend({
176
- inductance: import_soup.inductance
177
- });
178
- var inductorPins = lrPins;
179
- var diodeProps = commonComponentProps.extend({});
180
- var diodePins = lrPolarPins;
181
- var ledProps = commonComponentProps.extend({
182
- color: import_zod3.z.string().optional()
181
+ var distanceOrMultiplier = import_soup2.distance.or(import_zod6.z.enum(["2x", "3x", "4x"]));
182
+
183
+ // lib/common/schematicPinDefinitions.ts
184
+ var import_zod7 = require("zod");
185
+ var explicitPinSideDefinition = import_zod7.z.object({
186
+ pins: import_zod7.z.array(import_zod7.z.number()),
187
+ direction: import_zod7.z.union([
188
+ import_zod7.z.literal("top-to-bottom"),
189
+ import_zod7.z.literal("left-to-right"),
190
+ import_zod7.z.literal("bottom-to-top"),
191
+ import_zod7.z.literal("right-to-left")
192
+ ])
183
193
  });
184
- var ledPins = lrPolarPins;
185
- var switchProps = commonComponentProps.extend({
186
- ftype: import_zod3.z.literal("switch"),
187
- switchType: import_zod3.z.enum(["spst"]).default("spst"),
188
- isNormallyClosed: import_zod3.z.boolean().default(false)
189
- });
190
- var boardProps = import_zod3.z.object({
191
- width: import_soup.distance,
192
- height: import_soup.distance,
193
- outline: import_zod3.z.array(import_soup.point).optional(),
194
- pcbX: import_soup.distance.optional().default(0),
195
- pcbY: import_soup.distance.optional().default(0),
196
- layout: import_zod3.z.any().optional(),
197
- routingDisabled: import_zod3.z.boolean().optional(),
198
- children: import_zod3.z.any()
199
- });
200
- var distanceOrMultiplier = import_soup.distance.or(import_zod3.z.enum(["2x", "3x", "4x"]));
201
- var schematicPortArrangement = import_zod3.z.object({
202
- leftSize: import_zod3.z.number().optional().describe("@deprecated, use leftPinCount"),
203
- topSize: import_zod3.z.number().optional().describe("@deprecated, use topPinCount"),
204
- rightSize: import_zod3.z.number().optional().describe("@deprecated, use rightPinCount"),
205
- bottomSize: import_zod3.z.number().optional().describe("@deprecated, use bottomPinCount")
194
+ var schematicPortArrangement = import_zod7.z.object({
195
+ leftSize: import_zod7.z.number().optional().describe("@deprecated, use leftPinCount"),
196
+ topSize: import_zod7.z.number().optional().describe("@deprecated, use topPinCount"),
197
+ rightSize: import_zod7.z.number().optional().describe("@deprecated, use rightPinCount"),
198
+ bottomSize: import_zod7.z.number().optional().describe("@deprecated, use bottomPinCount")
206
199
  }).or(
207
- import_zod3.z.object({
208
- leftPinCount: import_zod3.z.number().optional(),
209
- rightPinCount: import_zod3.z.number().optional(),
210
- topPinCount: import_zod3.z.number().optional(),
211
- bottomPinCount: import_zod3.z.number().optional()
200
+ import_zod7.z.object({
201
+ leftPinCount: import_zod7.z.number().optional(),
202
+ rightPinCount: import_zod7.z.number().optional(),
203
+ topPinCount: import_zod7.z.number().optional(),
204
+ bottomPinCount: import_zod7.z.number().optional()
212
205
  })
213
206
  ).or(
214
- import_zod3.z.object({
207
+ import_zod7.z.object({
215
208
  leftSide: explicitPinSideDefinition.optional(),
216
209
  rightSide: explicitPinSideDefinition.optional(),
217
210
  topSide: explicitPinSideDefinition.optional(),
218
211
  bottomSide: explicitPinSideDefinition.optional()
219
212
  })
220
213
  );
214
+
215
+ // lib/components/board.ts
216
+ var import_zod9 = require("zod");
217
+ var import_soup4 = require("@tscircuit/soup");
218
+
219
+ // lib/common/point.ts
220
+ var import_soup3 = require("@tscircuit/soup");
221
+ var import_zod8 = require("zod");
222
+ var point = import_zod8.z.object({
223
+ x: import_soup3.distance,
224
+ y: import_soup3.distance
225
+ });
226
+
227
+ // lib/components/board.ts
228
+ var boardProps = import_zod9.z.object({
229
+ width: import_soup4.distance.optional(),
230
+ height: import_soup4.distance.optional(),
231
+ outline: import_zod9.z.array(point).optional(),
232
+ pcbX: import_soup4.distance.optional().default(0),
233
+ pcbY: import_soup4.distance.optional().default(0),
234
+ layout: import_zod9.z.any().optional(),
235
+ routingDisabled: import_zod9.z.boolean().optional(),
236
+ children: import_zod9.z.any()
237
+ });
238
+ expectTypesMatch(true);
239
+
240
+ // lib/components/chip.ts
241
+ var import_zod10 = require("zod");
242
+ var import_soup5 = require("@tscircuit/soup");
221
243
  var chipProps = commonComponentProps.extend({
222
- manufacturerPartNumber: import_zod3.z.string().optional(),
223
- pinLabels: import_zod3.z.record(import_zod3.z.number().or(import_zod3.z.string()), import_zod3.z.string()).optional(),
244
+ manufacturerPartNumber: import_zod10.z.string().optional(),
245
+ pinLabels: import_zod10.z.record(import_zod10.z.number().or(import_zod10.z.string()), import_zod10.z.string()).optional(),
224
246
  schPortArrangement: schematicPortArrangement.optional(),
225
- schPinStyle: import_zod3.z.record(
226
- import_zod3.z.object({
227
- leftMargin: import_soup.distance.optional(),
228
- rightMargin: import_soup.distance.optional(),
229
- topMargin: import_soup.distance.optional(),
230
- bottomMargin: import_soup.distance.optional()
247
+ schPinStyle: import_zod10.z.record(
248
+ import_zod10.z.object({
249
+ leftMargin: import_soup5.distance.optional(),
250
+ rightMargin: import_soup5.distance.optional(),
251
+ topMargin: import_soup5.distance.optional(),
252
+ bottomMargin: import_soup5.distance.optional()
231
253
  })
232
254
  ).optional(),
233
- schPinSpacing: distanceOrMultiplier.or(import_zod3.z.literal("auto")).optional().default("auto"),
234
- schWidth: import_soup.distance.or(import_zod3.z.literal("auto")).optional().default("auto"),
235
- schHeight: import_soup.distance.or(import_zod3.z.literal("auto")).optional().default("auto")
255
+ schPinSpacing: import_soup5.distance.or(import_zod10.z.literal("auto")).optional().default("auto"),
256
+ schWidth: import_soup5.distance.or(import_zod10.z.literal("auto")).optional().default("auto"),
257
+ schHeight: import_soup5.distance.or(import_zod10.z.literal("auto")).optional().default("auto")
236
258
  });
237
259
  var bugProps = chipProps;
260
+
261
+ // lib/index.ts
262
+ var supplierProps2 = import_zod11.z.object({
263
+ supplierPartNumbers: import_zod11.z.record(import_soup6.supplier_name, import_zod11.z.array(import_zod11.z.string())).optional()
264
+ });
265
+ var resistorProps = commonComponentProps.extend({
266
+ resistance: import_soup6.resistance
267
+ });
268
+ var resistorPins = lrPins;
269
+ var capacitorProps = commonComponentProps.extend({
270
+ capacitance: import_soup6.capacitance
271
+ });
272
+ var capacitorPins = lrPolarPins;
273
+ var inductorProps = commonComponentProps.extend({
274
+ inductance: import_soup6.inductance
275
+ });
276
+ var inductorPins = lrPins;
277
+ var diodeProps = commonComponentProps.extend({});
278
+ var diodePins = lrPolarPins;
279
+ var ledProps = commonComponentProps.extend({
280
+ color: import_zod11.z.string().optional()
281
+ });
282
+ var ledPins = lrPolarPins;
283
+ var switchProps = commonComponentProps.extend({
284
+ ftype: import_zod11.z.literal("switch"),
285
+ switchType: import_zod11.z.enum(["spst"]).default("spst"),
286
+ isNormallyClosed: import_zod11.z.boolean().default(false)
287
+ });
288
+ var distanceOrMultiplier2 = import_soup6.distance.or(import_zod11.z.enum(["2x", "3x", "4x"]));
238
289
  var viaProps = commonLayoutProps.extend({
239
- fromLayer: import_soup.layer_ref,
240
- toLayer: import_soup.layer_ref,
241
- holeDiameter: import_soup.distance,
242
- outerDiameter: import_soup.distance
290
+ fromLayer: import_soup6.layer_ref,
291
+ toLayer: import_soup6.layer_ref,
292
+ holeDiameter: import_soup6.distance,
293
+ outerDiameter: import_soup6.distance
243
294
  });
244
295
  var netAliasProps = commonLayoutProps.extend({
245
- net: import_zod3.z.string().optional()
296
+ net: import_zod11.z.string().optional()
246
297
  });
247
- var portRef = import_zod3.z.union([
248
- import_zod3.z.string(),
249
- import_zod3.z.custom(
298
+ var portRef = import_zod11.z.union([
299
+ import_zod11.z.string(),
300
+ import_zod11.z.custom(
250
301
  (v) => Boolean(v.getPortSelector)
251
302
  )
252
303
  ]);
253
- var traceProps = import_zod3.z.object({
254
- path: import_zod3.z.array(portRef),
255
- thickness: import_soup.distance.optional(),
256
- schematicRouteHints: import_zod3.z.array(import_soup.point).optional(),
257
- pcbRouteHints: import_zod3.z.array(import_soup.route_hint_point).optional()
304
+ var traceProps = import_zod11.z.object({
305
+ path: import_zod11.z.array(portRef),
306
+ thickness: import_soup6.distance.optional(),
307
+ schematicRouteHints: import_zod11.z.array(import_soup6.point).optional(),
308
+ pcbRouteHints: import_zod11.z.array(import_soup6.route_hint_point).optional()
258
309
  }).or(
259
- import_zod3.z.object({
310
+ import_zod11.z.object({
260
311
  from: portRef,
261
312
  to: portRef,
262
- thickness: import_soup.distance.optional(),
263
- schematicRouteHints: import_zod3.z.array(import_soup.point).optional(),
264
- pcbRouteHints: import_zod3.z.array(import_soup.route_hint_point).optional()
313
+ thickness: import_soup6.distance.optional(),
314
+ schematicRouteHints: import_zod11.z.array(import_soup6.point).optional(),
315
+ pcbRouteHints: import_zod11.z.array(import_soup6.route_hint_point).optional()
265
316
  })
266
317
  );
267
- var smtPadProps = import_zod3.z.union([
318
+ var smtPadProps = import_zod11.z.union([
268
319
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
269
- shape: import_zod3.z.literal("circle"),
270
- radius: import_soup.distance.optional(),
320
+ shape: import_zod11.z.literal("circle"),
321
+ radius: import_soup6.distance.optional(),
271
322
  portHints: portHints.optional()
272
323
  }),
273
324
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
274
- shape: import_zod3.z.literal("rect"),
275
- width: import_soup.distance.optional(),
276
- height: import_soup.distance.optional(),
325
+ shape: import_zod11.z.literal("rect"),
326
+ width: import_soup6.distance.optional(),
327
+ height: import_soup6.distance.optional(),
277
328
  portHints: portHints.optional()
278
329
  })
279
330
  ]);
280
- var platedHoleProps = import_zod3.z.union([
331
+ var platedHoleProps = import_zod11.z.union([
281
332
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
282
- shape: import_zod3.z.literal("circle"),
283
- holeDiameter: import_soup.distance,
284
- outerDiameter: import_soup.distance,
333
+ shape: import_zod11.z.literal("circle"),
334
+ holeDiameter: import_soup6.distance,
335
+ outerDiameter: import_soup6.distance,
285
336
  portHints: portHints.optional()
286
337
  }),
287
338
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
288
- shape: import_zod3.z.literal("oval"),
289
- outerWidth: import_soup.distance,
290
- outerHeight: import_soup.distance,
291
- innerWidth: import_soup.distance,
292
- innerHeight: import_soup.distance,
339
+ shape: import_zod11.z.literal("oval"),
340
+ outerWidth: import_soup6.distance,
341
+ outerHeight: import_soup6.distance,
342
+ innerWidth: import_soup6.distance,
343
+ innerHeight: import_soup6.distance,
293
344
  portHints: portHints.optional()
294
345
  })
295
346
  ]);
296
347
  var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
297
- holeDiameter: import_soup.distance
298
- });
299
- var schematicBoxProps = import_zod3.z.object({
300
- schX: import_soup.distance,
301
- schY: import_soup.distance,
302
- width: import_soup.distance,
303
- height: import_soup.distance
304
- });
305
- var schematicTextProps = import_zod3.z.object({
306
- schX: import_soup.distance,
307
- schY: import_soup.distance,
308
- text: import_zod3.z.string()
309
- });
310
- var schematicLineProps = import_zod3.z.object({
311
- x1: import_soup.distance,
312
- y1: import_soup.distance,
313
- x2: import_soup.distance,
314
- y2: import_soup.distance
315
- });
316
- var schematicPathProps = import_zod3.z.object({
317
- points: import_zod3.z.array(import_soup.point),
318
- isFilled: import_zod3.z.boolean().optional().default(false),
319
- fillColor: import_zod3.z.enum(["red", "blue"]).optional()
320
- });
321
- var constraintProps = import_zod3.z.union([
322
- import_zod3.z.object({
323
- type: import_zod3.z.literal("xdist"),
324
- dist: import_soup.distance,
325
- left: import_zod3.z.string(),
326
- right: import_zod3.z.string()
348
+ holeDiameter: import_soup6.distance
349
+ });
350
+ var schematicBoxProps = import_zod11.z.object({
351
+ schX: import_soup6.distance,
352
+ schY: import_soup6.distance,
353
+ width: import_soup6.distance,
354
+ height: import_soup6.distance
355
+ });
356
+ var schematicTextProps = import_zod11.z.object({
357
+ schX: import_soup6.distance,
358
+ schY: import_soup6.distance,
359
+ text: import_zod11.z.string()
360
+ });
361
+ var schematicLineProps = import_zod11.z.object({
362
+ x1: import_soup6.distance,
363
+ y1: import_soup6.distance,
364
+ x2: import_soup6.distance,
365
+ y2: import_soup6.distance
366
+ });
367
+ var schematicPathProps = import_zod11.z.object({
368
+ points: import_zod11.z.array(import_soup6.point),
369
+ isFilled: import_zod11.z.boolean().optional().default(false),
370
+ fillColor: import_zod11.z.enum(["red", "blue"]).optional()
371
+ });
372
+ var constraintProps = import_zod11.z.union([
373
+ import_zod11.z.object({
374
+ type: import_zod11.z.literal("xdist"),
375
+ dist: import_soup6.distance,
376
+ left: import_zod11.z.string(),
377
+ right: import_zod11.z.string()
327
378
  }),
328
- import_zod3.z.object({
329
- type: import_zod3.z.literal("ydist"),
330
- dist: import_soup.distance,
331
- top: import_zod3.z.string(),
332
- bottom: import_zod3.z.string()
379
+ import_zod11.z.object({
380
+ type: import_zod11.z.literal("ydist"),
381
+ dist: import_soup6.distance,
382
+ top: import_zod11.z.string(),
383
+ bottom: import_zod11.z.string()
333
384
  })
334
385
  ]);
335
- var constrainedLayoutProps = import_zod3.z.object({});
336
- var footprintProps = import_zod3.z.object({});
386
+ var constrainedLayoutProps = import_zod11.z.object({});
387
+ var footprintProps = import_zod11.z.object({});
337
388
  var componentProps = commonComponentProps;
338
389
  var groupProps = commonLayoutProps.extend({
339
- name: import_zod3.z.string().optional(),
340
- layout: import_zod3.z.custom((v) => true).optional(),
341
- children: import_zod3.z.any().optional(),
342
- routingDisabled: import_zod3.z.boolean().optional()
390
+ name: import_zod11.z.string().optional(),
391
+ layout: import_zod11.z.custom((v) => true).optional(),
392
+ children: import_zod11.z.any().optional(),
393
+ routingDisabled: import_zod11.z.boolean().optional()
343
394
  });
344
395
  var powerSourceProps = commonComponentProps.extend({
345
- voltage: import_soup.voltage
396
+ voltage: import_soup6.voltage
346
397
  });
347
398
  var portProps = commonLayoutProps.extend({
348
- name: import_zod3.z.string(),
349
- pinNumber: import_zod3.z.number().optional(),
350
- aliases: import_zod3.z.array(import_zod3.z.string()).optional(),
399
+ name: import_zod11.z.string(),
400
+ pinNumber: import_zod11.z.number().optional(),
401
+ aliases: import_zod11.z.array(import_zod11.z.string()).optional(),
351
402
  direction
352
403
  });
353
404
  var silkscreenTextProps = pcbLayoutProps.extend({
354
- text: import_zod3.z.string(),
355
- anchorAlignment: import_zod3.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
356
- font: import_zod3.z.enum(["tscircuit2024"]).optional(),
357
- fontSize: import_soup.length.optional()
405
+ text: import_zod11.z.string(),
406
+ anchorAlignment: import_zod11.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
407
+ font: import_zod11.z.enum(["tscircuit2024"]).optional(),
408
+ fontSize: import_soup6.length.optional()
358
409
  });
359
410
  var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
360
- route: import_zod3.z.array(import_soup.route_hint_point),
361
- strokeWidth: import_soup.length.optional()
411
+ route: import_zod11.z.array(import_soup6.route_hint_point),
412
+ strokeWidth: import_soup6.length.optional()
362
413
  });
363
414
  var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
364
- strokeWidth: import_soup.distance,
365
- x1: import_soup.distance,
366
- y1: import_soup.distance,
367
- x2: import_soup.distance,
368
- y2: import_soup.distance
415
+ strokeWidth: import_soup6.distance,
416
+ x1: import_soup6.distance,
417
+ y1: import_soup6.distance,
418
+ x2: import_soup6.distance,
419
+ y2: import_soup6.distance
369
420
  });
370
421
  var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
371
- isFilled: import_zod3.z.boolean().optional(),
372
- isOutline: import_zod3.z.boolean().optional(),
373
- strokeWidth: import_soup.distance.optional(),
374
- width: import_soup.distance,
375
- height: import_soup.distance
422
+ isFilled: import_zod11.z.boolean().optional(),
423
+ isOutline: import_zod11.z.boolean().optional(),
424
+ strokeWidth: import_soup6.distance.optional(),
425
+ width: import_soup6.distance,
426
+ height: import_soup6.distance
376
427
  });
377
428
  var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
378
- isFilled: import_zod3.z.boolean().optional(),
379
- isOutline: import_zod3.z.boolean().optional(),
380
- strokeWidth: import_soup.distance.optional(),
381
- radius: import_soup.distance
382
- });
383
- var routeHintPointProps = import_zod3.z.object({
384
- x: import_soup.distance,
385
- y: import_soup.distance,
386
- via: import_zod3.z.boolean().optional(),
387
- toLayer: import_soup.layer_ref.optional()
388
- });
389
- var traceHintProps = import_zod3.z.object({
390
- for: import_zod3.z.string().optional().describe(
429
+ isFilled: import_zod11.z.boolean().optional(),
430
+ isOutline: import_zod11.z.boolean().optional(),
431
+ strokeWidth: import_soup6.distance.optional(),
432
+ radius: import_soup6.distance
433
+ });
434
+ var routeHintPointProps = import_zod11.z.object({
435
+ x: import_soup6.distance,
436
+ y: import_soup6.distance,
437
+ via: import_zod11.z.boolean().optional(),
438
+ toLayer: import_soup6.layer_ref.optional()
439
+ });
440
+ var traceHintProps = import_zod11.z.object({
441
+ for: import_zod11.z.string().optional().describe(
391
442
  "Selector for the port you're targeting, not required if you're inside a trace"
392
443
  ),
393
- order: import_zod3.z.number().optional(),
394
- offset: import_soup.route_hint_point.or(routeHintPointProps).optional(),
395
- offsets: import_zod3.z.array(import_soup.route_hint_point).or(import_zod3.z.array(routeHintPointProps)).optional(),
396
- traceWidth: import_zod3.z.number().optional()
444
+ order: import_zod11.z.number().optional(),
445
+ offset: import_soup6.route_hint_point.or(routeHintPointProps).optional(),
446
+ offsets: import_zod11.z.array(import_soup6.route_hint_point).or(import_zod11.z.array(routeHintPointProps)).optional(),
447
+ traceWidth: import_zod11.z.number().optional()
397
448
  });
398
- var pcbTraceProps = import_zod3.z.object({
399
- layer: import_zod3.z.string().optional(),
400
- thickness: import_soup.distance.optional(),
401
- route: import_zod3.z.array(import_soup.route_hint_point)
449
+ var pcbTraceProps = import_zod11.z.object({
450
+ layer: import_zod11.z.string().optional(),
451
+ thickness: import_soup6.distance.optional(),
452
+ route: import_zod11.z.array(import_soup6.route_hint_point)
402
453
  });
403
454
  var fabricationNoteTextProps = pcbLayoutProps.extend({
404
- text: import_zod3.z.string(),
405
- anchorAlignment: import_zod3.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
406
- font: import_zod3.z.enum(["tscircuit2024"]).optional(),
407
- fontSize: import_soup.length.optional()
455
+ text: import_zod11.z.string(),
456
+ anchorAlignment: import_zod11.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
457
+ font: import_zod11.z.enum(["tscircuit2024"]).optional(),
458
+ fontSize: import_soup6.length.optional()
408
459
  });
409
460
  var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
410
- route: import_zod3.z.array(import_soup.route_hint_point),
411
- strokeWidth: import_soup.length.optional()
461
+ route: import_zod11.z.array(import_soup6.route_hint_point),
462
+ strokeWidth: import_soup6.length.optional()
412
463
  });
413
464
  // Annotate the CommonJS export names for ESM import in node:
414
465
  0 && (module.exports = {
415
466
  boardProps,
416
467
  bugProps,
417
- cadModelBase,
418
- cadModelJscad,
419
- cadModelObj,
420
- cadModelStl,
421
468
  capacitorPins,
422
469
  capacitorProps,
423
470
  chipProps,
@@ -434,6 +481,7 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
434
481
  explicitPinSideDefinition,
435
482
  fabricationNotePathProps,
436
483
  fabricationNoteTextProps,
484
+ footprintProp,
437
485
  footprintProps,
438
486
  groupProps,
439
487
  holeProps,
@@ -447,6 +495,7 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
447
495
  pcbLayoutProps,
448
496
  pcbTraceProps,
449
497
  platedHoleProps,
498
+ point3,
450
499
  portHints,
451
500
  portProps,
452
501
  portRef,