@tscircuit/props 0.0.579 → 0.0.581

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,10 +25,58 @@ var calcString = z2.string().regex(/^calc\(.*\)$/);
25
25
  var distance = baseDistance;
26
26
  var pcbCoordinate = calcString.or(baseDistance);
27
27
 
28
- // lib/enclosure/fdm/box.ts
28
+ // lib/common/commonShape.ts
29
29
  import { z as z3 } from "zod";
30
- var enclosureFdmBoxProps = z3.object({
31
- boardRef: z3.string().min(1),
30
+ var pillShapeProps = z3.object({
31
+ shape: z3.literal("pill"),
32
+ width: distance,
33
+ height: distance
34
+ });
35
+ var rectShapeProps = z3.object({
36
+ shape: z3.literal("rect"),
37
+ width: distance,
38
+ height: distance
39
+ });
40
+ var circleShapeProps = z3.object({
41
+ shape: z3.literal("circle"),
42
+ radius: distance
43
+ });
44
+ var commonShapeProps = z3.discriminatedUnion("shape", [
45
+ pillShapeProps,
46
+ rectShapeProps,
47
+ circleShapeProps
48
+ ]);
49
+ expectTypesMatch(true);
50
+
51
+ // lib/assembly/device.ts
52
+ import { z as z4 } from "zod";
53
+ var assemblyDeviceProps = z4.object({
54
+ name: z4.string().optional()
55
+ });
56
+ expectTypesMatch(true);
57
+
58
+ // lib/assembly/index.ts
59
+ var assemblyProps = {
60
+ device: assemblyDeviceProps
61
+ };
62
+
63
+ // lib/enclosure/cutout-aperture.ts
64
+ import { z as z5 } from "zod";
65
+ var enclosureCutoutApertureShapes = ["pill", "rect", "circle"];
66
+ var apertureOnlyProps = {
67
+ margin: distance.optional()
68
+ };
69
+ var enclosureCutoutApertureProps = z5.discriminatedUnion("shape", [
70
+ pillShapeProps.extend(apertureOnlyProps),
71
+ rectShapeProps.extend(apertureOnlyProps),
72
+ circleShapeProps.extend(apertureOnlyProps)
73
+ ]);
74
+ expectTypesMatch(true);
75
+
76
+ // lib/enclosure/fdm/box.ts
77
+ import { z as z6 } from "zod";
78
+ var enclosureFdmBoxProps = z6.object({
79
+ boardRef: z6.string().min(1),
32
80
  width: distance.optional(),
33
81
  height: distance.optional(),
34
82
  depth: distance.optional(),
@@ -38,14 +86,15 @@ expectTypesMatch(true);
38
86
 
39
87
  // lib/enclosure/index.ts
40
88
  var enclosureProps = {
89
+ cutoutaperture: enclosureCutoutApertureProps,
41
90
  fdm: {
42
- Box: enclosureFdmBoxProps
91
+ box: enclosureFdmBoxProps
43
92
  }
44
93
  };
45
94
 
46
95
  // lib/common/portHints.ts
47
- import { z as z4 } from "zod";
48
- var portHints = z4.array(z4.string().or(z4.number()));
96
+ import { z as z7 } from "zod";
97
+ var portHints = z7.array(z7.string().or(z7.number()));
49
98
  expectTypesMatch(true);
50
99
 
51
100
  // lib/common/layout.ts
@@ -55,34 +104,34 @@ import {
55
104
  rotation as rotation2,
56
105
  supplier_name
57
106
  } from "circuit-json";
58
- import { z as z17 } from "zod";
107
+ import { z as z20 } from "zod";
59
108
 
60
109
  // lib/common/cadModel.ts
61
- import { z as z7 } from "zod";
110
+ import { z as z10 } from "zod";
62
111
 
63
112
  // lib/common/point3.ts
64
113
  import { distance as distance2 } from "circuit-json";
65
- import { z as z5 } from "zod";
66
- var point3 = z5.object({
114
+ import { z as z8 } from "zod";
115
+ var point3 = z8.object({
67
116
  x: distance2,
68
117
  y: distance2,
69
118
  z: distance2
70
119
  });
71
120
 
72
121
  // lib/common/url.ts
73
- import { z as z6 } from "zod";
74
- var url = z6.preprocess((value) => {
122
+ import { z as z9 } from "zod";
123
+ var url = z9.preprocess((value) => {
75
124
  if (value && typeof value === "object" && "default" in value) {
76
125
  return value.default;
77
126
  }
78
127
  return value;
79
- }, z6.string());
128
+ }, z9.string());
80
129
 
81
130
  // lib/common/cadModel.ts
82
- var rotationPoint3 = z7.object({
83
- x: z7.union([z7.number(), z7.string()]),
84
- y: z7.union([z7.number(), z7.string()]),
85
- z: z7.union([z7.number(), z7.string()])
131
+ var rotationPoint3 = z10.object({
132
+ x: z10.union([z10.number(), z10.string()]),
133
+ y: z10.union([z10.number(), z10.string()]),
134
+ z: z10.union([z10.number(), z10.string()])
86
135
  });
87
136
  var cadModelAxisDirections = [
88
137
  "x+",
@@ -92,17 +141,17 @@ var cadModelAxisDirections = [
92
141
  "z+",
93
142
  "z-"
94
143
  ];
95
- var cadModelAxisDirection = z7.enum(cadModelAxisDirections);
96
- var cadModelBase = z7.object({
97
- rotationOffset: z7.number().or(rotationPoint3).optional(),
144
+ var cadModelAxisDirection = z10.enum(cadModelAxisDirections);
145
+ var cadModelBase = z10.object({
146
+ rotationOffset: z10.number().or(rotationPoint3).optional(),
98
147
  positionOffset: point3.optional(),
99
148
  modelOriginPosition: point3.optional(),
100
149
  size: point3.optional(),
101
150
  modelUnitToMmScale: distance.optional(),
102
151
  modelBoardNormalDirection: cadModelAxisDirection.optional(),
103
- pcbRotationOffset: z7.number().optional(),
152
+ pcbRotationOffset: z10.number().optional(),
104
153
  zOffsetFromSurface: distance.optional(),
105
- showAsTranslucentModel: z7.boolean().optional(),
154
+ showAsTranslucentModel: z10.boolean().optional(),
106
155
  stepUrl: url.optional()
107
156
  });
108
157
  expectTypesMatch(true);
@@ -126,12 +175,12 @@ var cadModelWrl = cadModelBase.extend({
126
175
  wrlUrl: url
127
176
  });
128
177
  var cadModelJscad = cadModelBase.extend({
129
- jscad: z7.record(z7.any())
178
+ jscad: z10.record(z10.any())
130
179
  });
131
- var cadModelProp = z7.union([
132
- z7.null(),
180
+ var cadModelProp = z10.union([
181
+ z10.null(),
133
182
  url,
134
- z7.custom((v) => {
183
+ z10.custom((v) => {
135
184
  return v && typeof v === "object" && "type" in v && "props" in v;
136
185
  }),
137
186
  cadModelStl,
@@ -145,17 +194,17 @@ var cadModelProp = z7.union([
145
194
  expectTypesMatch(true);
146
195
 
147
196
  // lib/common/footprintProp.ts
148
- import { z as z8 } from "zod";
149
- var footprintProp = z8.custom((v) => true);
197
+ import { z as z11 } from "zod";
198
+ var footprintProp = z11.custom((v) => true);
150
199
 
151
200
  // lib/common/kicadFootprintMetadata.ts
152
201
  import { distance as distance4, rotation } from "circuit-json";
153
- import { z as z10 } from "zod";
202
+ import { z as z13 } from "zod";
154
203
 
155
204
  // lib/common/point.ts
156
205
  import { distance as distance3 } from "circuit-json";
157
- import { z as z9 } from "zod";
158
- var point = z9.object({
206
+ import { z as z12 } from "zod";
207
+ var point = z12.object({
159
208
  x: distance3,
160
209
  y: distance3
161
210
  });
@@ -165,25 +214,25 @@ var kicadAt = point.extend({
165
214
  rotation: rotation.optional()
166
215
  });
167
216
  expectTypesMatch(true);
168
- var kicadFont = z10.object({
217
+ var kicadFont = z13.object({
169
218
  size: point.optional(),
170
219
  thickness: distance4.optional()
171
220
  });
172
221
  expectTypesMatch(true);
173
- var kicadEffects = z10.object({
222
+ var kicadEffects = z13.object({
174
223
  font: kicadFont.optional()
175
224
  });
176
225
  expectTypesMatch(true);
177
- var kicadProperty = z10.object({
178
- value: z10.string(),
226
+ var kicadProperty = z13.object({
227
+ value: z13.string(),
179
228
  at: kicadAt.optional(),
180
- layer: z10.string().optional(),
181
- uuid: z10.string().optional(),
182
- hide: z10.boolean().optional(),
229
+ layer: z13.string().optional(),
230
+ uuid: z13.string().optional(),
231
+ hide: z13.boolean().optional(),
183
232
  effects: kicadEffects.optional()
184
233
  });
185
234
  expectTypesMatch(true);
186
- var kicadFootprintProperties = z10.object({
235
+ var kicadFootprintProperties = z13.object({
187
236
  Reference: kicadProperty.optional(),
188
237
  Value: kicadProperty.optional(),
189
238
  Datasheet: kicadProperty.optional(),
@@ -192,74 +241,74 @@ var kicadFootprintProperties = z10.object({
192
241
  expectTypesMatch(
193
242
  true
194
243
  );
195
- var kicadFootprintAttributes = z10.object({
196
- through_hole: z10.boolean().optional(),
197
- smd: z10.boolean().optional(),
198
- exclude_from_pos_files: z10.boolean().optional(),
199
- exclude_from_bom: z10.boolean().optional()
244
+ var kicadFootprintAttributes = z13.object({
245
+ through_hole: z13.boolean().optional(),
246
+ smd: z13.boolean().optional(),
247
+ exclude_from_pos_files: z13.boolean().optional(),
248
+ exclude_from_bom: z13.boolean().optional()
200
249
  });
201
250
  expectTypesMatch(
202
251
  true
203
252
  );
204
- var kicadFootprintPad = z10.object({
205
- name: z10.string(),
206
- type: z10.string(),
207
- shape: z10.string().optional(),
253
+ var kicadFootprintPad = z13.object({
254
+ name: z13.string(),
255
+ type: z13.string(),
256
+ shape: z13.string().optional(),
208
257
  at: kicadAt.optional(),
209
258
  size: point.optional(),
210
259
  drill: distance4.optional(),
211
- layers: z10.array(z10.string()).optional(),
212
- removeUnusedLayers: z10.boolean().optional(),
213
- uuid: z10.string().optional()
260
+ layers: z13.array(z13.string()).optional(),
261
+ removeUnusedLayers: z13.boolean().optional(),
262
+ uuid: z13.string().optional()
214
263
  });
215
264
  expectTypesMatch(true);
216
- var kicadFootprintModel = z10.object({
217
- path: z10.string(),
265
+ var kicadFootprintModel = z13.object({
266
+ path: z13.string(),
218
267
  offset: point3.optional(),
219
268
  scale: point3.optional(),
220
269
  rotate: point3.optional()
221
270
  });
222
271
  expectTypesMatch(true);
223
- var kicadFootprintMetadata = z10.object({
224
- footprintName: z10.string().optional(),
225
- version: z10.union([z10.number(), z10.string()]).optional(),
226
- generator: z10.string().optional(),
227
- generatorVersion: z10.union([z10.number(), z10.string()]).optional(),
228
- layer: z10.string().optional(),
272
+ var kicadFootprintMetadata = z13.object({
273
+ footprintName: z13.string().optional(),
274
+ version: z13.union([z13.number(), z13.string()]).optional(),
275
+ generator: z13.string().optional(),
276
+ generatorVersion: z13.union([z13.number(), z13.string()]).optional(),
277
+ layer: z13.string().optional(),
229
278
  properties: kicadFootprintProperties.optional(),
230
279
  attributes: kicadFootprintAttributes.optional(),
231
- pads: z10.array(kicadFootprintPad).optional(),
232
- embeddedFonts: z10.boolean().optional(),
280
+ pads: z13.array(kicadFootprintPad).optional(),
281
+ embeddedFonts: z13.boolean().optional(),
233
282
  model: kicadFootprintModel.optional()
234
283
  });
235
284
  expectTypesMatch(true);
236
285
 
237
286
  // lib/common/kicadSymbolMetadata.ts
238
287
  import { distance as distance5 } from "circuit-json";
239
- import { z as z11 } from "zod";
240
- var kicadSymbolPinNumbers = z11.object({
241
- hide: z11.boolean().optional()
288
+ import { z as z14 } from "zod";
289
+ var kicadSymbolPinNumbers = z14.object({
290
+ hide: z14.boolean().optional()
242
291
  });
243
292
  expectTypesMatch(true);
244
- var kicadSymbolPinNames = z11.object({
293
+ var kicadSymbolPinNames = z14.object({
245
294
  offset: distance5.optional(),
246
- hide: z11.boolean().optional()
295
+ hide: z14.boolean().optional()
247
296
  });
248
297
  expectTypesMatch(true);
249
- var kicadSymbolEffects = z11.object({
298
+ var kicadSymbolEffects = z14.object({
250
299
  font: kicadFont.optional(),
251
- justify: z11.union([z11.string(), z11.array(z11.string())]).optional(),
252
- hide: z11.boolean().optional()
300
+ justify: z14.union([z14.string(), z14.array(z14.string())]).optional(),
301
+ hide: z14.boolean().optional()
253
302
  });
254
303
  expectTypesMatch(true);
255
- var kicadSymbolProperty = z11.object({
256
- value: z11.string(),
257
- id: z11.union([z11.number(), z11.string()]).optional(),
304
+ var kicadSymbolProperty = z14.object({
305
+ value: z14.string(),
306
+ id: z14.union([z14.number(), z14.string()]).optional(),
258
307
  at: kicadAt.optional(),
259
308
  effects: kicadSymbolEffects.optional()
260
309
  });
261
310
  expectTypesMatch(true);
262
- var kicadSymbolProperties = z11.object({
311
+ var kicadSymbolProperties = z14.object({
263
312
  Reference: kicadSymbolProperty.optional(),
264
313
  Value: kicadSymbolProperty.optional(),
265
314
  Footprint: kicadSymbolProperty.optional(),
@@ -269,55 +318,55 @@ var kicadSymbolProperties = z11.object({
269
318
  ki_fp_filters: kicadSymbolProperty.optional()
270
319
  });
271
320
  expectTypesMatch(true);
272
- var kicadSymbolMetadata = z11.object({
273
- symbolName: z11.string().optional(),
274
- extends: z11.string().optional(),
321
+ var kicadSymbolMetadata = z14.object({
322
+ symbolName: z14.string().optional(),
323
+ extends: z14.string().optional(),
275
324
  pinNumbers: kicadSymbolPinNumbers.optional(),
276
325
  pinNames: kicadSymbolPinNames.optional(),
277
- excludeFromSim: z11.boolean().optional(),
278
- inBom: z11.boolean().optional(),
279
- onBoard: z11.boolean().optional(),
326
+ excludeFromSim: z14.boolean().optional(),
327
+ inBom: z14.boolean().optional(),
328
+ onBoard: z14.boolean().optional(),
280
329
  properties: kicadSymbolProperties.optional(),
281
- embeddedFonts: z11.boolean().optional()
330
+ embeddedFonts: z14.boolean().optional()
282
331
  });
283
332
  expectTypesMatch(true);
284
333
 
285
334
  // lib/common/pcbStyle.ts
286
335
  import { distance as distance6 } from "circuit-json";
287
- import { z as z12 } from "zod";
288
- var pcbStyle = z12.object({
336
+ import { z as z15 } from "zod";
337
+ var pcbStyle = z15.object({
289
338
  silkscreenFontSize: distance6.optional(),
290
339
  viaPadDiameter: distance6.optional(),
291
340
  viaHoleDiameter: distance6.optional(),
292
- silkscreenTextPosition: z12.union([
293
- z12.enum(["centered", "outside", "none"]),
294
- z12.object({
295
- offsetX: z12.number(),
296
- offsetY: z12.number()
341
+ silkscreenTextPosition: z15.union([
342
+ z15.enum(["centered", "outside", "none"]),
343
+ z15.object({
344
+ offsetX: z15.number(),
345
+ offsetY: z15.number()
297
346
  })
298
347
  ]).optional(),
299
- silkscreenTextVisibility: z12.enum(["hidden", "visible", "inherit"]).optional()
348
+ silkscreenTextVisibility: z15.enum(["hidden", "visible", "inherit"]).optional()
300
349
  });
301
350
  expectTypesMatch(true);
302
351
 
303
352
  // lib/common/pcbSx.ts
304
353
  import { length as length2 } from "circuit-json";
305
- import { z as z13 } from "zod";
306
- var pcbSxValue = z13.object({
354
+ import { z as z16 } from "zod";
355
+ var pcbSxValue = z16.object({
307
356
  fontSize: length2.optional(),
308
357
  pcbX: pcbCoordinate.optional(),
309
358
  pcbY: pcbCoordinate.optional(),
310
- visibility: z13.enum(["hidden", "visible", "inherit"]).optional()
359
+ visibility: z16.enum(["hidden", "visible", "inherit"]).optional()
311
360
  });
312
- var pcbSx = z13.record(
313
- z13.string(),
361
+ var pcbSx = z16.record(
362
+ z16.string(),
314
363
  pcbSxValue
315
364
  );
316
365
  expectTypesMatch(true);
317
366
 
318
367
  // lib/common/pinAttributeMap.ts
319
- import { z as z14 } from "zod";
320
- var pinCapability = z14.enum([
368
+ import { z as z17 } from "zod";
369
+ var pinCapability = z17.enum([
321
370
  "i2c_sda",
322
371
  "i2c_scl",
323
372
  "spi_cs",
@@ -327,51 +376,51 @@ var pinCapability = z14.enum([
327
376
  "uart_tx",
328
377
  "uart_rx"
329
378
  ]);
330
- var pinAttributeMap = z14.object({
331
- capabilities: z14.array(pinCapability).optional(),
332
- activeCapabilities: z14.array(pinCapability).optional(),
379
+ var pinAttributeMap = z17.object({
380
+ capabilities: z17.array(pinCapability).optional(),
381
+ activeCapabilities: z17.array(pinCapability).optional(),
333
382
  activeCapability: pinCapability.optional(),
334
- providesPower: z14.boolean().optional(),
335
- requiresPower: z14.boolean().optional(),
336
- providesGround: z14.boolean().optional(),
337
- requiresGround: z14.boolean().optional(),
338
- providesVoltage: z14.union([z14.string(), z14.number()]).optional(),
339
- requiresVoltage: z14.union([z14.string(), z14.number()]).optional(),
340
- doNotConnect: z14.boolean().optional(),
341
- includeInBoardPinout: z14.boolean().optional(),
342
- highlightColor: z14.string().optional(),
343
- mustBeConnected: z14.boolean().optional(),
344
- canUseInternalPullup: z14.boolean().optional(),
345
- isUsingInternalPullup: z14.boolean().optional(),
346
- needsExternalPullup: z14.boolean().optional(),
347
- canUseInternalPulldown: z14.boolean().optional(),
348
- isUsingInternalPulldown: z14.boolean().optional(),
349
- needsExternalPulldown: z14.boolean().optional(),
350
- canUseOpenDrain: z14.boolean().optional(),
351
- isUsingOpenDrain: z14.boolean().optional(),
352
- canUsePushPull: z14.boolean().optional(),
353
- isUsingPushPull: z14.boolean().optional(),
354
- shouldHaveDecouplingCapacitor: z14.boolean().optional(),
355
- recommendedDecouplingCapacitorCapacitance: z14.union([z14.string(), z14.number()]).optional(),
356
- isGpio: z14.boolean().optional()
383
+ providesPower: z17.boolean().optional(),
384
+ requiresPower: z17.boolean().optional(),
385
+ providesGround: z17.boolean().optional(),
386
+ requiresGround: z17.boolean().optional(),
387
+ providesVoltage: z17.union([z17.string(), z17.number()]).optional(),
388
+ requiresVoltage: z17.union([z17.string(), z17.number()]).optional(),
389
+ doNotConnect: z17.boolean().optional(),
390
+ includeInBoardPinout: z17.boolean().optional(),
391
+ highlightColor: z17.string().optional(),
392
+ mustBeConnected: z17.boolean().optional(),
393
+ canUseInternalPullup: z17.boolean().optional(),
394
+ isUsingInternalPullup: z17.boolean().optional(),
395
+ needsExternalPullup: z17.boolean().optional(),
396
+ canUseInternalPulldown: z17.boolean().optional(),
397
+ isUsingInternalPulldown: z17.boolean().optional(),
398
+ needsExternalPulldown: z17.boolean().optional(),
399
+ canUseOpenDrain: z17.boolean().optional(),
400
+ isUsingOpenDrain: z17.boolean().optional(),
401
+ canUsePushPull: z17.boolean().optional(),
402
+ isUsingPushPull: z17.boolean().optional(),
403
+ shouldHaveDecouplingCapacitor: z17.boolean().optional(),
404
+ recommendedDecouplingCapacitorCapacitance: z17.union([z17.string(), z17.number()]).optional(),
405
+ isGpio: z17.boolean().optional()
357
406
  });
358
407
  expectTypesMatch(true);
359
408
 
360
409
  // lib/common/schStyle.ts
361
410
  import { distance as distance7 } from "circuit-json";
362
- import { z as z15 } from "zod";
363
- var schStyle = z15.object({
364
- defaultPassiveSize: z15.union([z15.enum(["xs", "sm", "md"]), distance7]).optional(),
365
- defaultCapacitorOrientation: z15.enum(["vertical", "none"]).optional()
411
+ import { z as z18 } from "zod";
412
+ var schStyle = z18.object({
413
+ defaultPassiveSize: z18.union([z18.enum(["xs", "sm", "md"]), distance7]).optional(),
414
+ defaultCapacitorOrientation: z18.enum(["vertical", "none"]).optional()
366
415
  });
367
416
  expectTypesMatch(true);
368
417
 
369
418
  // lib/common/symbolProp.ts
370
- import { z as z16 } from "zod";
371
- var symbolProp = z16.custom((v) => true);
419
+ import { z as z19 } from "zod";
420
+ var symbolProp = z19.custom((v) => true);
372
421
 
373
422
  // lib/common/layout.ts
374
- var pcbLayoutProps = z17.object({
423
+ var pcbLayoutProps = z20.object({
375
424
  pcbX: pcbCoordinate.optional(),
376
425
  pcbY: pcbCoordinate.optional(),
377
426
  pcbLeftEdgeX: pcbCoordinate.optional(),
@@ -381,14 +430,14 @@ var pcbLayoutProps = z17.object({
381
430
  pcbOffsetX: distance8.optional(),
382
431
  pcbOffsetY: distance8.optional(),
383
432
  pcbRotation: rotation2.optional(),
384
- pcbPositionAnchor: z17.string().optional(),
385
- pcbPositionMode: z17.enum([
433
+ pcbPositionAnchor: z20.string().optional(),
434
+ pcbPositionMode: z20.enum([
386
435
  "relative_to_group_anchor",
387
436
  "auto",
388
437
  "relative_to_board_anchor",
389
438
  "relative_to_component_anchor"
390
439
  ]).optional(),
391
- shouldBeOnEdgeOfBoard: z17.boolean().optional(),
440
+ shouldBeOnEdgeOfBoard: z20.boolean().optional(),
392
441
  layer: layer_ref.optional(),
393
442
  pcbMarginTop: distance8.optional(),
394
443
  pcbMarginRight: distance8.optional(),
@@ -398,11 +447,11 @@ var pcbLayoutProps = z17.object({
398
447
  pcbMarginY: distance8.optional(),
399
448
  pcbStyle: pcbStyle.optional(),
400
449
  pcbSx: pcbSx.optional(),
401
- pcbRelative: z17.boolean().optional(),
402
- relative: z17.boolean().optional()
450
+ pcbRelative: z20.boolean().optional(),
451
+ relative: z20.boolean().optional()
403
452
  });
404
453
  expectTypesMatch(true);
405
- var commonLayoutProps = z17.object({
454
+ var commonLayoutProps = z20.object({
406
455
  pcbX: pcbCoordinate.optional(),
407
456
  pcbY: pcbCoordinate.optional(),
408
457
  pcbLeftEdgeX: pcbCoordinate.optional(),
@@ -412,14 +461,14 @@ var commonLayoutProps = z17.object({
412
461
  pcbOffsetX: distance8.optional(),
413
462
  pcbOffsetY: distance8.optional(),
414
463
  pcbRotation: rotation2.optional(),
415
- pcbPositionAnchor: z17.string().optional(),
416
- pcbPositionMode: z17.enum([
464
+ pcbPositionAnchor: z20.string().optional(),
465
+ pcbPositionMode: z20.enum([
417
466
  "relative_to_group_anchor",
418
467
  "auto",
419
468
  "relative_to_board_anchor",
420
469
  "relative_to_component_anchor"
421
470
  ]).optional(),
422
- shouldBeOnEdgeOfBoard: z17.boolean().optional(),
471
+ shouldBeOnEdgeOfBoard: z20.boolean().optional(),
423
472
  pcbMarginTop: distance8.optional(),
424
473
  pcbMarginRight: distance8.optional(),
425
474
  pcbMarginBottom: distance8.optional(),
@@ -441,44 +490,44 @@ var commonLayoutProps = z17.object({
441
490
  footprint: footprintProp.optional(),
442
491
  symbol: symbolProp.optional(),
443
492
  schStyle: schStyle.optional(),
444
- relative: z17.boolean().optional(),
445
- schRelative: z17.boolean().optional(),
446
- pcbRelative: z17.boolean().optional()
493
+ relative: z20.boolean().optional(),
494
+ schRelative: z20.boolean().optional(),
495
+ pcbRelative: z20.boolean().optional()
447
496
  });
448
497
  expectTypesMatch(true);
449
- var supplierProps = z17.object({
450
- supplierPartNumbers: z17.record(supplier_name, z17.array(z17.string())).optional()
498
+ var supplierProps = z20.object({
499
+ supplierPartNumbers: z20.record(supplier_name, z20.array(z20.string())).optional()
451
500
  });
452
501
  expectTypesMatch(true);
453
502
  var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
454
- key: z17.any().optional(),
455
- name: z17.string(),
456
- displayName: z17.string().optional(),
457
- schSectionName: z17.string().optional().describe(
503
+ key: z20.any().optional(),
504
+ name: z20.string(),
505
+ displayName: z20.string().optional(),
506
+ schSectionName: z20.string().optional().describe(
458
507
  'This component will be drawn as part of this section e.g. "Power"'
459
508
  ),
460
- schSheetName: z17.string().optional().describe(
509
+ schSheetName: z20.string().optional().describe(
461
510
  'This component will be drawn as part of this sheet e.g. "Main"'
462
511
  ),
463
512
  datasheetUrl: url.optional(),
464
513
  cadModel: cadModelProp.optional(),
465
514
  kicadFootprintMetadata: kicadFootprintMetadata.optional(),
466
515
  kicadSymbolMetadata: kicadSymbolMetadata.optional(),
467
- children: z17.any().optional(),
468
- symbolName: z17.string().optional(),
469
- doNotPlace: z17.boolean().optional(),
470
- allowOffBoard: z17.boolean().optional().describe(
516
+ children: z20.any().optional(),
517
+ symbolName: z20.string().optional(),
518
+ doNotPlace: z20.boolean().optional(),
519
+ allowOffBoard: z20.boolean().optional().describe(
471
520
  "Allows the PCB component to hang off the board (e.g. for USB ports or displays)"
472
521
  ),
473
- obstructsWithinBounds: z17.boolean().optional().describe(
522
+ obstructsWithinBounds: z20.boolean().optional().describe(
474
523
  "Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
475
524
  ),
476
- showAsTranslucentModel: z17.boolean().optional().describe(
525
+ showAsTranslucentModel: z20.boolean().optional().describe(
477
526
  "Whether to show this component's CAD model as translucent in the 3D viewer."
478
527
  ),
479
- pinAttributes: z17.record(z17.string(), pinAttributeMap).optional(),
480
- mfn: z17.string().describe("Manufacturer Part Number").optional(),
481
- manufacturerPartNumber: z17.string().optional()
528
+ pinAttributes: z20.record(z20.string(), pinAttributeMap).optional(),
529
+ mfn: z20.string().describe("Manufacturer Part Number").optional(),
530
+ manufacturerPartNumber: z20.string().optional()
482
531
  });
483
532
  expectTypesMatch(true);
484
533
  var componentProps = commonComponentProps;
@@ -493,7 +542,7 @@ var lrPolarPins = [
493
542
  "cathode",
494
543
  "neg"
495
544
  ];
496
- var distanceOrMultiplier = distance8.or(z17.enum(["2x", "3x", "4x"]));
545
+ var distanceOrMultiplier = distance8.or(z20.enum(["2x", "3x", "4x"]));
497
546
 
498
547
  // lib/generated/kicad-autocomplete.ts
499
548
  var kicadFootprintKeys = [
@@ -15959,8 +16008,8 @@ var footprinterStringExamples = [
15959
16008
  ];
15960
16009
 
15961
16010
  // lib/common/schematicOrientation.ts
15962
- import { z as z18 } from "zod";
15963
- var schematicOrientation = z18.enum([
16011
+ import { z as z21 } from "zod";
16012
+ var schematicOrientation = z21.enum([
15964
16013
  "vertical",
15965
16014
  "horizontal",
15966
16015
  "pos_top",
@@ -15979,32 +16028,32 @@ expectTypesMatch(
15979
16028
  );
15980
16029
 
15981
16030
  // lib/common/schematicPinDefinitions.ts
15982
- import { z as z19 } from "zod";
15983
- var explicitPinSideDefinition = z19.object({
15984
- pins: z19.array(z19.union([z19.number(), z19.string()])),
15985
- direction: z19.union([
15986
- z19.literal("top-to-bottom"),
15987
- z19.literal("left-to-right"),
15988
- z19.literal("bottom-to-top"),
15989
- z19.literal("right-to-left")
16031
+ import { z as z22 } from "zod";
16032
+ var explicitPinSideDefinition = z22.object({
16033
+ pins: z22.array(z22.union([z22.number(), z22.string()])),
16034
+ direction: z22.union([
16035
+ z22.literal("top-to-bottom"),
16036
+ z22.literal("left-to-right"),
16037
+ z22.literal("bottom-to-top"),
16038
+ z22.literal("right-to-left")
15990
16039
  ])
15991
16040
  });
15992
- var pinSideDefinitionInput = z19.array(z19.union([z19.number(), z19.string()]));
15993
- var pinSideDefinitionWithDefaultDirection = (direction2) => z19.union([explicitPinSideDefinition, pinSideDefinitionInput]).transform(
16041
+ var pinSideDefinitionInput = z22.array(z22.union([z22.number(), z22.string()]));
16042
+ var pinSideDefinitionWithDefaultDirection = (direction2) => z22.union([explicitPinSideDefinition, pinSideDefinitionInput]).transform(
15994
16043
  (value) => Array.isArray(value) ? {
15995
16044
  pins: value,
15996
16045
  direction: direction2
15997
16046
  } : value
15998
16047
  );
15999
- var schematicPortArrangement = z19.object({
16000
- leftSize: z19.number().optional().describe("@deprecated, use leftPinCount"),
16001
- topSize: z19.number().optional().describe("@deprecated, use topPinCount"),
16002
- rightSize: z19.number().optional().describe("@deprecated, use rightPinCount"),
16003
- bottomSize: z19.number().optional().describe("@deprecated, use bottomPinCount"),
16004
- leftPinCount: z19.number().optional(),
16005
- rightPinCount: z19.number().optional(),
16006
- topPinCount: z19.number().optional(),
16007
- bottomPinCount: z19.number().optional(),
16048
+ var schematicPortArrangement = z22.object({
16049
+ leftSize: z22.number().optional().describe("@deprecated, use leftPinCount"),
16050
+ topSize: z22.number().optional().describe("@deprecated, use topPinCount"),
16051
+ rightSize: z22.number().optional().describe("@deprecated, use rightPinCount"),
16052
+ bottomSize: z22.number().optional().describe("@deprecated, use bottomPinCount"),
16053
+ leftPinCount: z22.number().optional(),
16054
+ rightPinCount: z22.number().optional(),
16055
+ topPinCount: z22.number().optional(),
16056
+ bottomPinCount: z22.number().optional(),
16008
16057
  leftSide: pinSideDefinitionWithDefaultDirection("top-to-bottom").optional(),
16009
16058
  rightSide: pinSideDefinitionWithDefaultDirection("top-to-bottom").optional(),
16010
16059
  topSide: pinSideDefinitionWithDefaultDirection("left-to-right").optional(),
@@ -16015,9 +16064,9 @@ expectTypesMatch(true);
16015
16064
 
16016
16065
  // lib/common/schematicPinStyle.ts
16017
16066
  import { distance as distance9 } from "circuit-json";
16018
- import { z as z20 } from "zod";
16019
- var schematicPinStyle = z20.record(
16020
- z20.object({
16067
+ import { z as z23 } from "zod";
16068
+ var schematicPinStyle = z23.record(
16069
+ z23.object({
16021
16070
  marginLeft: distance9.optional(),
16022
16071
  marginRight: distance9.optional(),
16023
16072
  marginTop: distance9.optional(),
@@ -16031,17 +16080,17 @@ var schematicPinStyle = z20.record(
16031
16080
  expectTypesMatch(true);
16032
16081
 
16033
16082
  // lib/common/schematicPinLabel.ts
16034
- import { z as z21 } from "zod";
16035
- var schematicPinLabel = z21.string().regex(/^[A-Za-z0-9_]+$/);
16083
+ import { z as z24 } from "zod";
16084
+ var schematicPinLabel = z24.string().regex(/^[A-Za-z0-9_]+$/);
16036
16085
 
16037
16086
  // lib/common/schematicSize.ts
16038
16087
  import { distance as distance10 } from "circuit-json";
16039
- import { z as z22 } from "zod";
16040
- var schematicSymbolSize = distance10.or(z22.enum(["xs", "sm", "default", "md"])).describe("distance between pin1 and pin2 of the schematic symbol");
16088
+ import { z as z25 } from "zod";
16089
+ var schematicSymbolSize = distance10.or(z25.enum(["xs", "sm", "default", "md"])).describe("distance between pin1 and pin2 of the schematic symbol");
16041
16090
 
16042
16091
  // lib/common/kicadPinMetadata.ts
16043
- import { z as z23 } from "zod";
16044
- var kicadPinElectricalType = z23.enum([
16092
+ import { z as z26 } from "zod";
16093
+ var kicadPinElectricalType = z26.enum([
16045
16094
  "input",
16046
16095
  "output",
16047
16096
  "bidirectional",
@@ -16055,7 +16104,7 @@ var kicadPinElectricalType = z23.enum([
16055
16104
  "open_emitter",
16056
16105
  "no_connect"
16057
16106
  ]);
16058
- var kicadPinGraphicStyle = z23.enum([
16107
+ var kicadPinGraphicStyle = z26.enum([
16059
16108
  "line",
16060
16109
  "inverted",
16061
16110
  "clock",
@@ -16066,7 +16115,7 @@ var kicadPinGraphicStyle = z23.enum([
16066
16115
  "falling_edge_clock",
16067
16116
  "nonlogic"
16068
16117
  ]);
16069
- var kicadPinMetadata = z23.object({
16118
+ var kicadPinMetadata = z26.object({
16070
16119
  electricalType: kicadPinElectricalType.optional(),
16071
16120
  graphicStyle: kicadPinGraphicStyle.optional(),
16072
16121
  pinLength: distance.optional(),
@@ -16076,14 +16125,14 @@ var kicadPinMetadata = z23.object({
16076
16125
  expectTypesMatch(true);
16077
16126
 
16078
16127
  // lib/customDrc.ts
16079
- import { z as z24 } from "zod";
16080
- var customDrcCheckFn = z24.custom(
16128
+ import { z as z27 } from "zod";
16129
+ var customDrcCheckFn = z27.custom(
16081
16130
  (value) => typeof value === "function"
16082
16131
  );
16083
16132
 
16084
16133
  // lib/common/ninePointAnchor.ts
16085
- import { z as z25 } from "zod";
16086
- var ninePointAnchor = z25.enum([
16134
+ import { z as z28 } from "zod";
16135
+ var ninePointAnchor = z28.enum([
16087
16136
  "top_left",
16088
16137
  "top_center",
16089
16138
  "top_right",
@@ -16096,47 +16145,47 @@ var ninePointAnchor = z25.enum([
16096
16145
  ]);
16097
16146
 
16098
16147
  // lib/components/board.ts
16099
- import { z as z39 } from "zod";
16148
+ import { z as z42 } from "zod";
16100
16149
 
16101
16150
  // lib/components/group.ts
16102
16151
  import {
16103
16152
  length as length3,
16104
16153
  distance as distance11
16105
16154
  } from "circuit-json";
16106
- import { z as z38 } from "zod";
16155
+ import { z as z41 } from "zod";
16107
16156
 
16108
16157
  // lib/manual-edits/manual-edit-events/base_manual_edit_event.ts
16109
- import { z as z26 } from "zod";
16110
- var base_manual_edit_event = z26.object({
16111
- edit_event_id: z26.string(),
16112
- in_progress: z26.boolean().optional(),
16113
- created_at: z26.number()
16158
+ import { z as z29 } from "zod";
16159
+ var base_manual_edit_event = z29.object({
16160
+ edit_event_id: z29.string(),
16161
+ in_progress: z29.boolean().optional(),
16162
+ created_at: z29.number()
16114
16163
  });
16115
16164
  expectTypesMatch(
16116
16165
  true
16117
16166
  );
16118
16167
 
16119
16168
  // lib/manual-edits/manual-edit-events/edit_pcb_component_location_event.ts
16120
- import { z as z27 } from "zod";
16169
+ import { z as z30 } from "zod";
16121
16170
  var edit_pcb_component_location_event = base_manual_edit_event.extend({
16122
- pcb_edit_event_type: z27.literal("edit_component_location").describe("deprecated"),
16123
- edit_event_type: z27.literal("edit_pcb_component_location"),
16124
- pcb_component_id: z27.string(),
16125
- original_center: z27.object({ x: z27.number(), y: z27.number() }),
16126
- new_center: z27.object({ x: z27.number(), y: z27.number() })
16171
+ pcb_edit_event_type: z30.literal("edit_component_location").describe("deprecated"),
16172
+ edit_event_type: z30.literal("edit_pcb_component_location"),
16173
+ pcb_component_id: z30.string(),
16174
+ original_center: z30.object({ x: z30.number(), y: z30.number() }),
16175
+ new_center: z30.object({ x: z30.number(), y: z30.number() })
16127
16176
  });
16128
16177
  var edit_component_location_event = edit_pcb_component_location_event;
16129
16178
  expectTypesMatch(true);
16130
16179
 
16131
16180
  // lib/manual-edits/manual-edit-events/edit_trace_hint_event.ts
16132
- import { z as z28 } from "zod";
16181
+ import { z as z31 } from "zod";
16133
16182
  var edit_trace_hint_event = base_manual_edit_event.extend({
16134
- pcb_edit_event_type: z28.literal("edit_trace_hint").describe("deprecated"),
16135
- edit_event_type: z28.literal("edit_pcb_trace_hint").optional(),
16136
- pcb_port_id: z28.string(),
16137
- pcb_trace_hint_id: z28.string().optional(),
16138
- route: z28.array(
16139
- z28.object({ x: z28.number(), y: z28.number(), via: z28.boolean().optional() })
16183
+ pcb_edit_event_type: z31.literal("edit_trace_hint").describe("deprecated"),
16184
+ edit_event_type: z31.literal("edit_pcb_trace_hint").optional(),
16185
+ pcb_port_id: z31.string(),
16186
+ pcb_trace_hint_id: z31.string().optional(),
16187
+ route: z31.array(
16188
+ z31.object({ x: z31.number(), y: z31.number(), via: z31.boolean().optional() })
16140
16189
  )
16141
16190
  });
16142
16191
  expectTypesMatch(
@@ -16144,38 +16193,38 @@ expectTypesMatch(
16144
16193
  );
16145
16194
 
16146
16195
  // lib/manual-edits/manual-edit-events/edit_schematic_component_location_event.ts
16147
- import { z as z29 } from "zod";
16196
+ import { z as z32 } from "zod";
16148
16197
  var edit_schematic_component_location_event = base_manual_edit_event.extend({
16149
- edit_event_type: z29.literal("edit_schematic_component_location"),
16150
- schematic_component_id: z29.string(),
16151
- original_center: z29.object({ x: z29.number(), y: z29.number() }),
16152
- new_center: z29.object({ x: z29.number(), y: z29.number() })
16198
+ edit_event_type: z32.literal("edit_schematic_component_location"),
16199
+ schematic_component_id: z32.string(),
16200
+ original_center: z32.object({ x: z32.number(), y: z32.number() }),
16201
+ new_center: z32.object({ x: z32.number(), y: z32.number() })
16153
16202
  });
16154
16203
  expectTypesMatch(true);
16155
16204
 
16156
16205
  // lib/manual-edits/manual-edit-events/edit_pcb_group_location_event.ts
16157
- import { z as z30 } from "zod";
16206
+ import { z as z33 } from "zod";
16158
16207
  var edit_pcb_group_location_event = base_manual_edit_event.extend({
16159
- edit_event_type: z30.literal("edit_pcb_group_location"),
16160
- pcb_group_id: z30.string(),
16161
- original_center: z30.object({ x: z30.number(), y: z30.number() }),
16162
- new_center: z30.object({ x: z30.number(), y: z30.number() })
16208
+ edit_event_type: z33.literal("edit_pcb_group_location"),
16209
+ pcb_group_id: z33.string(),
16210
+ original_center: z33.object({ x: z33.number(), y: z33.number() }),
16211
+ new_center: z33.object({ x: z33.number(), y: z33.number() })
16163
16212
  });
16164
16213
  expectTypesMatch(true);
16165
16214
 
16166
16215
  // lib/manual-edits/manual-edit-events/edit_schematic_group_location_event.ts
16167
- import { z as z31 } from "zod";
16216
+ import { z as z34 } from "zod";
16168
16217
  var edit_schematic_group_location_event = base_manual_edit_event.extend({
16169
- edit_event_type: z31.literal("edit_schematic_group_location"),
16170
- schematic_group_id: z31.string(),
16171
- original_center: z31.object({ x: z31.number(), y: z31.number() }),
16172
- new_center: z31.object({ x: z31.number(), y: z31.number() })
16218
+ edit_event_type: z34.literal("edit_schematic_group_location"),
16219
+ schematic_group_id: z34.string(),
16220
+ original_center: z34.object({ x: z34.number(), y: z34.number() }),
16221
+ new_center: z34.object({ x: z34.number(), y: z34.number() })
16173
16222
  });
16174
16223
  expectTypesMatch(true);
16175
16224
 
16176
16225
  // lib/manual-edits/manual_edit_event.ts
16177
- import { z as z32 } from "zod";
16178
- var manual_edit_event = z32.union([
16226
+ import { z as z35 } from "zod";
16227
+ var manual_edit_event = z35.union([
16179
16228
  edit_pcb_component_location_event,
16180
16229
  edit_trace_hint_event,
16181
16230
  edit_schematic_component_location_event
@@ -16183,33 +16232,33 @@ var manual_edit_event = z32.union([
16183
16232
  expectTypesMatch(true);
16184
16233
 
16185
16234
  // lib/manual-edits/manual_edits_file.ts
16186
- import { z as z36 } from "zod";
16235
+ import { z as z39 } from "zod";
16187
16236
 
16188
16237
  // lib/manual-edits/manual_pcb_placement.ts
16189
- import { z as z33 } from "zod";
16238
+ import { z as z36 } from "zod";
16190
16239
  import { point as point2 } from "circuit-json";
16191
- var manual_pcb_placement = z33.object({
16192
- selector: z33.string(),
16193
- relative_to: z33.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
16240
+ var manual_pcb_placement = z36.object({
16241
+ selector: z36.string(),
16242
+ relative_to: z36.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
16194
16243
  center: point2
16195
16244
  });
16196
16245
  expectTypesMatch(true);
16197
16246
 
16198
16247
  // lib/manual-edits/manual_trace_hint.ts
16199
- import { z as z34 } from "zod";
16248
+ import { z as z37 } from "zod";
16200
16249
  import { route_hint_point } from "circuit-json";
16201
- var manual_trace_hint = z34.object({
16202
- pcb_port_selector: z34.string(),
16203
- offsets: z34.array(route_hint_point)
16250
+ var manual_trace_hint = z37.object({
16251
+ pcb_port_selector: z37.string(),
16252
+ offsets: z37.array(route_hint_point)
16204
16253
  });
16205
16254
  expectTypesMatch(true);
16206
16255
 
16207
16256
  // lib/manual-edits/manual_schematic_placement.ts
16208
- import { z as z35 } from "zod";
16257
+ import { z as z38 } from "zod";
16209
16258
  import { point as point4 } from "circuit-json";
16210
- var manual_schematic_placement = z35.object({
16211
- selector: z35.string(),
16212
- relative_to: z35.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
16259
+ var manual_schematic_placement = z38.object({
16260
+ selector: z38.string(),
16261
+ relative_to: z38.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
16213
16262
  center: point4
16214
16263
  });
16215
16264
  expectTypesMatch(
@@ -16217,37 +16266,37 @@ expectTypesMatch(
16217
16266
  );
16218
16267
 
16219
16268
  // lib/manual-edits/manual_edits_file.ts
16220
- var manual_edits_file = z36.object({
16221
- pcb_placements: z36.array(manual_pcb_placement).optional(),
16222
- manual_trace_hints: z36.array(manual_trace_hint).optional(),
16223
- schematic_placements: z36.array(manual_schematic_placement).optional()
16269
+ var manual_edits_file = z39.object({
16270
+ pcb_placements: z39.array(manual_pcb_placement).optional(),
16271
+ manual_trace_hints: z39.array(manual_trace_hint).optional(),
16272
+ schematic_placements: z39.array(manual_schematic_placement).optional()
16224
16273
  });
16225
16274
  expectTypesMatch(true);
16226
16275
 
16227
16276
  // lib/common/connectionsProp.ts
16228
- import { z as z37 } from "zod";
16229
- var connectionTarget = z37.string().or(z37.array(z37.string()).readonly()).or(z37.array(z37.string()));
16277
+ import { z as z40 } from "zod";
16278
+ var connectionTarget = z40.string().or(z40.array(z40.string()).readonly()).or(z40.array(z40.string()));
16230
16279
  var createConnectionsProp = (labels) => {
16231
- return z37.record(z37.enum(labels), connectionTarget);
16280
+ return z40.record(z40.enum(labels), connectionTarget);
16232
16281
  };
16233
16282
 
16234
16283
  // lib/components/group.ts
16235
- var layoutConfig = z38.object({
16236
- layoutMode: z38.enum(["grid", "flex", "match-adapt", "relative", "none"]).optional(),
16237
- position: z38.enum(["absolute", "relative"]).optional(),
16238
- grid: z38.boolean().optional(),
16239
- gridCols: z38.number().or(z38.string()).optional(),
16240
- gridRows: z38.number().or(z38.string()).optional(),
16241
- gridTemplateRows: z38.string().optional(),
16242
- gridTemplateColumns: z38.string().optional(),
16243
- gridTemplate: z38.string().optional(),
16244
- gridGap: z38.number().or(z38.string()).optional(),
16245
- gridRowGap: z38.number().or(z38.string()).optional(),
16246
- gridColumnGap: z38.number().or(z38.string()).optional(),
16247
- flex: z38.boolean().or(z38.string()).optional(),
16248
- flexDirection: z38.enum(["row", "column"]).optional(),
16249
- alignItems: z38.enum(["start", "center", "end", "stretch"]).optional(),
16250
- justifyContent: z38.enum([
16284
+ var layoutConfig = z41.object({
16285
+ layoutMode: z41.enum(["grid", "flex", "match-adapt", "relative", "none"]).optional(),
16286
+ position: z41.enum(["absolute", "relative"]).optional(),
16287
+ grid: z41.boolean().optional(),
16288
+ gridCols: z41.number().or(z41.string()).optional(),
16289
+ gridRows: z41.number().or(z41.string()).optional(),
16290
+ gridTemplateRows: z41.string().optional(),
16291
+ gridTemplateColumns: z41.string().optional(),
16292
+ gridTemplate: z41.string().optional(),
16293
+ gridGap: z41.number().or(z41.string()).optional(),
16294
+ gridRowGap: z41.number().or(z41.string()).optional(),
16295
+ gridColumnGap: z41.number().or(z41.string()).optional(),
16296
+ flex: z41.boolean().or(z41.string()).optional(),
16297
+ flexDirection: z41.enum(["row", "column"]).optional(),
16298
+ alignItems: z41.enum(["start", "center", "end", "stretch"]).optional(),
16299
+ justifyContent: z41.enum([
16251
16300
  "start",
16252
16301
  "center",
16253
16302
  "end",
@@ -16256,16 +16305,16 @@ var layoutConfig = z38.object({
16256
16305
  "space-around",
16257
16306
  "space-evenly"
16258
16307
  ]).optional(),
16259
- flexRow: z38.boolean().optional(),
16260
- flexColumn: z38.boolean().optional(),
16261
- gap: z38.number().or(z38.string()).optional(),
16262
- pack: z38.boolean().optional().describe("Pack the contents of this group using a packing strategy"),
16263
- packOrderStrategy: z38.enum([
16308
+ flexRow: z41.boolean().optional(),
16309
+ flexColumn: z41.boolean().optional(),
16310
+ gap: z41.number().or(z41.string()).optional(),
16311
+ pack: z41.boolean().optional().describe("Pack the contents of this group using a packing strategy"),
16312
+ packOrderStrategy: z41.enum([
16264
16313
  "largest_to_smallest",
16265
16314
  "first_to_last",
16266
16315
  "highest_to_lowest_pin_count"
16267
16316
  ]).optional(),
16268
- packPlacementStrategy: z38.enum(["shortest_connection_along_outline"]).optional(),
16317
+ packPlacementStrategy: z41.enum(["shortest_connection_along_outline"]).optional(),
16269
16318
  padding: length3.optional(),
16270
16319
  paddingLeft: length3.optional(),
16271
16320
  paddingRight: length3.optional(),
@@ -16275,17 +16324,17 @@ var layoutConfig = z38.object({
16275
16324
  paddingY: length3.optional(),
16276
16325
  width: length3.optional(),
16277
16326
  height: length3.optional(),
16278
- matchAdapt: z38.boolean().optional(),
16279
- matchAdaptTemplate: z38.any().optional()
16327
+ matchAdapt: z41.boolean().optional(),
16328
+ matchAdaptTemplate: z41.any().optional()
16280
16329
  });
16281
16330
  expectTypesMatch(true);
16282
- var border = z38.object({
16331
+ var border = z41.object({
16283
16332
  strokeWidth: length3.optional(),
16284
- dashed: z38.boolean().optional(),
16285
- solid: z38.boolean().optional()
16333
+ dashed: z41.boolean().optional(),
16334
+ solid: z41.boolean().optional()
16286
16335
  });
16287
- var pcbAnchorAlignmentAutocomplete = z38.custom((value) => typeof value === "string");
16288
- var routingTolerances = z38.object({
16336
+ var pcbAnchorAlignmentAutocomplete = z41.custom((value) => typeof value === "string");
16337
+ var routingTolerances = z41.object({
16289
16338
  minTraceWidth: length3.optional(),
16290
16339
  minViaHoleEdgeToViaHoleEdgeClearance: length3.optional(),
16291
16340
  minViaEdgeToPadEdgeClearance: length3.optional(),
@@ -16296,19 +16345,19 @@ var routingTolerances = z38.object({
16296
16345
  minViaHoleDiameter: length3.optional(),
16297
16346
  minViaPadDiameter: length3.optional()
16298
16347
  });
16299
- var autorouterConfig = z38.object({
16348
+ var autorouterConfig = z41.object({
16300
16349
  serverUrl: url.optional(),
16301
- inputFormat: z38.enum(["simplified", "circuit-json"]).optional(),
16302
- serverMode: z38.enum(["job", "solve-endpoint"]).optional(),
16303
- serverCacheEnabled: z38.boolean().optional(),
16304
- cache: z38.custom((v) => true).optional(),
16350
+ inputFormat: z41.enum(["simplified", "circuit-json"]).optional(),
16351
+ serverMode: z41.enum(["job", "solve-endpoint"]).optional(),
16352
+ serverCacheEnabled: z41.boolean().optional(),
16353
+ cache: z41.custom((v) => true).optional(),
16305
16354
  traceClearance: length3.optional(),
16306
- availableJumperTypes: z38.array(z38.enum(["1206x4", "0603"])).optional(),
16307
- groupMode: z38.enum(["sequential_trace", "subcircuit", "sequential-trace"]).optional(),
16308
- algorithmFn: z38.custom(
16355
+ availableJumperTypes: z41.array(z41.enum(["1206x4", "0603"])).optional(),
16356
+ groupMode: z41.enum(["sequential_trace", "subcircuit", "sequential-trace"]).optional(),
16357
+ algorithmFn: z41.custom(
16309
16358
  (v) => typeof v === "function" || v === void 0
16310
16359
  ).optional(),
16311
- preset: z38.enum([
16360
+ preset: z41.enum([
16312
16361
  "sequential_trace",
16313
16362
  "subcircuit",
16314
16363
  "default",
@@ -16325,61 +16374,61 @@ var autorouterConfig = z38.object({
16325
16374
  "auto-local",
16326
16375
  "auto-cloud"
16327
16376
  ]).optional(),
16328
- local: z38.boolean().optional()
16377
+ local: z41.boolean().optional()
16329
16378
  });
16330
- var autorouterPreset = z38.union([
16331
- z38.literal("sequential_trace"),
16332
- z38.literal("subcircuit"),
16333
- z38.literal("default"),
16334
- z38.literal("auto"),
16335
- z38.literal("auto_local"),
16336
- z38.literal("auto_cloud"),
16337
- z38.literal("auto_jumper"),
16338
- z38.literal("tscircuit_beta"),
16339
- z38.literal("krt"),
16340
- z38.literal("freerouting"),
16341
- z38.literal("laser_prefab"),
16379
+ var autorouterPreset = z41.union([
16380
+ z41.literal("sequential_trace"),
16381
+ z41.literal("subcircuit"),
16382
+ z41.literal("default"),
16383
+ z41.literal("auto"),
16384
+ z41.literal("auto_local"),
16385
+ z41.literal("auto_cloud"),
16386
+ z41.literal("auto_jumper"),
16387
+ z41.literal("tscircuit_beta"),
16388
+ z41.literal("krt"),
16389
+ z41.literal("freerouting"),
16390
+ z41.literal("laser_prefab"),
16342
16391
  // Prefabricated PCB with laser copper ablation
16343
- z38.literal("auto-jumper"),
16344
- z38.literal("sequential-trace"),
16345
- z38.literal("auto-local"),
16346
- z38.literal("auto-cloud")
16392
+ z41.literal("auto-jumper"),
16393
+ z41.literal("sequential-trace"),
16394
+ z41.literal("auto-local"),
16395
+ z41.literal("auto-cloud")
16347
16396
  ]);
16348
- var autorouterString = z38.string();
16349
- var autorouterProp = z38.union([
16397
+ var autorouterString = z41.string();
16398
+ var autorouterProp = z41.union([
16350
16399
  autorouterConfig,
16351
16400
  autorouterPreset,
16352
16401
  autorouterString
16353
16402
  ]);
16354
- var autorouterEffortLevel = z38.enum(["1x", "2x", "5x", "10x", "100x"]);
16403
+ var autorouterEffortLevel = z41.enum(["1x", "2x", "5x", "10x", "100x"]);
16355
16404
  var baseGroupProps = commonLayoutProps.extend({
16356
- name: z38.string().optional(),
16357
- children: z38.any().optional(),
16358
- schTitle: z38.string().optional(),
16359
- schSheetName: z38.string().optional().describe('This group will be drawn as part of this sheet e.g. "Main"'),
16360
- key: z38.any().optional(),
16361
- showAsSchematicBox: z38.boolean().optional(),
16362
- connections: z38.record(z38.string(), connectionTarget.optional()).optional(),
16405
+ name: z41.string().optional(),
16406
+ children: z41.any().optional(),
16407
+ schTitle: z41.string().optional(),
16408
+ schSheetName: z41.string().optional().describe('This group will be drawn as part of this sheet e.g. "Main"'),
16409
+ key: z41.any().optional(),
16410
+ showAsSchematicBox: z41.boolean().optional(),
16411
+ connections: z41.record(z41.string(), connectionTarget.optional()).optional(),
16363
16412
  schPinArrangement: schematicPinArrangement.optional(),
16364
16413
  schPinSpacing: length3.optional(),
16365
16414
  schPinStyle: schematicPinStyle.optional(),
16366
16415
  ...layoutConfig.shape,
16367
16416
  grid: layoutConfig.shape.grid.describe("@deprecated use pcbGrid"),
16368
16417
  flex: layoutConfig.shape.flex.describe("@deprecated use pcbFlex"),
16369
- pcbGrid: z38.boolean().optional(),
16370
- pcbGridCols: z38.number().or(z38.string()).optional(),
16371
- pcbGridRows: z38.number().or(z38.string()).optional(),
16372
- pcbGridTemplateRows: z38.string().optional(),
16373
- pcbGridTemplateColumns: z38.string().optional(),
16374
- pcbGridTemplate: z38.string().optional(),
16375
- pcbGridGap: z38.number().or(z38.string()).optional(),
16376
- pcbGridRowGap: z38.number().or(z38.string()).optional(),
16377
- pcbGridColumnGap: z38.number().or(z38.string()).optional(),
16378
- pcbFlex: z38.boolean().or(z38.string()).optional(),
16379
- pcbFlexGap: z38.number().or(z38.string()).optional(),
16380
- pcbFlexDirection: z38.enum(["row", "column"]).optional(),
16381
- pcbAlignItems: z38.enum(["start", "center", "end", "stretch"]).optional(),
16382
- pcbJustifyContent: z38.enum([
16418
+ pcbGrid: z41.boolean().optional(),
16419
+ pcbGridCols: z41.number().or(z41.string()).optional(),
16420
+ pcbGridRows: z41.number().or(z41.string()).optional(),
16421
+ pcbGridTemplateRows: z41.string().optional(),
16422
+ pcbGridTemplateColumns: z41.string().optional(),
16423
+ pcbGridTemplate: z41.string().optional(),
16424
+ pcbGridGap: z41.number().or(z41.string()).optional(),
16425
+ pcbGridRowGap: z41.number().or(z41.string()).optional(),
16426
+ pcbGridColumnGap: z41.number().or(z41.string()).optional(),
16427
+ pcbFlex: z41.boolean().or(z41.string()).optional(),
16428
+ pcbFlexGap: z41.number().or(z41.string()).optional(),
16429
+ pcbFlexDirection: z41.enum(["row", "column"]).optional(),
16430
+ pcbAlignItems: z41.enum(["start", "center", "end", "stretch"]).optional(),
16431
+ pcbJustifyContent: z41.enum([
16383
16432
  "start",
16384
16433
  "center",
16385
16434
  "end",
@@ -16388,25 +16437,25 @@ var baseGroupProps = commonLayoutProps.extend({
16388
16437
  "space-around",
16389
16438
  "space-evenly"
16390
16439
  ]).optional(),
16391
- pcbFlexRow: z38.boolean().optional(),
16392
- pcbFlexColumn: z38.boolean().optional(),
16393
- pcbGap: z38.number().or(z38.string()).optional(),
16394
- pcbPack: z38.boolean().optional(),
16395
- pcbPackGap: z38.number().or(z38.string()).optional(),
16396
- schGrid: z38.boolean().optional(),
16397
- schGridCols: z38.number().or(z38.string()).optional(),
16398
- schGridRows: z38.number().or(z38.string()).optional(),
16399
- schGridTemplateRows: z38.string().optional(),
16400
- schGridTemplateColumns: z38.string().optional(),
16401
- schGridTemplate: z38.string().optional(),
16402
- schGridGap: z38.number().or(z38.string()).optional(),
16403
- schGridRowGap: z38.number().or(z38.string()).optional(),
16404
- schGridColumnGap: z38.number().or(z38.string()).optional(),
16405
- schFlex: z38.boolean().or(z38.string()).optional(),
16406
- schFlexGap: z38.number().or(z38.string()).optional(),
16407
- schFlexDirection: z38.enum(["row", "column"]).optional(),
16408
- schAlignItems: z38.enum(["start", "center", "end", "stretch"]).optional(),
16409
- schJustifyContent: z38.enum([
16440
+ pcbFlexRow: z41.boolean().optional(),
16441
+ pcbFlexColumn: z41.boolean().optional(),
16442
+ pcbGap: z41.number().or(z41.string()).optional(),
16443
+ pcbPack: z41.boolean().optional(),
16444
+ pcbPackGap: z41.number().or(z41.string()).optional(),
16445
+ schGrid: z41.boolean().optional(),
16446
+ schGridCols: z41.number().or(z41.string()).optional(),
16447
+ schGridRows: z41.number().or(z41.string()).optional(),
16448
+ schGridTemplateRows: z41.string().optional(),
16449
+ schGridTemplateColumns: z41.string().optional(),
16450
+ schGridTemplate: z41.string().optional(),
16451
+ schGridGap: z41.number().or(z41.string()).optional(),
16452
+ schGridRowGap: z41.number().or(z41.string()).optional(),
16453
+ schGridColumnGap: z41.number().or(z41.string()).optional(),
16454
+ schFlex: z41.boolean().or(z41.string()).optional(),
16455
+ schFlexGap: z41.number().or(z41.string()).optional(),
16456
+ schFlexDirection: z41.enum(["row", "column"]).optional(),
16457
+ schAlignItems: z41.enum(["start", "center", "end", "stretch"]).optional(),
16458
+ schJustifyContent: z41.enum([
16410
16459
  "start",
16411
16460
  "center",
16412
16461
  "end",
@@ -16415,11 +16464,11 @@ var baseGroupProps = commonLayoutProps.extend({
16415
16464
  "space-around",
16416
16465
  "space-evenly"
16417
16466
  ]).optional(),
16418
- schFlexRow: z38.boolean().optional(),
16419
- schFlexColumn: z38.boolean().optional(),
16420
- schGap: z38.number().or(z38.string()).optional(),
16421
- schPack: z38.boolean().optional(),
16422
- schMatchAdapt: z38.boolean().optional(),
16467
+ schFlexRow: z41.boolean().optional(),
16468
+ schFlexColumn: z41.boolean().optional(),
16469
+ schGap: z41.number().or(z41.string()).optional(),
16470
+ schPack: z41.boolean().optional(),
16471
+ schMatchAdapt: z41.boolean().optional(),
16423
16472
  pcbWidth: length3.optional(),
16424
16473
  pcbHeight: length3.optional(),
16425
16474
  minTraceWidth: length3.optional(),
@@ -16442,40 +16491,40 @@ var baseGroupProps = commonLayoutProps.extend({
16442
16491
  pcbPaddingBottom: length3.optional(),
16443
16492
  pcbAnchorAlignment: pcbAnchorAlignmentAutocomplete.optional()
16444
16493
  });
16445
- var partsEngine = z38.custom((v) => "findPart" in v);
16494
+ var partsEngine = z41.custom((v) => "findPart" in v);
16446
16495
  var subcircuitGroupProps = baseGroupProps.extend({
16447
16496
  manualEdits: manual_edits_file.optional(),
16448
- schAutoLayoutEnabled: z38.boolean().optional(),
16449
- schTraceAutoLabelEnabled: z38.boolean().optional(),
16497
+ schAutoLayoutEnabled: z41.boolean().optional(),
16498
+ schTraceAutoLabelEnabled: z41.boolean().optional(),
16450
16499
  schMaxTraceDistance: distance11.optional(),
16451
- routingDisabled: z38.boolean().optional(),
16452
- bomDisabled: z38.boolean().optional(),
16500
+ routingDisabled: z41.boolean().optional(),
16501
+ bomDisabled: z41.boolean().optional(),
16453
16502
  defaultTraceWidth: length3.optional(),
16454
16503
  ...routingTolerances.shape,
16455
16504
  nominalTraceWidth: length3.optional(),
16456
16505
  partsEngine: partsEngine.optional(),
16457
- _subcircuitCachingEnabled: z38.boolean().optional(),
16458
- pcbRouteCache: z38.custom((v) => true).optional(),
16506
+ _subcircuitCachingEnabled: z41.boolean().optional(),
16507
+ pcbRouteCache: z41.custom((v) => true).optional(),
16459
16508
  autorouter: autorouterProp.optional(),
16460
16509
  autorouterEffortLevel: autorouterEffortLevel.optional(),
16461
- autorouterVersion: z38.enum(["v1", "v2", "v3", "v4", "v5", "v6", "latest"]).optional(),
16462
- square: z38.boolean().optional(),
16463
- emptyArea: z38.string().optional(),
16464
- filledArea: z38.string().optional(),
16510
+ autorouterVersion: z41.enum(["v1", "v2", "v3", "v4", "v5", "v6", "latest"]).optional(),
16511
+ square: z41.boolean().optional(),
16512
+ emptyArea: z41.string().optional(),
16513
+ filledArea: z41.string().optional(),
16465
16514
  width: distance11.optional(),
16466
16515
  height: distance11.optional(),
16467
- outline: z38.array(point).optional(),
16516
+ outline: z41.array(point).optional(),
16468
16517
  outlineOffsetX: distance11.optional(),
16469
16518
  outlineOffsetY: distance11.optional(),
16470
- circuitJson: z38.array(z38.any()).optional(),
16471
- exposedNets: z38.array(z38.string()).optional(),
16472
- exposeNets: z38.boolean().optional()
16519
+ circuitJson: z41.array(z41.any()).optional(),
16520
+ exposedNets: z41.array(z41.string()).optional(),
16521
+ exposeNets: z41.boolean().optional()
16473
16522
  });
16474
16523
  var subcircuitGroupPropsWithBool = subcircuitGroupProps.extend({
16475
- subcircuit: z38.literal(true)
16524
+ subcircuit: z41.literal(true)
16476
16525
  });
16477
- var groupProps = z38.discriminatedUnion("subcircuit", [
16478
- baseGroupProps.extend({ subcircuit: z38.literal(false).optional() }),
16526
+ var groupProps = z41.discriminatedUnion("subcircuit", [
16527
+ baseGroupProps.extend({ subcircuit: z41.literal(false).optional() }),
16479
16528
  subcircuitGroupPropsWithBool
16480
16529
  ]);
16481
16530
  expectTypesMatch(true);
@@ -16485,35 +16534,35 @@ expectTypesMatch(true);
16485
16534
  expectTypesMatch(true);
16486
16535
 
16487
16536
  // lib/components/board.ts
16488
- var boardColor = z39.custom((value) => typeof value === "string");
16537
+ var boardColor = z42.custom((value) => typeof value === "string");
16489
16538
  var boardProps = subcircuitGroupProps.omit({ connections: true }).extend({
16490
- material: z39.enum(["fr4", "fr1", "flex"]).default("fr4"),
16491
- layers: z39.union([
16492
- z39.literal(1),
16493
- z39.literal(2),
16494
- z39.literal(4),
16495
- z39.literal(6),
16496
- z39.literal(8)
16539
+ material: z42.enum(["fr4", "fr1", "flex"]).default("fr4"),
16540
+ layers: z42.union([
16541
+ z42.literal(1),
16542
+ z42.literal(2),
16543
+ z42.literal(4),
16544
+ z42.literal(6),
16545
+ z42.literal(8)
16497
16546
  ]).default(2),
16498
16547
  borderRadius: distance.optional(),
16499
16548
  thickness: distance.optional(),
16500
16549
  boardAnchorPosition: point.optional(),
16501
16550
  anchorAlignment: ninePointAnchor.optional(),
16502
16551
  boardAnchorAlignment: ninePointAnchor.optional().describe("Prefer using anchorAlignment when possible"),
16503
- title: z39.string().optional(),
16552
+ title: z42.string().optional(),
16504
16553
  solderMaskColor: boardColor.optional(),
16505
16554
  topSolderMaskColor: boardColor.optional(),
16506
16555
  bottomSolderMaskColor: boardColor.optional(),
16507
16556
  silkscreenColor: boardColor.optional(),
16508
16557
  topSilkscreenColor: boardColor.optional(),
16509
16558
  bottomSilkscreenColor: boardColor.optional(),
16510
- doubleSidedAssembly: z39.boolean().optional().default(false),
16511
- schematicDisabled: z39.boolean().optional()
16559
+ doubleSidedAssembly: z42.boolean().optional().default(false),
16560
+ schematicDisabled: z42.boolean().optional()
16512
16561
  });
16513
16562
  expectTypesMatch(true);
16514
16563
 
16515
16564
  // lib/components/panel.ts
16516
- import { z as z40 } from "zod";
16565
+ import { z as z43 } from "zod";
16517
16566
  var panelProps = baseGroupProps.omit({
16518
16567
  width: true,
16519
16568
  height: true,
@@ -16522,25 +16571,25 @@ var panelProps = baseGroupProps.omit({
16522
16571
  }).extend({
16523
16572
  width: distance.optional(),
16524
16573
  height: distance.optional(),
16525
- children: z40.any().optional(),
16574
+ children: z43.any().optional(),
16526
16575
  anchorAlignment: ninePointAnchor.optional(),
16527
- noSolderMask: z40.boolean().optional(),
16528
- panelizationMethod: z40.enum(["tab-routing", "none"]).optional(),
16576
+ noSolderMask: z43.boolean().optional(),
16577
+ panelizationMethod: z43.enum(["tab-routing", "none"]).optional(),
16529
16578
  boardGap: distance.optional(),
16530
- layoutMode: z40.enum(["grid", "pack", "none"]).optional(),
16531
- row: z40.number().optional(),
16532
- col: z40.number().optional(),
16579
+ layoutMode: z43.enum(["grid", "pack", "none"]).optional(),
16580
+ row: z43.number().optional(),
16581
+ col: z43.number().optional(),
16533
16582
  cellWidth: distance.optional(),
16534
16583
  cellHeight: distance.optional(),
16535
16584
  tabWidth: distance.optional(),
16536
16585
  tabLength: distance.optional(),
16537
- mouseBites: z40.boolean().optional(),
16586
+ mouseBites: z43.boolean().optional(),
16538
16587
  edgePadding: distance.optional(),
16539
16588
  edgePaddingLeft: distance.optional(),
16540
16589
  edgePaddingRight: distance.optional(),
16541
16590
  edgePaddingTop: distance.optional(),
16542
16591
  edgePaddingBottom: distance.optional(),
16543
- _subcircuitCachingEnabled: z40.boolean().optional()
16592
+ _subcircuitCachingEnabled: z43.boolean().optional()
16544
16593
  });
16545
16594
  expectTypesMatch(true);
16546
16595
 
@@ -16563,37 +16612,37 @@ expectTypesMatch(true);
16563
16612
 
16564
16613
  // lib/components/chip.ts
16565
16614
  import { distance as distance13, supplier_name as supplier_name2 } from "circuit-json";
16566
- import { z as z43 } from "zod";
16567
- var connectionTarget2 = z43.string().or(z43.array(z43.string()).readonly()).or(z43.array(z43.string()));
16568
- var noConnectProp = z43.array(schematicPinLabel).readonly().or(z43.array(schematicPinLabel));
16569
- var connectionsProp = z43.custom().pipe(z43.record(z43.string(), connectionTarget2));
16570
- var spicemodelElement = z43.custom(
16615
+ import { z as z46 } from "zod";
16616
+ var connectionTarget2 = z46.string().or(z46.array(z46.string()).readonly()).or(z46.array(z46.string()));
16617
+ var noConnectProp = z46.array(schematicPinLabel).readonly().or(z46.array(schematicPinLabel));
16618
+ var connectionsProp = z46.custom().pipe(z46.record(z46.string(), connectionTarget2));
16619
+ var spicemodelElement = z46.custom(
16571
16620
  (v) => !!v && typeof v === "object" && "type" in v && "props" in v
16572
16621
  );
16573
- var pinLabelsProp = z43.record(
16622
+ var pinLabelsProp = z46.record(
16574
16623
  schematicPinLabel,
16575
- schematicPinLabel.or(z43.array(schematicPinLabel).readonly()).or(z43.array(schematicPinLabel))
16624
+ schematicPinLabel.or(z46.array(schematicPinLabel).readonly()).or(z46.array(schematicPinLabel))
16576
16625
  );
16577
16626
  expectTypesMatch(true);
16578
- var pinCompatibleVariant = z43.object({
16579
- manufacturerPartNumber: z43.string().optional(),
16580
- supplierPartNumber: z43.record(supplier_name2, z43.array(z43.string())).optional()
16627
+ var pinCompatibleVariant = z46.object({
16628
+ manufacturerPartNumber: z46.string().optional(),
16629
+ supplierPartNumber: z46.record(supplier_name2, z46.array(z46.string())).optional()
16581
16630
  });
16582
16631
  var chipProps = commonComponentProps.extend({
16583
- manufacturerPartNumber: z43.string().optional(),
16632
+ manufacturerPartNumber: z46.string().optional(),
16584
16633
  pinLabels: pinLabelsProp.optional(),
16585
- showPinAliases: z43.boolean().optional(),
16586
- pcbPinLabels: z43.record(z43.string(), z43.string()).optional(),
16587
- internallyConnectedPins: z43.array(z43.array(z43.union([z43.string(), z43.number()]))).optional(),
16588
- externallyConnectedPins: z43.array(z43.array(z43.string())).optional(),
16634
+ showPinAliases: z46.boolean().optional(),
16635
+ pcbPinLabels: z46.record(z46.string(), z46.string()).optional(),
16636
+ internallyConnectedPins: z46.array(z46.array(z46.union([z46.string(), z46.number()]))).optional(),
16637
+ externallyConnectedPins: z46.array(z46.array(z46.string())).optional(),
16589
16638
  schPinArrangement: schematicPortArrangement.optional(),
16590
16639
  schPortArrangement: schematicPortArrangement.optional(),
16591
- pinCompatibleVariants: z43.array(pinCompatibleVariant).optional(),
16640
+ pinCompatibleVariants: z46.array(pinCompatibleVariant).optional(),
16592
16641
  schPinStyle: schematicPinStyle.optional(),
16593
16642
  schPinSpacing: distance13.optional(),
16594
16643
  schWidth: distance13.optional(),
16595
16644
  schHeight: distance13.optional(),
16596
- noSchematicRepresentation: z43.boolean().optional(),
16645
+ noSchematicRepresentation: z46.boolean().optional(),
16597
16646
  noConnect: noConnectProp.optional(),
16598
16647
  connections: connectionsProp.optional(),
16599
16648
  spiceModel: spicemodelElement.optional()
@@ -16607,75 +16656,75 @@ expectTypesMatch(true);
16607
16656
 
16608
16657
  // lib/components/jumper.ts
16609
16658
  import { distance as distance14 } from "circuit-json";
16610
- import { z as z44 } from "zod";
16659
+ import { z as z47 } from "zod";
16611
16660
  var jumperProps = commonComponentProps.extend({
16612
- manufacturerPartNumber: z44.string().optional(),
16613
- pinLabels: z44.record(
16614
- z44.number().or(schematicPinLabel),
16615
- schematicPinLabel.or(z44.array(schematicPinLabel))
16661
+ manufacturerPartNumber: z47.string().optional(),
16662
+ pinLabels: z47.record(
16663
+ z47.number().or(schematicPinLabel),
16664
+ schematicPinLabel.or(z47.array(schematicPinLabel))
16616
16665
  ).optional(),
16617
16666
  schPinStyle: schematicPinStyle.optional(),
16618
16667
  schPinSpacing: distance14.optional(),
16619
16668
  schWidth: distance14.optional(),
16620
16669
  schHeight: distance14.optional(),
16621
- schDirection: z44.enum(["left", "right"]).optional(),
16670
+ schDirection: z47.enum(["left", "right"]).optional(),
16622
16671
  schPinArrangement: schematicPinArrangement.optional(),
16623
16672
  schPortArrangement: schematicPortArrangement.optional(),
16624
- pcbPinLabels: z44.record(z44.string(), z44.string()).optional(),
16625
- pinCount: z44.union([z44.literal(2), z44.literal(3)]).optional(),
16626
- internallyConnectedPins: z44.array(z44.array(z44.union([z44.string(), z44.number()]))).optional(),
16627
- connections: z44.custom().pipe(z44.record(z44.string(), connectionTarget)).optional()
16673
+ pcbPinLabels: z47.record(z47.string(), z47.string()).optional(),
16674
+ pinCount: z47.union([z47.literal(2), z47.literal(3)]).optional(),
16675
+ internallyConnectedPins: z47.array(z47.array(z47.union([z47.string(), z47.number()]))).optional(),
16676
+ connections: z47.custom().pipe(z47.record(z47.string(), connectionTarget)).optional()
16628
16677
  });
16629
16678
  expectTypesMatch(true);
16630
16679
 
16631
16680
  // lib/components/solderjumper.ts
16632
- import { z as z45 } from "zod";
16681
+ import { z as z48 } from "zod";
16633
16682
  var solderjumperProps = jumperProps.extend({
16634
- bridgedPins: z45.array(z45.array(z45.string())).optional(),
16635
- bridged: z45.boolean().optional()
16683
+ bridgedPins: z48.array(z48.array(z48.string())).optional(),
16684
+ bridged: z48.boolean().optional()
16636
16685
  });
16637
16686
  expectTypesMatch(true);
16638
16687
 
16639
16688
  // lib/components/connector.ts
16640
- import { z as z46 } from "zod";
16689
+ import { z as z49 } from "zod";
16641
16690
  var connectorProps = chipProps.extend({
16642
- standard: z46.enum(["usb_c", "m2"]).optional()
16691
+ standard: z49.enum(["usb_c", "m2"]).optional()
16643
16692
  });
16644
16693
  expectTypesMatch(true);
16645
16694
 
16646
16695
  // lib/components/interconnect.ts
16647
- import { z as z47 } from "zod";
16696
+ import { z as z50 } from "zod";
16648
16697
  var interconnectProps = commonComponentProps.extend({
16649
- standard: z47.enum(["TSC0001_36P_XALT_2025_11", "0805", "0603", "1206"]).optional(),
16650
- pinLabels: z47.record(
16651
- z47.number().or(schematicPinLabel),
16652
- schematicPinLabel.or(z47.array(schematicPinLabel))
16698
+ standard: z50.enum(["TSC0001_36P_XALT_2025_11", "0805", "0603", "1206"]).optional(),
16699
+ pinLabels: z50.record(
16700
+ z50.number().or(schematicPinLabel),
16701
+ schematicPinLabel.or(z50.array(schematicPinLabel))
16653
16702
  ).optional(),
16654
- internallyConnectedPins: z47.array(z47.array(z47.union([z47.string(), z47.number()]))).optional()
16703
+ internallyConnectedPins: z50.array(z50.array(z50.union([z50.string(), z50.number()]))).optional()
16655
16704
  });
16656
16705
  expectTypesMatch(true);
16657
16706
 
16658
16707
  // lib/components/fuse.ts
16659
- import { z as z48 } from "zod";
16708
+ import { z as z51 } from "zod";
16660
16709
  var fusePinLabels = ["pin1", "pin2"];
16661
16710
  var fuseProps = commonComponentProps.extend({
16662
- currentRating: z48.union([z48.number(), z48.string()]),
16663
- voltageRating: z48.union([z48.number(), z48.string()]).optional(),
16664
- schShowRatings: z48.boolean().optional(),
16711
+ currentRating: z51.union([z51.number(), z51.string()]),
16712
+ voltageRating: z51.union([z51.number(), z51.string()]).optional(),
16713
+ schShowRatings: z51.boolean().optional(),
16665
16714
  schOrientation: schematicOrientation.optional(),
16666
- connections: z48.record(
16667
- z48.string(),
16668
- z48.union([
16669
- z48.string(),
16670
- z48.array(z48.string()).readonly(),
16671
- z48.array(z48.string())
16715
+ connections: z51.record(
16716
+ z51.string(),
16717
+ z51.union([
16718
+ z51.string(),
16719
+ z51.array(z51.string()).readonly(),
16720
+ z51.array(z51.string())
16672
16721
  ])
16673
16722
  ).optional()
16674
16723
  });
16675
16724
 
16676
16725
  // lib/components/platedhole.ts
16677
16726
  import { distance as distance15 } from "circuit-json";
16678
- import { z as z49 } from "zod";
16727
+ import { z as z52 } from "zod";
16679
16728
  var DEFAULT_PIN_HEADER_HOLE_DIAMETER = "0.04in";
16680
16729
  var DEFAULT_PIN_HEADER_OUTER_DIAMETER = "0.1in";
16681
16730
  var inferPlatedHoleShapeAndDefaults = (rawProps) => {
@@ -16707,26 +16756,26 @@ var inferPlatedHoleShapeAndDefaults = (rawProps) => {
16707
16756
  props.outerDiameter = DEFAULT_PIN_HEADER_OUTER_DIAMETER;
16708
16757
  return props;
16709
16758
  };
16710
- var distanceHiddenUndefined = z49.custom().transform((a) => {
16759
+ var distanceHiddenUndefined = z52.custom().transform((a) => {
16711
16760
  if (a === void 0) return void 0;
16712
16761
  return distance15.parse(a);
16713
16762
  });
16714
- var platedHolePropsByShape = z49.discriminatedUnion("shape", [
16763
+ var platedHolePropsByShape = z52.discriminatedUnion("shape", [
16715
16764
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
16716
- name: z49.string().optional(),
16717
- connectsTo: z49.string().or(z49.array(z49.string())).optional(),
16718
- shape: z49.literal("circle"),
16765
+ name: z52.string().optional(),
16766
+ connectsTo: z52.string().or(z52.array(z52.string())).optional(),
16767
+ shape: z52.literal("circle"),
16719
16768
  holeDiameter: distance15,
16720
16769
  outerDiameter: distance15,
16721
16770
  padDiameter: distance15.optional().describe("Diameter of the copper pad"),
16722
16771
  portHints: portHints.optional(),
16723
16772
  solderMaskMargin: distance15.optional(),
16724
- coveredWithSolderMask: z49.boolean().optional()
16773
+ coveredWithSolderMask: z52.boolean().optional()
16725
16774
  }),
16726
16775
  pcbLayoutProps.omit({ layer: true }).extend({
16727
- name: z49.string().optional(),
16728
- connectsTo: z49.string().or(z49.array(z49.string())).optional(),
16729
- shape: z49.literal("oval"),
16776
+ name: z52.string().optional(),
16777
+ connectsTo: z52.string().or(z52.array(z52.string())).optional(),
16778
+ shape: z52.literal("oval"),
16730
16779
  outerWidth: distance15,
16731
16780
  outerHeight: distance15,
16732
16781
  holeWidth: distanceHiddenUndefined,
@@ -16735,13 +16784,13 @@ var platedHolePropsByShape = z49.discriminatedUnion("shape", [
16735
16784
  innerHeight: distance15.optional().describe("DEPRECATED use holeHeight"),
16736
16785
  portHints: portHints.optional(),
16737
16786
  solderMaskMargin: distance15.optional(),
16738
- coveredWithSolderMask: z49.boolean().optional()
16787
+ coveredWithSolderMask: z52.boolean().optional()
16739
16788
  }),
16740
16789
  pcbLayoutProps.omit({ layer: true }).extend({
16741
- name: z49.string().optional(),
16742
- connectsTo: z49.string().or(z49.array(z49.string())).optional(),
16743
- shape: z49.literal("pill"),
16744
- rectPad: z49.boolean().optional(),
16790
+ name: z52.string().optional(),
16791
+ connectsTo: z52.string().or(z52.array(z52.string())).optional(),
16792
+ shape: z52.literal("pill"),
16793
+ rectPad: z52.boolean().optional(),
16745
16794
  outerWidth: distance15,
16746
16795
  outerHeight: distance15,
16747
16796
  holeWidth: distanceHiddenUndefined,
@@ -16752,30 +16801,30 @@ var platedHolePropsByShape = z49.discriminatedUnion("shape", [
16752
16801
  holeOffsetX: distance15.optional(),
16753
16802
  holeOffsetY: distance15.optional(),
16754
16803
  solderMaskMargin: distance15.optional(),
16755
- coveredWithSolderMask: z49.boolean().optional()
16804
+ coveredWithSolderMask: z52.boolean().optional()
16756
16805
  }),
16757
16806
  pcbLayoutProps.omit({ layer: true }).extend({
16758
- name: z49.string().optional(),
16759
- connectsTo: z49.string().or(z49.array(z49.string())).optional(),
16760
- shape: z49.literal("circular_hole_with_rect_pad"),
16807
+ name: z52.string().optional(),
16808
+ connectsTo: z52.string().or(z52.array(z52.string())).optional(),
16809
+ shape: z52.literal("circular_hole_with_rect_pad"),
16761
16810
  holeDiameter: distance15,
16762
16811
  rectPadWidth: distance15,
16763
16812
  rectPadHeight: distance15,
16764
16813
  rectBorderRadius: distance15.optional(),
16765
- holeShape: z49.literal("circle").optional(),
16766
- padShape: z49.literal("rect").optional(),
16814
+ holeShape: z52.literal("circle").optional(),
16815
+ padShape: z52.literal("rect").optional(),
16767
16816
  portHints: portHints.optional(),
16768
16817
  holeOffsetX: distance15.optional(),
16769
16818
  holeOffsetY: distance15.optional(),
16770
16819
  solderMaskMargin: distance15.optional(),
16771
- coveredWithSolderMask: z49.boolean().optional()
16820
+ coveredWithSolderMask: z52.boolean().optional()
16772
16821
  }),
16773
16822
  pcbLayoutProps.omit({ layer: true }).extend({
16774
- name: z49.string().optional(),
16775
- connectsTo: z49.string().or(z49.array(z49.string())).optional(),
16776
- shape: z49.literal("pill_hole_with_rect_pad"),
16777
- holeShape: z49.literal("pill").optional(),
16778
- padShape: z49.literal("rect").optional(),
16823
+ name: z52.string().optional(),
16824
+ connectsTo: z52.string().or(z52.array(z52.string())).optional(),
16825
+ shape: z52.literal("pill_hole_with_rect_pad"),
16826
+ holeShape: z52.literal("pill").optional(),
16827
+ padShape: z52.literal("rect").optional(),
16779
16828
  holeWidth: distance15,
16780
16829
  holeHeight: distance15,
16781
16830
  rectPadWidth: distance15,
@@ -16785,22 +16834,22 @@ var platedHolePropsByShape = z49.discriminatedUnion("shape", [
16785
16834
  holeOffsetX: distance15.optional(),
16786
16835
  holeOffsetY: distance15.optional(),
16787
16836
  solderMaskMargin: distance15.optional(),
16788
- coveredWithSolderMask: z49.boolean().optional()
16837
+ coveredWithSolderMask: z52.boolean().optional()
16789
16838
  }),
16790
16839
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
16791
- name: z49.string().optional(),
16792
- connectsTo: z49.string().or(z49.array(z49.string())).optional(),
16793
- shape: z49.literal("hole_with_polygon_pad"),
16794
- holeShape: z49.enum(["circle", "oval", "pill", "rotated_pill"]),
16840
+ name: z52.string().optional(),
16841
+ connectsTo: z52.string().or(z52.array(z52.string())).optional(),
16842
+ shape: z52.literal("hole_with_polygon_pad"),
16843
+ holeShape: z52.enum(["circle", "oval", "pill", "rotated_pill"]),
16795
16844
  holeDiameter: distance15.optional(),
16796
16845
  holeWidth: distance15.optional(),
16797
16846
  holeHeight: distance15.optional(),
16798
- padOutline: z49.array(point),
16847
+ padOutline: z52.array(point),
16799
16848
  holeOffsetX: distance15,
16800
16849
  holeOffsetY: distance15,
16801
16850
  portHints: portHints.optional(),
16802
16851
  solderMaskMargin: distance15.optional(),
16803
- coveredWithSolderMask: z49.boolean().optional()
16852
+ coveredWithSolderMask: z52.boolean().optional()
16804
16853
  })
16805
16854
  ]).transform((a) => {
16806
16855
  if ("innerWidth" in a && a.innerWidth !== void 0) {
@@ -16811,7 +16860,7 @@ var platedHolePropsByShape = z49.discriminatedUnion("shape", [
16811
16860
  }
16812
16861
  return a;
16813
16862
  });
16814
- var platedHoleProps = z49.preprocess(
16863
+ var platedHoleProps = z52.preprocess(
16815
16864
  inferPlatedHoleShapeAndDefaults,
16816
16865
  platedHolePropsByShape
16817
16866
  );
@@ -16819,7 +16868,7 @@ expectTypesMatch(true);
16819
16868
 
16820
16869
  // lib/components/resistor.ts
16821
16870
  import { resistance } from "circuit-json";
16822
- import { z as z50 } from "zod";
16871
+ import { z as z53 } from "zod";
16823
16872
  var resistorPinLabels = ["pin1", "pin2", "pos", "neg"];
16824
16873
  var resistorImperialFootprintNames = /* @__PURE__ */ new Set([
16825
16874
  "01005",
@@ -16843,7 +16892,7 @@ var resistorFootprintProp = footprintProp.optional().transform(mapResistorFootpr
16843
16892
  var resistorProps = commonComponentProps.extend({
16844
16893
  footprint: resistorFootprintProp,
16845
16894
  resistance,
16846
- tolerance: z50.union([z50.string(), z50.number()]).transform((val) => {
16895
+ tolerance: z53.union([z53.string(), z53.number()]).transform((val) => {
16847
16896
  if (typeof val === "string") {
16848
16897
  if (val.endsWith("%")) {
16849
16898
  return parseFloat(val.slice(0, -1)) / 100;
@@ -16852,12 +16901,12 @@ var resistorProps = commonComponentProps.extend({
16852
16901
  }
16853
16902
  return val;
16854
16903
  }).pipe(
16855
- z50.number().min(0, "Tolerance must be non-negative").max(1, "Tolerance cannot be greater than 100%")
16904
+ z53.number().min(0, "Tolerance must be non-negative").max(1, "Tolerance cannot be greater than 100%")
16856
16905
  ).optional(),
16857
- pullupFor: z50.string().optional(),
16858
- pullupTo: z50.string().optional(),
16859
- pulldownFor: z50.string().optional(),
16860
- pulldownTo: z50.string().optional(),
16906
+ pullupFor: z53.string().optional(),
16907
+ pullupTo: z53.string().optional(),
16908
+ pulldownFor: z53.string().optional(),
16909
+ pulldownTo: z53.string().optional(),
16861
16910
  schOrientation: schematicOrientation.optional(),
16862
16911
  schSize: schematicSymbolSize.optional(),
16863
16912
  connections: createConnectionsProp(resistorPinLabels).optional()
@@ -16867,18 +16916,18 @@ expectTypesMatch(true);
16867
16916
 
16868
16917
  // lib/components/potentiometer.ts
16869
16918
  import { resistance as resistance2 } from "circuit-json";
16870
- import { z as z51 } from "zod";
16919
+ import { z as z54 } from "zod";
16871
16920
  var potentiometerPinLabels = ["pin1", "pin2", "pin3"];
16872
16921
  var potentiometerProps = commonComponentProps.extend({
16873
16922
  maxResistance: resistance2,
16874
- pinVariant: z51.enum(["two_pin", "three_pin"]).optional(),
16923
+ pinVariant: z54.enum(["two_pin", "three_pin"]).optional(),
16875
16924
  connections: createConnectionsProp(potentiometerPinLabels).optional()
16876
16925
  });
16877
16926
  expectTypesMatch(true);
16878
16927
 
16879
16928
  // lib/components/crystal.ts
16880
16929
  import { capacitance, distance as distance16, frequency } from "circuit-json";
16881
- import { z as z52 } from "zod";
16930
+ import { z as z55 } from "zod";
16882
16931
  var crystalPins = [
16883
16932
  "pin1",
16884
16933
  "left",
@@ -16891,9 +16940,9 @@ var crystalProps = commonComponentProps.extend({
16891
16940
  frequency,
16892
16941
  loadCapacitance: capacitance,
16893
16942
  maxTraceLength: distance16.optional(),
16894
- manufacturerPartNumber: z52.string().optional(),
16895
- mpn: z52.string().optional(),
16896
- pinVariant: z52.enum(["two_pin", "four_pin"]).optional(),
16943
+ manufacturerPartNumber: z55.string().optional(),
16944
+ mpn: z55.string().optional(),
16945
+ pinVariant: z55.enum(["two_pin", "four_pin"]).optional(),
16897
16946
  schOrientation: schematicOrientation.optional(),
16898
16947
  connections: createConnectionsProp(crystalPins).optional()
16899
16948
  });
@@ -16901,34 +16950,34 @@ expectTypesMatch(true);
16901
16950
 
16902
16951
  // lib/components/resonator.ts
16903
16952
  import { frequency as frequency2, capacitance as capacitance2 } from "circuit-json";
16904
- import { z as z53 } from "zod";
16953
+ import { z as z56 } from "zod";
16905
16954
  var resonatorProps = commonComponentProps.extend({
16906
16955
  frequency: frequency2,
16907
16956
  loadCapacitance: capacitance2,
16908
- pinVariant: z53.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
16957
+ pinVariant: z56.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
16909
16958
  });
16910
16959
  expectTypesMatch(true);
16911
16960
 
16912
16961
  // lib/components/stampboard.ts
16913
16962
  import { distance as distance17 } from "circuit-json";
16914
- import { z as z54 } from "zod";
16963
+ import { z as z57 } from "zod";
16915
16964
  var stampboardProps = boardProps.extend({
16916
- leftPinCount: z54.number().optional(),
16917
- rightPinCount: z54.number().optional(),
16918
- topPinCount: z54.number().optional(),
16919
- bottomPinCount: z54.number().optional(),
16920
- leftPins: z54.array(z54.string()).optional(),
16921
- rightPins: z54.array(z54.string()).optional(),
16922
- topPins: z54.array(z54.string()).optional(),
16923
- bottomPins: z54.array(z54.string()).optional(),
16965
+ leftPinCount: z57.number().optional(),
16966
+ rightPinCount: z57.number().optional(),
16967
+ topPinCount: z57.number().optional(),
16968
+ bottomPinCount: z57.number().optional(),
16969
+ leftPins: z57.array(z57.string()).optional(),
16970
+ rightPins: z57.array(z57.string()).optional(),
16971
+ topPins: z57.array(z57.string()).optional(),
16972
+ bottomPins: z57.array(z57.string()).optional(),
16924
16973
  pinPitch: distance17.optional(),
16925
- innerHoles: z54.boolean().optional()
16974
+ innerHoles: z57.boolean().optional()
16926
16975
  });
16927
16976
  expectTypesMatch(true);
16928
16977
 
16929
16978
  // lib/components/capacitor.ts
16930
16979
  import { capacitance as capacitance3, voltage } from "circuit-json";
16931
- import { z as z55 } from "zod";
16980
+ import { z as z58 } from "zod";
16932
16981
  var capacitorPinLabels = [
16933
16982
  "pin1",
16934
16983
  "pin2",
@@ -16940,13 +16989,13 @@ var capacitorPinLabels = [
16940
16989
  var capacitorProps = commonComponentProps.extend({
16941
16990
  capacitance: capacitance3,
16942
16991
  maxVoltageRating: voltage.optional(),
16943
- schShowRatings: z55.boolean().optional().default(false),
16944
- polarized: z55.boolean().optional().default(false),
16945
- decouplingFor: z55.string().optional(),
16946
- decouplingTo: z55.string().optional(),
16947
- bypassFor: z55.string().optional(),
16948
- bypassTo: z55.string().optional(),
16949
- maxDecouplingTraceLength: z55.number().optional(),
16992
+ schShowRatings: z58.boolean().optional().default(false),
16993
+ polarized: z58.boolean().optional().default(false),
16994
+ decouplingFor: z58.string().optional(),
16995
+ decouplingTo: z58.string().optional(),
16996
+ bypassFor: z58.string().optional(),
16997
+ bypassTo: z58.string().optional(),
16998
+ maxDecouplingTraceLength: z58.number().optional(),
16950
16999
  schOrientation: schematicOrientation.optional(),
16951
17000
  schSize: schematicSymbolSize.optional(),
16952
17001
  connections: createConnectionsProp(capacitorPinLabels).optional()
@@ -16956,14 +17005,14 @@ expectTypesMatch(true);
16956
17005
 
16957
17006
  // lib/components/net.ts
16958
17007
  import { distance as distance18 } from "circuit-json";
16959
- import { z as z56 } from "zod";
16960
- var netProps = z56.object({
16961
- name: z56.string(),
16962
- connectsTo: z56.string().or(z56.array(z56.string())).optional(),
16963
- routingPhaseIndex: z56.number().nullable().optional(),
16964
- highlightColor: z56.string().optional(),
16965
- isPowerNet: z56.boolean().optional(),
16966
- isGroundNet: z56.boolean().optional(),
17008
+ import { z as z59 } from "zod";
17009
+ var netProps = z59.object({
17010
+ name: z59.string(),
17011
+ connectsTo: z59.string().or(z59.array(z59.string())).optional(),
17012
+ routingPhaseIndex: z59.number().nullable().optional(),
17013
+ highlightColor: z59.string().optional(),
17014
+ isPowerNet: z59.boolean().optional(),
17015
+ isGroundNet: z59.boolean().optional(),
16967
17016
  nominalTraceWidth: distance18.optional()
16968
17017
  });
16969
17018
  expectTypesMatch(true);
@@ -16977,55 +17026,55 @@ var fiducialProps = commonComponentProps.extend({
16977
17026
  expectTypesMatch(true);
16978
17027
 
16979
17028
  // lib/components/constrainedlayout.ts
16980
- import { z as z58 } from "zod";
16981
- var constrainedLayoutProps = z58.object({
16982
- name: z58.string().optional(),
16983
- pcbOnly: z58.boolean().optional(),
16984
- schOnly: z58.boolean().optional()
17029
+ import { z as z61 } from "zod";
17030
+ var constrainedLayoutProps = z61.object({
17031
+ name: z61.string().optional(),
17032
+ pcbOnly: z61.boolean().optional(),
17033
+ schOnly: z61.boolean().optional()
16985
17034
  });
16986
17035
  expectTypesMatch(true);
16987
17036
 
16988
17037
  // lib/components/constraint.ts
16989
- import { z as z59 } from "zod";
16990
- var pcbXDistConstraintProps = z59.object({
16991
- pcb: z59.literal(true).optional(),
17038
+ import { z as z62 } from "zod";
17039
+ var pcbXDistConstraintProps = z62.object({
17040
+ pcb: z62.literal(true).optional(),
16992
17041
  xDist: distance,
16993
- left: z59.string(),
16994
- right: z59.string(),
16995
- edgeToEdge: z59.literal(true).optional(),
16996
- centerToCenter: z59.literal(true).optional()
17042
+ left: z62.string(),
17043
+ right: z62.string(),
17044
+ edgeToEdge: z62.literal(true).optional(),
17045
+ centerToCenter: z62.literal(true).optional()
16997
17046
  });
16998
17047
  expectTypesMatch(
16999
17048
  true
17000
17049
  );
17001
- var pcbYDistConstraintProps = z59.object({
17002
- pcb: z59.literal(true).optional(),
17050
+ var pcbYDistConstraintProps = z62.object({
17051
+ pcb: z62.literal(true).optional(),
17003
17052
  yDist: distance,
17004
- top: z59.string(),
17005
- bottom: z59.string(),
17006
- edgeToEdge: z59.literal(true).optional(),
17007
- centerToCenter: z59.literal(true).optional()
17053
+ top: z62.string(),
17054
+ bottom: z62.string(),
17055
+ edgeToEdge: z62.literal(true).optional(),
17056
+ centerToCenter: z62.literal(true).optional()
17008
17057
  });
17009
17058
  expectTypesMatch(
17010
17059
  true
17011
17060
  );
17012
- var pcbSameYConstraintProps = z59.object({
17013
- pcb: z59.literal(true).optional(),
17014
- sameY: z59.literal(true).optional(),
17015
- for: z59.array(z59.string())
17061
+ var pcbSameYConstraintProps = z62.object({
17062
+ pcb: z62.literal(true).optional(),
17063
+ sameY: z62.literal(true).optional(),
17064
+ for: z62.array(z62.string())
17016
17065
  });
17017
17066
  expectTypesMatch(
17018
17067
  true
17019
17068
  );
17020
- var pcbSameXConstraintProps = z59.object({
17021
- pcb: z59.literal(true).optional(),
17022
- sameX: z59.literal(true).optional(),
17023
- for: z59.array(z59.string())
17069
+ var pcbSameXConstraintProps = z62.object({
17070
+ pcb: z62.literal(true).optional(),
17071
+ sameX: z62.literal(true).optional(),
17072
+ for: z62.array(z62.string())
17024
17073
  });
17025
17074
  expectTypesMatch(
17026
17075
  true
17027
17076
  );
17028
- var constraintProps = z59.union([
17077
+ var constraintProps = z62.union([
17029
17078
  pcbXDistConstraintProps,
17030
17079
  pcbYDistConstraintProps,
17031
17080
  pcbSameYConstraintProps,
@@ -17034,13 +17083,13 @@ var constraintProps = z59.union([
17034
17083
  expectTypesMatch(true);
17035
17084
 
17036
17085
  // lib/components/cutout.ts
17037
- import { z as z60 } from "zod";
17086
+ import { z as z63 } from "zod";
17038
17087
  var rectCutoutProps = pcbLayoutProps.omit({
17039
17088
  layer: true,
17040
17089
  pcbRotation: true
17041
17090
  }).extend({
17042
- name: z60.string().optional(),
17043
- shape: z60.literal("rect"),
17091
+ name: z63.string().optional(),
17092
+ shape: z63.literal("rect"),
17044
17093
  width: distance,
17045
17094
  height: distance
17046
17095
  });
@@ -17049,8 +17098,8 @@ var circleCutoutProps = pcbLayoutProps.omit({
17049
17098
  layer: true,
17050
17099
  pcbRotation: true
17051
17100
  }).extend({
17052
- name: z60.string().optional(),
17053
- shape: z60.literal("circle"),
17101
+ name: z63.string().optional(),
17102
+ shape: z63.literal("circle"),
17054
17103
  radius: distance
17055
17104
  });
17056
17105
  expectTypesMatch(true);
@@ -17058,36 +17107,36 @@ var polygonCutoutProps = pcbLayoutProps.omit({
17058
17107
  layer: true,
17059
17108
  pcbRotation: true
17060
17109
  }).extend({
17061
- name: z60.string().optional(),
17062
- shape: z60.literal("polygon"),
17063
- points: z60.array(point)
17110
+ name: z63.string().optional(),
17111
+ shape: z63.literal("polygon"),
17112
+ points: z63.array(point)
17064
17113
  });
17065
17114
  expectTypesMatch(true);
17066
- var cutoutProps = z60.discriminatedUnion("shape", [
17115
+ var cutoutProps = z63.discriminatedUnion("shape", [
17067
17116
  rectCutoutProps,
17068
17117
  circleCutoutProps,
17069
17118
  polygonCutoutProps
17070
17119
  ]);
17071
17120
 
17072
17121
  // lib/components/drc-check.ts
17073
- import { z as z61 } from "zod";
17074
- var drcCheckProps = z61.object({
17075
- name: z61.string().optional(),
17122
+ import { z as z64 } from "zod";
17123
+ var drcCheckProps = z64.object({
17124
+ name: z64.string().optional(),
17076
17125
  checkFn: customDrcCheckFn
17077
17126
  });
17078
17127
  expectTypesMatch(true);
17079
17128
 
17080
17129
  // lib/components/smtpad.ts
17081
- import { z as z62 } from "zod";
17130
+ import { z as z65 } from "zod";
17082
17131
  var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17083
- name: z62.string().optional(),
17084
- shape: z62.literal("rect"),
17132
+ name: z65.string().optional(),
17133
+ shape: z65.literal("rect"),
17085
17134
  width: distance,
17086
17135
  height: distance,
17087
17136
  rectBorderRadius: distance.optional(),
17088
17137
  cornerRadius: distance.optional(),
17089
17138
  portHints: portHints.optional(),
17090
- coveredWithSolderMask: z62.boolean().optional(),
17139
+ coveredWithSolderMask: z65.boolean().optional(),
17091
17140
  solderMaskMargin: distance.optional(),
17092
17141
  solderMaskMarginLeft: distance.optional(),
17093
17142
  solderMaskMarginRight: distance.optional(),
@@ -17096,14 +17145,14 @@ var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17096
17145
  });
17097
17146
  expectTypesMatch(true);
17098
17147
  var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17099
- name: z62.string().optional(),
17100
- shape: z62.literal("rotated_rect"),
17148
+ name: z65.string().optional(),
17149
+ shape: z65.literal("rotated_rect"),
17101
17150
  width: distance,
17102
17151
  height: distance,
17103
- ccwRotation: z62.number(),
17152
+ ccwRotation: z65.number(),
17104
17153
  cornerRadius: distance.optional(),
17105
17154
  portHints: portHints.optional(),
17106
- coveredWithSolderMask: z62.boolean().optional(),
17155
+ coveredWithSolderMask: z65.boolean().optional(),
17107
17156
  solderMaskMargin: distance.optional(),
17108
17157
  solderMaskMarginLeft: distance.optional(),
17109
17158
  solderMaskMarginRight: distance.optional(),
@@ -17112,35 +17161,35 @@ var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17112
17161
  });
17113
17162
  expectTypesMatch(true);
17114
17163
  var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17115
- name: z62.string().optional(),
17116
- shape: z62.literal("circle"),
17164
+ name: z65.string().optional(),
17165
+ shape: z65.literal("circle"),
17117
17166
  radius: distance,
17118
17167
  portHints: portHints.optional(),
17119
- coveredWithSolderMask: z62.boolean().optional(),
17168
+ coveredWithSolderMask: z65.boolean().optional(),
17120
17169
  solderMaskMargin: distance.optional()
17121
17170
  });
17122
17171
  expectTypesMatch(true);
17123
17172
  var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17124
- name: z62.string().optional(),
17125
- shape: z62.literal("pill"),
17173
+ name: z65.string().optional(),
17174
+ shape: z65.literal("pill"),
17126
17175
  width: distance,
17127
17176
  height: distance,
17128
17177
  radius: distance,
17129
17178
  portHints: portHints.optional(),
17130
- coveredWithSolderMask: z62.boolean().optional(),
17179
+ coveredWithSolderMask: z65.boolean().optional(),
17131
17180
  solderMaskMargin: distance.optional()
17132
17181
  });
17133
17182
  expectTypesMatch(true);
17134
17183
  var polygonSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17135
- name: z62.string().optional(),
17136
- shape: z62.literal("polygon"),
17137
- points: z62.array(point),
17184
+ name: z65.string().optional(),
17185
+ shape: z65.literal("polygon"),
17186
+ points: z65.array(point),
17138
17187
  portHints: portHints.optional(),
17139
- coveredWithSolderMask: z62.boolean().optional(),
17188
+ coveredWithSolderMask: z65.boolean().optional(),
17140
17189
  solderMaskMargin: distance.optional()
17141
17190
  });
17142
17191
  expectTypesMatch(true);
17143
- var smtPadProps = z62.discriminatedUnion("shape", [
17192
+ var smtPadProps = z65.discriminatedUnion("shape", [
17144
17193
  circleSmtPadProps,
17145
17194
  rectSmtPadProps,
17146
17195
  rotatedRectSmtPadProps,
@@ -17150,63 +17199,63 @@ var smtPadProps = z62.discriminatedUnion("shape", [
17150
17199
  expectTypesMatch(true);
17151
17200
 
17152
17201
  // lib/components/solderpaste.ts
17153
- import { z as z63 } from "zod";
17202
+ import { z as z66 } from "zod";
17154
17203
  var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17155
- shape: z63.literal("rect"),
17204
+ shape: z66.literal("rect"),
17156
17205
  width: distance,
17157
17206
  height: distance
17158
17207
  });
17159
17208
  expectTypesMatch(true);
17160
17209
  var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17161
- shape: z63.literal("circle"),
17210
+ shape: z66.literal("circle"),
17162
17211
  radius: distance
17163
17212
  });
17164
17213
  expectTypesMatch(true);
17165
- var solderPasteProps = z63.union([
17214
+ var solderPasteProps = z66.union([
17166
17215
  circleSolderPasteProps,
17167
17216
  rectSolderPasteProps
17168
17217
  ]);
17169
17218
  expectTypesMatch(true);
17170
17219
 
17171
17220
  // lib/components/hole.ts
17172
- import { z as z64 } from "zod";
17221
+ import { z as z67 } from "zod";
17173
17222
  var circleHoleProps = pcbLayoutProps.extend({
17174
- name: z64.string().optional(),
17175
- shape: z64.literal("circle").optional(),
17223
+ name: z67.string().optional(),
17224
+ shape: z67.literal("circle").optional(),
17176
17225
  diameter: distance.optional(),
17177
17226
  radius: distance.optional(),
17178
17227
  solderMaskMargin: distance.optional(),
17179
- coveredWithSolderMask: z64.boolean().optional()
17228
+ coveredWithSolderMask: z67.boolean().optional()
17180
17229
  }).transform((d) => ({
17181
17230
  ...d,
17182
17231
  diameter: d.diameter ?? 2 * d.radius,
17183
17232
  radius: d.radius ?? d.diameter / 2
17184
17233
  }));
17185
17234
  var pillHoleProps = pcbLayoutProps.extend({
17186
- name: z64.string().optional(),
17187
- shape: z64.literal("pill"),
17235
+ name: z67.string().optional(),
17236
+ shape: z67.literal("pill"),
17188
17237
  width: distance,
17189
17238
  height: distance,
17190
17239
  solderMaskMargin: distance.optional(),
17191
- coveredWithSolderMask: z64.boolean().optional()
17240
+ coveredWithSolderMask: z67.boolean().optional()
17192
17241
  });
17193
17242
  var ovalHoleProps = pcbLayoutProps.extend({
17194
- name: z64.string().optional(),
17195
- shape: z64.literal("oval"),
17243
+ name: z67.string().optional(),
17244
+ shape: z67.literal("oval"),
17196
17245
  width: distance,
17197
17246
  height: distance,
17198
17247
  solderMaskMargin: distance.optional(),
17199
- coveredWithSolderMask: z64.boolean().optional()
17248
+ coveredWithSolderMask: z67.boolean().optional()
17200
17249
  });
17201
17250
  var rectHoleProps = pcbLayoutProps.extend({
17202
- name: z64.string().optional(),
17203
- shape: z64.literal("rect"),
17251
+ name: z67.string().optional(),
17252
+ shape: z67.literal("rect"),
17204
17253
  width: distance,
17205
17254
  height: distance,
17206
17255
  solderMaskMargin: distance.optional(),
17207
- coveredWithSolderMask: z64.boolean().optional()
17256
+ coveredWithSolderMask: z67.boolean().optional()
17208
17257
  });
17209
- var holeProps = z64.union([
17258
+ var holeProps = z67.union([
17210
17259
  circleHoleProps,
17211
17260
  pillHoleProps,
17212
17261
  ovalHoleProps,
@@ -17216,57 +17265,57 @@ expectTypesMatch(true);
17216
17265
 
17217
17266
  // lib/components/trace.ts
17218
17267
  import { distance as distance19, layer_ref as layer_ref4, route_hint_point as route_hint_point2 } from "circuit-json";
17219
- import { z as z65 } from "zod";
17220
- var portRef = z65.union([
17221
- z65.string(),
17222
- z65.custom(
17268
+ import { z as z68 } from "zod";
17269
+ var portRef = z68.union([
17270
+ z68.string(),
17271
+ z68.custom(
17223
17272
  (v) => typeof v === "object" && v !== null && "getPortSelector" in v && typeof v.getPortSelector === "function"
17224
17273
  )
17225
17274
  ]);
17226
17275
  var pcbPathPoint = point.extend({
17227
- via: z65.boolean().optional(),
17276
+ via: z68.boolean().optional(),
17228
17277
  fromLayer: layer_ref4.optional(),
17229
17278
  toLayer: layer_ref4.optional()
17230
17279
  }).superRefine((value, ctx) => {
17231
17280
  if (value.via) {
17232
17281
  if (!value.toLayer) {
17233
17282
  ctx.addIssue({
17234
- code: z65.ZodIssueCode.custom,
17283
+ code: z68.ZodIssueCode.custom,
17235
17284
  message: "toLayer is required when via is true",
17236
17285
  path: ["toLayer"]
17237
17286
  });
17238
17287
  }
17239
17288
  } else if (value.fromLayer || value.toLayer) {
17240
17289
  ctx.addIssue({
17241
- code: z65.ZodIssueCode.custom,
17290
+ code: z68.ZodIssueCode.custom,
17242
17291
  message: "fromLayer/toLayer are only allowed when via is true",
17243
17292
  path: ["via"]
17244
17293
  });
17245
17294
  }
17246
17295
  });
17247
- var pcbPath = z65.array(z65.union([pcbPathPoint, z65.string()]));
17248
- var baseTraceProps = z65.object({
17249
- key: z65.string().optional(),
17250
- name: z65.string().optional(),
17251
- displayName: z65.string().optional(),
17296
+ var pcbPath = z68.array(z68.union([pcbPathPoint, z68.string()]));
17297
+ var baseTraceProps = z68.object({
17298
+ key: z68.string().optional(),
17299
+ name: z68.string().optional(),
17300
+ displayName: z68.string().optional(),
17252
17301
  thickness: distance19.optional(),
17253
17302
  width: distance19.optional().describe("Alias for trace thickness"),
17254
- schematicRouteHints: z65.array(point).optional(),
17255
- pcbRouteHints: z65.array(route_hint_point2).optional(),
17256
- pcbPathRelativeTo: z65.string().optional(),
17303
+ schematicRouteHints: z68.array(point).optional(),
17304
+ pcbRouteHints: z68.array(route_hint_point2).optional(),
17305
+ pcbPathRelativeTo: z68.string().optional(),
17257
17306
  pcbPath: pcbPath.optional(),
17258
- pcbPaths: z65.array(pcbPath).optional(),
17259
- routingPhaseIndex: z65.number().nullable().optional(),
17260
- pcbStraightLine: z65.boolean().optional().describe("Draw a straight pcb trace between the connected points"),
17261
- schDisplayLabel: z65.string().optional(),
17262
- schStroke: z65.string().optional(),
17263
- highlightColor: z65.string().optional(),
17307
+ pcbPaths: z68.array(pcbPath).optional(),
17308
+ routingPhaseIndex: z68.number().nullable().optional(),
17309
+ pcbStraightLine: z68.boolean().optional().describe("Draw a straight pcb trace between the connected points"),
17310
+ schDisplayLabel: z68.string().optional(),
17311
+ schStroke: z68.string().optional(),
17312
+ highlightColor: z68.string().optional(),
17264
17313
  maxLength: distance19.optional(),
17265
- connectsTo: z65.string().or(z65.array(z65.string())).optional()
17314
+ connectsTo: z68.string().or(z68.array(z68.string())).optional()
17266
17315
  });
17267
- var traceProps = z65.union([
17316
+ var traceProps = z68.union([
17268
17317
  baseTraceProps.extend({
17269
- path: z65.array(portRef)
17318
+ path: z68.array(portRef)
17270
17319
  }),
17271
17320
  baseTraceProps.extend({
17272
17321
  from: portRef,
@@ -17279,19 +17328,19 @@ var traceProps = z65.union([
17279
17328
  ]);
17280
17329
 
17281
17330
  // lib/components/differentialpair.ts
17282
- import { z as z66 } from "zod";
17283
- var differentialPairProps = z66.object({
17284
- name: z66.string().optional(),
17285
- positiveConnection: z66.string(),
17286
- negativeConnection: z66.string(),
17287
- maxLengthSkew: z66.number().min(0).max(1).optional()
17331
+ import { z as z69 } from "zod";
17332
+ var differentialPairProps = z69.object({
17333
+ name: z69.string().optional(),
17334
+ positiveConnection: z69.string(),
17335
+ negativeConnection: z69.string(),
17336
+ maxLengthSkew: z69.number().min(0).max(1).optional()
17288
17337
  });
17289
17338
  expectTypesMatch(true);
17290
17339
 
17291
17340
  // lib/components/footprint.ts
17292
17341
  import { layer_ref as layer_ref5 } from "circuit-json";
17293
- import { z as z67 } from "zod";
17294
- var footprintInsertionDirection = z67.enum([
17342
+ import { z as z70 } from "zod";
17343
+ var footprintInsertionDirection = z70.enum([
17295
17344
  "from_above",
17296
17345
  "from_left",
17297
17346
  "from_right",
@@ -17299,11 +17348,11 @@ var footprintInsertionDirection = z67.enum([
17299
17348
  "from_back"
17300
17349
  ]);
17301
17350
  expectTypesMatch(true);
17302
- var footprintProps = z67.object({
17303
- children: z67.any().optional(),
17304
- name: z67.string().optional(),
17351
+ var footprintProps = z70.object({
17352
+ children: z70.any().optional(),
17353
+ name: z70.string().optional(),
17305
17354
  originalLayer: layer_ref5.default("top").optional(),
17306
- circuitJson: z67.array(z67.any()).optional(),
17355
+ circuitJson: z70.array(z70.any()).optional(),
17307
17356
  src: footprintProp.describe("Can be a footprint or kicad string").optional(),
17308
17357
  insertionDirection: footprintInsertionDirection.optional().describe(
17309
17358
  "Direction a cable or mating part is inserted into this footprint in its unrotated orientation."
@@ -17312,19 +17361,19 @@ var footprintProps = z67.object({
17312
17361
  expectTypesMatch(true);
17313
17362
 
17314
17363
  // lib/components/symbol.ts
17315
- import { z as z68 } from "zod";
17316
- var symbolProps = z68.object({
17317
- originalFacingDirection: z68.enum(["up", "down", "left", "right"]).default("right").optional(),
17364
+ import { z as z71 } from "zod";
17365
+ var symbolProps = z71.object({
17366
+ originalFacingDirection: z71.enum(["up", "down", "left", "right"]).default("right").optional(),
17318
17367
  width: distance.optional(),
17319
17368
  height: distance.optional(),
17320
- name: z68.string().optional()
17369
+ name: z71.string().optional()
17321
17370
  });
17322
17371
  expectTypesMatch(true);
17323
17372
 
17324
17373
  // lib/components/battery.ts
17325
17374
  import { voltage as voltage2 } from "circuit-json";
17326
- import { z as z69 } from "zod";
17327
- var capacity = z69.number().or(z69.string().endsWith("mAh")).transform((v) => {
17375
+ import { z as z72 } from "zod";
17376
+ var capacity = z72.number().or(z72.string().endsWith("mAh")).transform((v) => {
17328
17377
  if (typeof v === "string") {
17329
17378
  const valString = v.replace("mAh", "");
17330
17379
  const num = Number.parseFloat(valString);
@@ -17338,14 +17387,14 @@ var capacity = z69.number().or(z69.string().endsWith("mAh")).transform((v) => {
17338
17387
  var batteryProps = commonComponentProps.extend({
17339
17388
  capacity: capacity.optional(),
17340
17389
  voltage: voltage2.optional(),
17341
- standard: z69.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
17390
+ standard: z72.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
17342
17391
  schOrientation: schematicOrientation.optional()
17343
17392
  });
17344
17393
  var batteryPins = lrPolarPins;
17345
17394
  expectTypesMatch(true);
17346
17395
 
17347
17396
  // lib/components/mountedboard.ts
17348
- import { z as z70 } from "zod";
17397
+ import { z as z73 } from "zod";
17349
17398
  var mountedboardProps = subcircuitGroupProps.extend({
17350
17399
  manufacturerPartNumber: chipProps.shape.manufacturerPartNumber,
17351
17400
  pinLabels: chipProps.shape.pinLabels,
@@ -17357,7 +17406,7 @@ var mountedboardProps = subcircuitGroupProps.extend({
17357
17406
  internallyConnectedPins: chipProps.shape.internallyConnectedPins,
17358
17407
  externallyConnectedPins: chipProps.shape.externallyConnectedPins,
17359
17408
  boardToBoardDistance: distance.optional(),
17360
- mountOrientation: z70.enum(["faceDown", "faceUp"]).optional()
17409
+ mountOrientation: z73.enum(["faceDown", "faceUp"]).optional()
17361
17410
  });
17362
17411
  expectTypesMatch(true);
17363
17412
 
@@ -17365,29 +17414,29 @@ expectTypesMatch(true);
17365
17414
  import { distance as distance20 } from "circuit-json";
17366
17415
 
17367
17416
  // lib/common/pcbOrientation.ts
17368
- import { z as z71 } from "zod";
17369
- var pcbOrientation = z71.enum(["vertical", "horizontal"]).describe(
17417
+ import { z as z74 } from "zod";
17418
+ var pcbOrientation = z74.enum(["vertical", "horizontal"]).describe(
17370
17419
  "vertical means pins go 1->2 downward and horizontal means pins go 1->2 rightward"
17371
17420
  );
17372
17421
  expectTypesMatch(true);
17373
17422
 
17374
17423
  // lib/components/pin-header.ts
17375
- import { z as z72 } from "zod";
17424
+ import { z as z75 } from "zod";
17376
17425
  var pinHeaderProps = commonComponentProps.extend({
17377
- pinCount: z72.number(),
17426
+ pinCount: z75.number(),
17378
17427
  pitch: distance20.optional(),
17379
- schFacingDirection: z72.enum(["up", "down", "left", "right"]).optional(),
17380
- gender: z72.enum(["male", "female", "unpopulated"]).optional().default("male"),
17381
- showSilkscreenPinLabels: z72.boolean().optional(),
17382
- pcbPinLabels: z72.record(z72.string(), z72.string()).optional(),
17383
- doubleRow: z72.boolean().optional(),
17384
- rightAngle: z72.boolean().optional(),
17428
+ schFacingDirection: z75.enum(["up", "down", "left", "right"]).optional(),
17429
+ gender: z75.enum(["male", "female", "unpopulated"]).optional().default("male"),
17430
+ showSilkscreenPinLabels: z75.boolean().optional(),
17431
+ pcbPinLabels: z75.record(z75.string(), z75.string()).optional(),
17432
+ doubleRow: z75.boolean().optional(),
17433
+ rightAngle: z75.boolean().optional(),
17385
17434
  pcbOrientation: pcbOrientation.optional(),
17386
17435
  holeDiameter: distance20.optional(),
17387
17436
  platedDiameter: distance20.optional(),
17388
- pinLabels: z72.record(z72.string(), schematicPinLabel).or(z72.array(schematicPinLabel)).optional(),
17389
- connections: z72.custom().pipe(z72.record(z72.string(), connectionTarget)).optional(),
17390
- facingDirection: z72.enum(["left", "right"]).optional(),
17437
+ pinLabels: z75.record(z75.string(), schematicPinLabel).or(z75.array(schematicPinLabel)).optional(),
17438
+ connections: z75.custom().pipe(z75.record(z75.string(), connectionTarget)).optional(),
17439
+ facingDirection: z75.enum(["left", "right"]).optional(),
17391
17440
  schPinArrangement: schematicPinArrangement.optional(),
17392
17441
  schPinStyle: schematicPinStyle.optional(),
17393
17442
  schPinSpacing: distance20.optional(),
@@ -17397,29 +17446,29 @@ var pinHeaderProps = commonComponentProps.extend({
17397
17446
  expectTypesMatch(true);
17398
17447
 
17399
17448
  // lib/components/netalias.ts
17400
- import { z as z73 } from "zod";
17449
+ import { z as z76 } from "zod";
17401
17450
  import { rotation as rotation3 } from "circuit-json";
17402
- var netAliasProps = z73.object({
17403
- net: z73.string().optional(),
17404
- connection: z73.string().optional(),
17451
+ var netAliasProps = z76.object({
17452
+ net: z76.string().optional(),
17453
+ connection: z76.string().optional(),
17405
17454
  schX: distance.optional(),
17406
17455
  schY: distance.optional(),
17407
17456
  schRotation: rotation3.optional(),
17408
- anchorSide: z73.enum(["left", "top", "right", "bottom"]).optional()
17457
+ anchorSide: z76.enum(["left", "top", "right", "bottom"]).optional()
17409
17458
  });
17410
17459
  expectTypesMatch(true);
17411
17460
 
17412
17461
  // lib/components/netlabel.ts
17413
- import { z as z74 } from "zod";
17462
+ import { z as z77 } from "zod";
17414
17463
  import { rotation as rotation4 } from "circuit-json";
17415
- var netLabelProps = z74.object({
17416
- net: z74.string().optional(),
17417
- connection: z74.string().optional(),
17418
- connectsTo: z74.string().or(z74.array(z74.string())).optional(),
17464
+ var netLabelProps = z77.object({
17465
+ net: z77.string().optional(),
17466
+ connection: z77.string().optional(),
17467
+ connectsTo: z77.string().or(z77.array(z77.string())).optional(),
17419
17468
  schX: distance.optional(),
17420
17469
  schY: distance.optional(),
17421
17470
  schRotation: rotation4.optional(),
17422
- anchorSide: z74.enum(["left", "top", "right", "bottom"]).optional()
17471
+ anchorSide: z77.enum(["left", "top", "right", "bottom"]).optional()
17423
17472
  });
17424
17473
  expectTypesMatch(true);
17425
17474
 
@@ -17434,52 +17483,52 @@ expectTypesMatch(true);
17434
17483
 
17435
17484
  // lib/components/analogsimulation.ts
17436
17485
  import { ms } from "circuit-json";
17437
- import { z as z76 } from "zod";
17438
- var spiceEngine = z76.custom(
17486
+ import { z as z79 } from "zod";
17487
+ var spiceEngine = z79.custom(
17439
17488
  (value) => typeof value === "string"
17440
17489
  );
17441
- var spiceOptions = z76.object({
17442
- method: z76.enum(["trap", "gear"]).optional(),
17443
- reltol: z76.union([z76.number(), z76.string()]).optional(),
17444
- abstol: z76.union([z76.number(), z76.string()]).optional(),
17445
- vntol: z76.union([z76.number(), z76.string()]).optional()
17490
+ var spiceOptions = z79.object({
17491
+ method: z79.enum(["trap", "gear"]).optional(),
17492
+ reltol: z79.union([z79.number(), z79.string()]).optional(),
17493
+ abstol: z79.union([z79.number(), z79.string()]).optional(),
17494
+ vntol: z79.union([z79.number(), z79.string()]).optional()
17446
17495
  });
17447
- var analogSimulationProps = z76.object({
17448
- name: z76.string().optional(),
17449
- simulationType: z76.literal("spice_transient_analysis").default("spice_transient_analysis"),
17496
+ var analogSimulationProps = z79.object({
17497
+ name: z79.string().optional(),
17498
+ simulationType: z79.literal("spice_transient_analysis").default("spice_transient_analysis"),
17450
17499
  duration: ms.optional(),
17451
17500
  startTime: ms.optional(),
17452
17501
  timePerStep: ms.optional(),
17453
17502
  spiceEngine: spiceEngine.optional(),
17454
17503
  spiceOptions: spiceOptions.optional(),
17455
- graphIndependentAxes: z76.boolean().optional()
17504
+ graphIndependentAxes: z79.boolean().optional()
17456
17505
  });
17457
17506
  expectTypesMatch(
17458
17507
  true
17459
17508
  );
17460
17509
 
17461
17510
  // lib/components/autoroutingphase.ts
17462
- import { z as z77 } from "zod";
17463
- var autoroutingPhaseProps = z77.object({
17464
- key: z77.any().optional(),
17465
- name: z77.string().optional(),
17511
+ import { z as z80 } from "zod";
17512
+ var autoroutingPhaseProps = z80.object({
17513
+ key: z80.any().optional(),
17514
+ name: z80.string().optional(),
17466
17515
  autorouter: autorouterProp.optional(),
17467
- phaseIndex: z77.number().optional(),
17516
+ phaseIndex: z80.number().optional(),
17468
17517
  ...routingTolerances.shape,
17469
- region: z77.object({
17470
- shape: z77.literal("rect").optional(),
17471
- minX: z77.number(),
17472
- maxX: z77.number(),
17473
- minY: z77.number(),
17474
- maxY: z77.number()
17518
+ region: z80.object({
17519
+ shape: z80.literal("rect").optional(),
17520
+ minX: z80.number(),
17521
+ maxX: z80.number(),
17522
+ minY: z80.number(),
17523
+ maxY: z80.number()
17475
17524
  }).optional(),
17476
- connection: z77.string().optional(),
17477
- connections: z77.array(z77.string()).optional(),
17478
- reroute: z77.boolean().optional()
17525
+ connection: z80.string().optional(),
17526
+ connections: z80.array(z80.string()).optional(),
17527
+ reroute: z80.boolean().optional()
17479
17528
  }).superRefine((value, ctx) => {
17480
17529
  if (value.reroute !== void 0 && value.region === void 0 && value.connection === void 0 && value.connections === void 0) {
17481
17530
  ctx.addIssue({
17482
- code: z77.ZodIssueCode.custom,
17531
+ code: z80.ZodIssueCode.custom,
17483
17532
  message: "region, connection, or connections is required when reroute is provided",
17484
17533
  path: ["region"]
17485
17534
  });
@@ -17488,15 +17537,15 @@ var autoroutingPhaseProps = z77.object({
17488
17537
  expectTypesMatch(true);
17489
17538
 
17490
17539
  // lib/components/spicemodel.ts
17491
- import { z as z78 } from "zod";
17492
- var spicemodelProps = z78.object({
17493
- source: z78.string(),
17494
- spicePinMapping: z78.record(z78.string(), z78.string()).optional()
17540
+ import { z as z81 } from "zod";
17541
+ var spicemodelProps = z81.object({
17542
+ source: z81.string(),
17543
+ spicePinMapping: z81.record(z81.string(), z81.string()).optional()
17495
17544
  });
17496
17545
  expectTypesMatch(true);
17497
17546
 
17498
17547
  // lib/components/transistor.ts
17499
- import { z as z79 } from "zod";
17548
+ import { z as z82 } from "zod";
17500
17549
  var transistorPinsLabels = [
17501
17550
  "pin1",
17502
17551
  "pin2",
@@ -17509,7 +17558,7 @@ var transistorPinsLabels = [
17509
17558
  "drain"
17510
17559
  ];
17511
17560
  var transistorProps = commonComponentProps.extend({
17512
- type: z79.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
17561
+ type: z82.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
17513
17562
  connections: createConnectionsProp(transistorPinsLabels).optional()
17514
17563
  });
17515
17564
  var transistorPins = [
@@ -17523,7 +17572,7 @@ var transistorPins = [
17523
17572
  expectTypesMatch(true);
17524
17573
 
17525
17574
  // lib/components/mosfet.ts
17526
- import { z as z80 } from "zod";
17575
+ import { z as z83 } from "zod";
17527
17576
  var mosfetPins = [
17528
17577
  "pin1",
17529
17578
  "drain",
@@ -17533,11 +17582,11 @@ var mosfetPins = [
17533
17582
  "gate"
17534
17583
  ];
17535
17584
  var mosfetProps = commonComponentProps.extend({
17536
- channelType: z80.enum(["n", "p"]),
17537
- mosfetMode: z80.enum(["enhancement", "depletion"]),
17538
- symbolDrainSide: z80.enum(["left", "right", "top", "bottom"]).optional(),
17539
- symbolSourceSide: z80.enum(["left", "right", "top", "bottom"]).optional(),
17540
- symbolGateSide: z80.enum(["left", "right", "top", "bottom"]).optional(),
17585
+ channelType: z83.enum(["n", "p"]),
17586
+ mosfetMode: z83.enum(["enhancement", "depletion"]),
17587
+ symbolDrainSide: z83.enum(["left", "right", "top", "bottom"]).optional(),
17588
+ symbolSourceSide: z83.enum(["left", "right", "top", "bottom"]).optional(),
17589
+ symbolGateSide: z83.enum(["left", "right", "top", "bottom"]).optional(),
17541
17590
  connections: createConnectionsProp(mosfetPins).optional()
17542
17591
  });
17543
17592
  expectTypesMatch(true);
@@ -17559,20 +17608,20 @@ expectTypesMatch(true);
17559
17608
 
17560
17609
  // lib/components/inductor.ts
17561
17610
  import { inductance } from "circuit-json";
17562
- import { z as z82 } from "zod";
17611
+ import { z as z85 } from "zod";
17563
17612
  var inductorPins = lrPins;
17564
17613
  var inductorProps = commonComponentProps.extend({
17565
17614
  inductance,
17566
- maxCurrentRating: z82.union([z82.string(), z82.number()]).optional(),
17615
+ maxCurrentRating: z85.union([z85.string(), z85.number()]).optional(),
17567
17616
  schOrientation: schematicOrientation.optional(),
17568
17617
  connections: createConnectionsProp(inductorPins).optional()
17569
17618
  });
17570
17619
  expectTypesMatch(true);
17571
17620
 
17572
17621
  // lib/components/diode.ts
17573
- import { z as z83 } from "zod";
17622
+ import { z as z86 } from "zod";
17574
17623
  var diodePins = lrPolarPins;
17575
- var diodeConnectionKeys = z83.enum([
17624
+ var diodeConnectionKeys = z86.enum([
17576
17625
  "anode",
17577
17626
  "cathode",
17578
17627
  "pin1",
@@ -17580,13 +17629,13 @@ var diodeConnectionKeys = z83.enum([
17580
17629
  "pos",
17581
17630
  "neg"
17582
17631
  ]);
17583
- var connectionTarget3 = z83.string().or(z83.array(z83.string()).readonly()).or(z83.array(z83.string()));
17584
- var connectionsProp2 = z83.record(diodeConnectionKeys, connectionTarget3);
17585
- var diodePinLabelsProp = z83.record(
17586
- z83.enum(diodePins),
17587
- schematicPinLabel.or(z83.array(schematicPinLabel).readonly()).or(z83.array(schematicPinLabel))
17632
+ var connectionTarget3 = z86.string().or(z86.array(z86.string()).readonly()).or(z86.array(z86.string()));
17633
+ var connectionsProp2 = z86.record(diodeConnectionKeys, connectionTarget3);
17634
+ var diodePinLabelsProp = z86.record(
17635
+ z86.enum(diodePins),
17636
+ schematicPinLabel.or(z86.array(schematicPinLabel).readonly()).or(z86.array(schematicPinLabel))
17588
17637
  );
17589
- var diodeVariant = z83.enum([
17638
+ var diodeVariant = z86.enum([
17590
17639
  "standard",
17591
17640
  "schottky",
17592
17641
  "zener",
@@ -17597,12 +17646,12 @@ var diodeVariant = z83.enum([
17597
17646
  var diodeProps = commonComponentProps.extend({
17598
17647
  connections: connectionsProp2.optional(),
17599
17648
  variant: diodeVariant.optional().default("standard"),
17600
- standard: z83.boolean().optional(),
17601
- schottky: z83.boolean().optional(),
17602
- zener: z83.boolean().optional(),
17603
- avalanche: z83.boolean().optional(),
17604
- photo: z83.boolean().optional(),
17605
- tvs: z83.boolean().optional(),
17649
+ standard: z86.boolean().optional(),
17650
+ schottky: z86.boolean().optional(),
17651
+ zener: z86.boolean().optional(),
17652
+ avalanche: z86.boolean().optional(),
17653
+ photo: z86.boolean().optional(),
17654
+ tvs: z86.boolean().optional(),
17606
17655
  schOrientation: schematicOrientation.optional(),
17607
17656
  pinLabels: diodePinLabelsProp.optional()
17608
17657
  }).superRefine((data, ctx) => {
@@ -17616,11 +17665,11 @@ var diodeProps = commonComponentProps.extend({
17616
17665
  ].filter(Boolean).length;
17617
17666
  if (enabledFlags > 1) {
17618
17667
  ctx.addIssue({
17619
- code: z83.ZodIssueCode.custom,
17668
+ code: z86.ZodIssueCode.custom,
17620
17669
  message: "Exactly one diode variant must be enabled",
17621
17670
  path: []
17622
17671
  });
17623
- return z83.INVALID;
17672
+ return z86.INVALID;
17624
17673
  }
17625
17674
  }).transform((data) => {
17626
17675
  const result = {
@@ -17666,34 +17715,34 @@ var diodeProps = commonComponentProps.extend({
17666
17715
  expectTypesMatch(true);
17667
17716
 
17668
17717
  // lib/components/led.ts
17669
- import { z as z84 } from "zod";
17718
+ import { z as z87 } from "zod";
17670
17719
  var ledProps = commonComponentProps.extend({
17671
- color: z84.string().optional(),
17672
- wavelength: z84.string().optional(),
17673
- schDisplayValue: z84.string().optional(),
17720
+ color: z87.string().optional(),
17721
+ wavelength: z87.string().optional(),
17722
+ schDisplayValue: z87.string().optional(),
17674
17723
  schOrientation: schematicOrientation.optional(),
17675
17724
  connections: createConnectionsProp(lrPolarPins).optional(),
17676
- laser: z84.boolean().optional()
17725
+ laser: z87.boolean().optional()
17677
17726
  });
17678
17727
  var ledPins = lrPolarPins;
17679
17728
 
17680
17729
  // lib/components/switch.ts
17681
17730
  import { ms as ms2, frequency as frequency3 } from "circuit-json";
17682
- import { z as z85 } from "zod";
17731
+ import { z as z88 } from "zod";
17683
17732
  var switchProps = commonComponentProps.extend({
17684
- type: z85.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
17685
- isNormallyClosed: z85.boolean().optional().default(false),
17686
- spst: z85.boolean().optional(),
17687
- spdt: z85.boolean().optional(),
17688
- dpst: z85.boolean().optional(),
17689
- dpdt: z85.boolean().optional(),
17733
+ type: z88.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
17734
+ isNormallyClosed: z88.boolean().optional().default(false),
17735
+ spst: z88.boolean().optional(),
17736
+ spdt: z88.boolean().optional(),
17737
+ dpst: z88.boolean().optional(),
17738
+ dpdt: z88.boolean().optional(),
17690
17739
  pinLabels: pinLabelsProp.optional(),
17691
17740
  simSwitchFrequency: frequency3.optional(),
17692
17741
  simCloseAt: ms2.optional(),
17693
17742
  simOpenAt: ms2.optional(),
17694
- simStartClosed: z85.boolean().optional(),
17695
- simStartOpen: z85.boolean().optional(),
17696
- connections: z85.custom().pipe(z85.record(z85.string(), connectionTarget)).optional()
17743
+ simStartClosed: z88.boolean().optional(),
17744
+ simStartOpen: z88.boolean().optional(),
17745
+ connections: z88.custom().pipe(z88.record(z88.string(), connectionTarget)).optional()
17697
17746
  }).transform((props) => {
17698
17747
  const updatedProps = { ...props };
17699
17748
  if (updatedProps.dpdt) {
@@ -17725,33 +17774,33 @@ expectTypesMatch(true);
17725
17774
 
17726
17775
  // lib/components/fabrication-note-text.ts
17727
17776
  import { length as length4 } from "circuit-json";
17728
- import { z as z86 } from "zod";
17777
+ import { z as z89 } from "zod";
17729
17778
  var fabricationNoteTextProps = pcbLayoutProps.extend({
17730
- text: z86.string(),
17731
- anchorAlignment: z86.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
17732
- font: z86.enum(["tscircuit2024"]).optional(),
17779
+ text: z89.string(),
17780
+ anchorAlignment: z89.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
17781
+ font: z89.enum(["tscircuit2024"]).optional(),
17733
17782
  fontSize: length4.optional(),
17734
- color: z86.string().optional()
17783
+ color: z89.string().optional()
17735
17784
  });
17736
17785
  expectTypesMatch(true);
17737
17786
 
17738
17787
  // lib/components/fabrication-note-rect.ts
17739
17788
  import { distance as distance21 } from "circuit-json";
17740
- import { z as z87 } from "zod";
17789
+ import { z as z90 } from "zod";
17741
17790
  var fabricationNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17742
17791
  width: distance21,
17743
17792
  height: distance21,
17744
17793
  strokeWidth: distance21.optional(),
17745
- isFilled: z87.boolean().optional(),
17746
- hasStroke: z87.boolean().optional(),
17747
- isStrokeDashed: z87.boolean().optional(),
17748
- color: z87.string().optional(),
17794
+ isFilled: z90.boolean().optional(),
17795
+ hasStroke: z90.boolean().optional(),
17796
+ isStrokeDashed: z90.boolean().optional(),
17797
+ color: z90.string().optional(),
17749
17798
  cornerRadius: distance21.optional()
17750
17799
  });
17751
17800
 
17752
17801
  // lib/components/fabrication-note-path.ts
17753
17802
  import { length as length5, route_hint_point as route_hint_point3 } from "circuit-json";
17754
- import { z as z88 } from "zod";
17803
+ import { z as z91 } from "zod";
17755
17804
  var fabricationNotePathProps = pcbLayoutProps.omit({
17756
17805
  pcbLeftEdgeX: true,
17757
17806
  pcbRightEdgeX: true,
@@ -17763,15 +17812,15 @@ var fabricationNotePathProps = pcbLayoutProps.omit({
17763
17812
  pcbOffsetY: true,
17764
17813
  pcbRotation: true
17765
17814
  }).extend({
17766
- route: z88.array(route_hint_point3),
17815
+ route: z91.array(route_hint_point3),
17767
17816
  strokeWidth: length5.optional(),
17768
- color: z88.string().optional()
17817
+ color: z91.string().optional()
17769
17818
  });
17770
17819
 
17771
17820
  // lib/components/fabrication-note-dimension.ts
17772
17821
  import { distance as distance22, length as length6 } from "circuit-json";
17773
- import { z as z89 } from "zod";
17774
- var dimensionTarget = z89.union([z89.string(), point]);
17822
+ import { z as z92 } from "zod";
17823
+ var dimensionTarget = z92.union([z92.string(), point]);
17775
17824
  var fabricationNoteDimensionProps = pcbLayoutProps.omit({
17776
17825
  pcbLeftEdgeX: true,
17777
17826
  pcbRightEdgeX: true,
@@ -17785,54 +17834,54 @@ var fabricationNoteDimensionProps = pcbLayoutProps.omit({
17785
17834
  }).extend({
17786
17835
  from: dimensionTarget,
17787
17836
  to: dimensionTarget,
17788
- text: z89.string().optional(),
17837
+ text: z92.string().optional(),
17789
17838
  offset: distance22.optional(),
17790
- font: z89.enum(["tscircuit2024"]).optional(),
17839
+ font: z92.enum(["tscircuit2024"]).optional(),
17791
17840
  fontSize: length6.optional(),
17792
- color: z89.string().optional(),
17841
+ color: z92.string().optional(),
17793
17842
  arrowSize: distance22.optional(),
17794
- units: z89.enum(["in", "mm"]).optional(),
17795
- outerEdgeToEdge: z89.literal(true).optional(),
17796
- centerToCenter: z89.literal(true).optional(),
17797
- innerEdgeToEdge: z89.literal(true).optional()
17843
+ units: z92.enum(["in", "mm"]).optional(),
17844
+ outerEdgeToEdge: z92.literal(true).optional(),
17845
+ centerToCenter: z92.literal(true).optional(),
17846
+ innerEdgeToEdge: z92.literal(true).optional()
17798
17847
  });
17799
17848
  expectTypesMatch(true);
17800
17849
 
17801
17850
  // lib/components/pcb-trace.ts
17802
17851
  import { distance as distance23, route_hint_point as route_hint_point4 } from "circuit-json";
17803
- import { z as z90 } from "zod";
17804
- var pcbTraceProps = z90.object({
17805
- layer: z90.string().optional(),
17852
+ import { z as z93 } from "zod";
17853
+ var pcbTraceProps = z93.object({
17854
+ layer: z93.string().optional(),
17806
17855
  thickness: distance23.optional(),
17807
- route: z90.array(route_hint_point4)
17856
+ route: z93.array(route_hint_point4)
17808
17857
  });
17809
17858
 
17810
17859
  // lib/components/via.ts
17811
17860
  import { distance as distance24, layer_ref as layer_ref6 } from "circuit-json";
17812
- import { z as z91 } from "zod";
17861
+ import { z as z94 } from "zod";
17813
17862
  var viaProps = commonLayoutProps.extend({
17814
- name: z91.string().optional(),
17863
+ name: z94.string().optional(),
17815
17864
  fromLayer: layer_ref6.optional(),
17816
17865
  toLayer: layer_ref6.optional(),
17817
17866
  holeDiameter: distance24.optional(),
17818
17867
  outerDiameter: distance24.optional(),
17819
- layers: z91.array(layer_ref6).optional(),
17820
- connectsTo: z91.string().or(z91.array(z91.string())).optional(),
17821
- netIsAssignable: z91.boolean().optional()
17868
+ layers: z94.array(layer_ref6).optional(),
17869
+ connectsTo: z94.string().or(z94.array(z94.string())).optional(),
17870
+ netIsAssignable: z94.boolean().optional()
17822
17871
  });
17823
17872
  expectTypesMatch(true);
17824
17873
 
17825
17874
  // lib/components/testpoint.ts
17826
17875
  import { distance as distance25 } from "circuit-json";
17827
- import { z as z92 } from "zod";
17876
+ import { z as z95 } from "zod";
17828
17877
  var testpointPins = ["pin1"];
17829
- var testpointConnectionsProp = z92.object({
17878
+ var testpointConnectionsProp = z95.object({
17830
17879
  pin1: connectionTarget
17831
17880
  }).strict();
17832
17881
  var testpointProps = commonComponentProps.extend({
17833
17882
  connections: testpointConnectionsProp.optional(),
17834
- footprintVariant: z92.enum(["pad", "through_hole"]).optional(),
17835
- padShape: z92.enum(["rect", "circle"]).optional().default("circle"),
17883
+ footprintVariant: z95.enum(["pad", "through_hole"]).optional(),
17884
+ padShape: z95.enum(["rect", "circle"]).optional().default("circle"),
17836
17885
  padDiameter: distance25.optional(),
17837
17886
  holeDiameter: distance25.optional(),
17838
17887
  width: distance25.optional(),
@@ -17844,45 +17893,45 @@ var testpointProps = commonComponentProps.extend({
17844
17893
  expectTypesMatch(true);
17845
17894
 
17846
17895
  // lib/components/breakoutpoint.ts
17847
- import { z as z93 } from "zod";
17896
+ import { z as z96 } from "zod";
17848
17897
  var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
17849
- connection: z93.string()
17898
+ connection: z96.string()
17850
17899
  });
17851
17900
  expectTypesMatch(true);
17852
17901
 
17853
17902
  // lib/components/pcb-keepout.ts
17854
17903
  import { distance as distance26, layer_ref as layer_ref7 } from "circuit-json";
17855
- import { z as z94 } from "zod";
17856
- var pcbKeepoutProps = z94.union([
17904
+ import { z as z97 } from "zod";
17905
+ var pcbKeepoutProps = z97.union([
17857
17906
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
17858
- shape: z94.literal("circle"),
17907
+ shape: z97.literal("circle"),
17859
17908
  radius: distance26,
17860
- layers: z94.array(layer_ref7).optional()
17909
+ layers: z97.array(layer_ref7).optional()
17861
17910
  }),
17862
17911
  pcbLayoutProps.extend({
17863
- shape: z94.literal("rect"),
17912
+ shape: z97.literal("rect"),
17864
17913
  width: distance26,
17865
17914
  height: distance26,
17866
- layers: z94.array(layer_ref7).optional()
17915
+ layers: z97.array(layer_ref7).optional()
17867
17916
  })
17868
17917
  ]);
17869
17918
 
17870
17919
  // lib/components/courtyard-rect.ts
17871
17920
  import { distance as distance27 } from "circuit-json";
17872
- import { z as z95 } from "zod";
17921
+ import { z as z98 } from "zod";
17873
17922
  var courtyardRectProps = pcbLayoutProps.extend({
17874
17923
  width: distance27,
17875
17924
  height: distance27,
17876
17925
  strokeWidth: distance27.optional(),
17877
- isFilled: z95.boolean().optional(),
17878
- hasStroke: z95.boolean().optional(),
17879
- isStrokeDashed: z95.boolean().optional(),
17880
- color: z95.string().optional()
17926
+ isFilled: z98.boolean().optional(),
17927
+ hasStroke: z98.boolean().optional(),
17928
+ isStrokeDashed: z98.boolean().optional(),
17929
+ color: z98.string().optional()
17881
17930
  });
17882
17931
 
17883
17932
  // lib/components/courtyard-outline.ts
17884
17933
  import { length as length7 } from "circuit-json";
17885
- import { z as z96 } from "zod";
17934
+ import { z as z99 } from "zod";
17886
17935
  var courtyardOutlineProps = pcbLayoutProps.omit({
17887
17936
  pcbLeftEdgeX: true,
17888
17937
  pcbRightEdgeX: true,
@@ -17894,11 +17943,11 @@ var courtyardOutlineProps = pcbLayoutProps.omit({
17894
17943
  pcbOffsetY: true,
17895
17944
  pcbRotation: true
17896
17945
  }).extend({
17897
- outline: z96.array(point),
17946
+ outline: z99.array(point),
17898
17947
  strokeWidth: length7.optional(),
17899
- isClosed: z96.boolean().optional(),
17900
- isStrokeDashed: z96.boolean().optional(),
17901
- color: z96.string().optional()
17948
+ isClosed: z99.boolean().optional(),
17949
+ isStrokeDashed: z99.boolean().optional(),
17950
+ color: z99.string().optional()
17902
17951
  });
17903
17952
 
17904
17953
  // lib/components/courtyard-circle.ts
@@ -17918,35 +17967,35 @@ var courtyardPillProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
17918
17967
  });
17919
17968
 
17920
17969
  // lib/components/copper-pour.ts
17921
- import { z as z99 } from "zod";
17970
+ import { z as z102 } from "zod";
17922
17971
  import { layer_ref as layer_ref8 } from "circuit-json";
17923
- var copperPourProps = z99.object({
17924
- name: z99.string().optional(),
17972
+ var copperPourProps = z102.object({
17973
+ name: z102.string().optional(),
17925
17974
  layer: layer_ref8,
17926
- connectsTo: z99.string(),
17927
- unbroken: z99.boolean().optional(),
17975
+ connectsTo: z102.string(),
17976
+ unbroken: z102.boolean().optional(),
17928
17977
  padMargin: distance.optional(),
17929
17978
  traceMargin: distance.optional(),
17930
17979
  clearance: distance.optional(),
17931
17980
  boardEdgeMargin: distance.optional(),
17932
17981
  cutoutMargin: distance.optional(),
17933
- outline: z99.array(point).optional(),
17934
- coveredWithSolderMask: z99.boolean().optional().default(true)
17982
+ outline: z102.array(point).optional(),
17983
+ coveredWithSolderMask: z102.boolean().optional().default(true)
17935
17984
  });
17936
17985
  expectTypesMatch(true);
17937
17986
 
17938
17987
  // lib/components/cadassembly.ts
17939
17988
  import { layer_ref as layer_ref9 } from "circuit-json";
17940
- import { z as z100 } from "zod";
17941
- var cadassemblyProps = z100.object({
17989
+ import { z as z103 } from "zod";
17990
+ var cadassemblyProps = z103.object({
17942
17991
  originalLayer: layer_ref9.default("top").optional(),
17943
- children: z100.any().optional()
17992
+ children: z103.any().optional()
17944
17993
  });
17945
17994
  expectTypesMatch(true);
17946
17995
 
17947
17996
  // lib/components/cadmodel.ts
17948
- import { z as z101 } from "zod";
17949
- var pcbPosition = z101.object({
17997
+ import { z as z104 } from "zod";
17998
+ var pcbPosition = z104.object({
17950
17999
  pcbX: pcbCoordinate.optional(),
17951
18000
  pcbY: pcbCoordinate.optional(),
17952
18001
  pcbLeftEdgeX: pcbCoordinate.optional(),
@@ -17963,7 +18012,7 @@ var cadModelBaseWithUrl = cadModelBase.extend({
17963
18012
  });
17964
18013
  var cadModelObject = cadModelBaseWithUrl.merge(pcbPosition);
17965
18014
  expectTypesMatch(true);
17966
- var cadmodelProps = z101.union([z101.null(), url, cadModelObject]);
18015
+ var cadmodelProps = z104.union([z104.null(), url, cadModelObject]);
17967
18016
 
17968
18017
  // lib/components/power-source.ts
17969
18018
  import { voltage as voltage3 } from "circuit-json";
@@ -17973,9 +18022,9 @@ var powerSourceProps = commonComponentProps.extend({
17973
18022
 
17974
18023
  // lib/components/voltagesource.ts
17975
18024
  import { frequency as frequency4, ms as ms3, rotation as rotation5, voltage as voltage4 } from "circuit-json";
17976
- import { z as z102 } from "zod";
18025
+ import { z as z105 } from "zod";
17977
18026
  var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
17978
- var percentage = z102.union([z102.string(), z102.number()]).transform((val) => {
18027
+ var percentage = z105.union([z105.string(), z105.number()]).transform((val) => {
17979
18028
  if (typeof val === "string") {
17980
18029
  if (val.endsWith("%")) {
17981
18030
  return parseFloat(val.slice(0, -1)) / 100;
@@ -17984,13 +18033,13 @@ var percentage = z102.union([z102.string(), z102.number()]).transform((val) => {
17984
18033
  }
17985
18034
  return val;
17986
18035
  }).pipe(
17987
- z102.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
18036
+ z105.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
17988
18037
  );
17989
18038
  var voltageSourceProps = commonComponentProps.extend({
17990
18039
  voltage: voltage4.optional(),
17991
18040
  frequency: frequency4.optional(),
17992
18041
  peakToPeakVoltage: voltage4.optional(),
17993
- waveShape: z102.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
18042
+ waveShape: z105.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
17994
18043
  phase: rotation5.optional(),
17995
18044
  dutyCycle: percentage.optional(),
17996
18045
  pulseDelay: ms3.optional(),
@@ -18005,9 +18054,9 @@ expectTypesMatch(true);
18005
18054
 
18006
18055
  // lib/components/currentsource.ts
18007
18056
  import { frequency as frequency5, rotation as rotation6, current } from "circuit-json";
18008
- import { z as z103 } from "zod";
18057
+ import { z as z106 } from "zod";
18009
18058
  var currentSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
18010
- var percentage2 = z103.union([z103.string(), z103.number()]).transform((val) => {
18059
+ var percentage2 = z106.union([z106.string(), z106.number()]).transform((val) => {
18011
18060
  if (typeof val === "string") {
18012
18061
  if (val.endsWith("%")) {
18013
18062
  return parseFloat(val.slice(0, -1)) / 100;
@@ -18016,13 +18065,13 @@ var percentage2 = z103.union([z103.string(), z103.number()]).transform((val) =>
18016
18065
  }
18017
18066
  return val;
18018
18067
  }).pipe(
18019
- z103.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
18068
+ z106.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
18020
18069
  );
18021
18070
  var currentSourceProps = commonComponentProps.extend({
18022
18071
  current: current.optional(),
18023
18072
  frequency: frequency5.optional(),
18024
18073
  peakToPeakCurrent: current.optional(),
18025
- waveShape: z103.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
18074
+ waveShape: z106.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
18026
18075
  phase: rotation6.optional(),
18027
18076
  dutyCycle: percentage2.optional(),
18028
18077
  connections: createConnectionsProp(currentSourcePinLabels).optional()
@@ -18031,21 +18080,21 @@ var currentSourcePins = lrPolarPins;
18031
18080
  expectTypesMatch(true);
18032
18081
 
18033
18082
  // lib/components/voltageprobe.ts
18034
- import { z as z104 } from "zod";
18083
+ import { z as z107 } from "zod";
18035
18084
  var voltageProbeProps = commonComponentProps.omit({ name: true }).extend({
18036
- name: z104.string().optional(),
18037
- connectsTo: z104.string(),
18038
- referenceTo: z104.string().optional(),
18039
- color: z104.string().optional(),
18040
- graphDisplayName: z104.string().optional(),
18041
- graphCenter: z104.number().optional(),
18042
- graphVerticalOffset: z104.number().or(z104.string()).optional(),
18043
- graphVoltagePerDiv: z104.number().or(z104.string()).optional()
18085
+ name: z107.string().optional(),
18086
+ connectsTo: z107.string(),
18087
+ referenceTo: z107.string().optional(),
18088
+ color: z107.string().optional(),
18089
+ graphDisplayName: z107.string().optional(),
18090
+ graphCenter: z107.number().optional(),
18091
+ graphVerticalOffset: z107.number().or(z107.string()).optional(),
18092
+ graphVoltagePerDiv: z107.number().or(z107.string()).optional()
18044
18093
  });
18045
18094
  expectTypesMatch(true);
18046
18095
 
18047
18096
  // lib/components/ammeter.ts
18048
- import { z as z105 } from "zod";
18097
+ import { z as z108 } from "zod";
18049
18098
  var ammeterPinLabels = ["pin1", "pin2", "pos", "neg"];
18050
18099
  var hasAmmeterConnectionPair = (connections) => {
18051
18100
  return connections.pos !== void 0 && connections.neg !== void 0 || connections.pin1 !== void 0 && connections.pin2 !== void 0;
@@ -18055,57 +18104,57 @@ var ammeterProps = commonComponentProps.extend({
18055
18104
  hasAmmeterConnectionPair,
18056
18105
  "Ammeter connections must include either pos/neg or pin1/pin2"
18057
18106
  ),
18058
- color: z105.string().optional(),
18059
- graphDisplayName: z105.string().optional(),
18060
- graphCenter: z105.number().optional(),
18061
- graphVerticalOffset: z105.number().or(z105.string()).optional(),
18062
- graphCurrentPerDiv: z105.number().or(z105.string()).optional()
18107
+ color: z108.string().optional(),
18108
+ graphDisplayName: z108.string().optional(),
18109
+ graphCenter: z108.number().optional(),
18110
+ graphVerticalOffset: z108.number().or(z108.string()).optional(),
18111
+ graphCurrentPerDiv: z108.number().or(z108.string()).optional()
18063
18112
  });
18064
18113
  var ammeterPins = ammeterPinLabels;
18065
18114
  expectTypesMatch(true);
18066
18115
 
18067
18116
  // lib/components/schematic-arc.ts
18068
18117
  import { distance as distance30, point as point5, rotation as rotation7 } from "circuit-json";
18069
- import { z as z106 } from "zod";
18070
- var schematicArcProps = z106.object({
18118
+ import { z as z109 } from "zod";
18119
+ var schematicArcProps = z109.object({
18071
18120
  center: point5,
18072
18121
  radius: distance30,
18073
18122
  startAngleDegrees: rotation7,
18074
18123
  endAngleDegrees: rotation7,
18075
- direction: z106.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
18124
+ direction: z109.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
18076
18125
  strokeWidth: distance30.optional(),
18077
- color: z106.string().optional(),
18078
- isDashed: z106.boolean().optional().default(false)
18126
+ color: z109.string().optional(),
18127
+ isDashed: z109.boolean().optional().default(false)
18079
18128
  });
18080
18129
  expectTypesMatch(true);
18081
18130
 
18082
18131
  // lib/components/toolingrail.ts
18083
- import { z as z107 } from "zod";
18084
- var toolingrailProps = z107.object({
18085
- children: z107.any().optional()
18132
+ import { z as z110 } from "zod";
18133
+ var toolingrailProps = z110.object({
18134
+ children: z110.any().optional()
18086
18135
  });
18087
18136
  expectTypesMatch(true);
18088
18137
 
18089
18138
  // lib/components/schematic-box.ts
18090
18139
  import { distance as distance31 } from "circuit-json";
18091
- import { z as z108 } from "zod";
18092
- var schematicBoxProps = z108.object({
18140
+ import { z as z111 } from "zod";
18141
+ var schematicBoxProps = z111.object({
18093
18142
  schX: distance31.optional(),
18094
18143
  schY: distance31.optional(),
18095
18144
  width: distance31.optional(),
18096
18145
  height: distance31.optional(),
18097
- overlay: z108.array(z108.string()).optional(),
18146
+ overlay: z111.array(z111.string()).optional(),
18098
18147
  padding: distance31.optional(),
18099
18148
  paddingLeft: distance31.optional(),
18100
18149
  paddingRight: distance31.optional(),
18101
18150
  paddingTop: distance31.optional(),
18102
18151
  paddingBottom: distance31.optional(),
18103
- title: z108.string().optional(),
18152
+ title: z111.string().optional(),
18104
18153
  titleAlignment: ninePointAnchor.default("top_left"),
18105
- titleColor: z108.string().optional(),
18154
+ titleColor: z111.string().optional(),
18106
18155
  titleFontSize: distance31.optional(),
18107
- titleInside: z108.boolean().default(false),
18108
- strokeStyle: z108.enum(["solid", "dashed"]).default("solid")
18156
+ titleInside: z111.boolean().default(false),
18157
+ strokeStyle: z111.enum(["solid", "dashed"]).default("solid")
18109
18158
  }).refine(
18110
18159
  (elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
18111
18160
  {
@@ -18121,15 +18170,15 @@ expectTypesMatch(true);
18121
18170
 
18122
18171
  // lib/components/schematic-circle.ts
18123
18172
  import { distance as distance32, point as point6 } from "circuit-json";
18124
- import { z as z109 } from "zod";
18125
- var schematicCircleProps = z109.object({
18173
+ import { z as z112 } from "zod";
18174
+ var schematicCircleProps = z112.object({
18126
18175
  center: point6,
18127
18176
  radius: distance32,
18128
18177
  strokeWidth: distance32.optional(),
18129
- color: z109.string().optional(),
18130
- isFilled: z109.boolean().optional().default(false),
18131
- fillColor: z109.string().optional(),
18132
- isDashed: z109.boolean().optional().default(false)
18178
+ color: z112.string().optional(),
18179
+ isFilled: z112.boolean().optional().default(false),
18180
+ fillColor: z112.string().optional(),
18181
+ isDashed: z112.boolean().optional().default(false)
18133
18182
  });
18134
18183
  expectTypesMatch(
18135
18184
  true
@@ -18137,32 +18186,32 @@ expectTypesMatch(
18137
18186
 
18138
18187
  // lib/components/schematic-rect.ts
18139
18188
  import { distance as distance33, rotation as rotation8 } from "circuit-json";
18140
- import { z as z110 } from "zod";
18141
- var schematicRectProps = z110.object({
18189
+ import { z as z113 } from "zod";
18190
+ var schematicRectProps = z113.object({
18142
18191
  schX: distance33.optional(),
18143
18192
  schY: distance33.optional(),
18144
18193
  width: distance33,
18145
18194
  height: distance33,
18146
18195
  rotation: rotation8.default(0),
18147
18196
  strokeWidth: distance33.optional(),
18148
- color: z110.string().optional(),
18149
- isFilled: z110.boolean().optional().default(false),
18150
- fillColor: z110.string().optional(),
18151
- isDashed: z110.boolean().optional().default(false)
18197
+ color: z113.string().optional(),
18198
+ isFilled: z113.boolean().optional().default(false),
18199
+ fillColor: z113.string().optional(),
18200
+ isDashed: z113.boolean().optional().default(false)
18152
18201
  });
18153
18202
  expectTypesMatch(true);
18154
18203
 
18155
18204
  // lib/components/schematic-line.ts
18156
18205
  import { distance as distance34 } from "circuit-json";
18157
- import { z as z111 } from "zod";
18158
- var schematicLineProps = z111.object({
18206
+ import { z as z114 } from "zod";
18207
+ var schematicLineProps = z114.object({
18159
18208
  x1: distance34,
18160
18209
  y1: distance34,
18161
18210
  x2: distance34,
18162
18211
  y2: distance34,
18163
18212
  strokeWidth: distance34.optional(),
18164
- color: z111.string().optional(),
18165
- isDashed: z111.boolean().optional().default(false),
18213
+ color: z114.string().optional(),
18214
+ isDashed: z114.boolean().optional().default(false),
18166
18215
  dashLength: distance34.optional(),
18167
18216
  dashGap: distance34.optional()
18168
18217
  });
@@ -18170,11 +18219,11 @@ expectTypesMatch(true);
18170
18219
 
18171
18220
  // lib/components/schematic-text.ts
18172
18221
  import { distance as distance35, rotation as rotation9 } from "circuit-json";
18173
- import { z as z113 } from "zod";
18222
+ import { z as z116 } from "zod";
18174
18223
 
18175
18224
  // lib/common/fivePointAnchor.ts
18176
- import { z as z112 } from "zod";
18177
- var fivePointAnchor = z112.enum([
18225
+ import { z as z115 } from "zod";
18226
+ var fivePointAnchor = z115.enum([
18178
18227
  "center",
18179
18228
  "left",
18180
18229
  "right",
@@ -18183,39 +18232,39 @@ var fivePointAnchor = z112.enum([
18183
18232
  ]);
18184
18233
 
18185
18234
  // lib/components/schematic-text.ts
18186
- var schematicTextProps = z113.object({
18235
+ var schematicTextProps = z116.object({
18187
18236
  schX: distance35.optional(),
18188
18237
  schY: distance35.optional(),
18189
- text: z113.string(),
18190
- fontSize: z113.number().default(1),
18191
- anchor: z113.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
18192
- color: z113.string().default("#000000"),
18238
+ text: z116.string(),
18239
+ fontSize: z116.number().default(1),
18240
+ anchor: z116.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
18241
+ color: z116.string().default("#000000"),
18193
18242
  schRotation: rotation9.default(0)
18194
18243
  });
18195
18244
  expectTypesMatch(true);
18196
18245
 
18197
18246
  // lib/components/schematic-path.ts
18198
18247
  import { distance as distance36, point as point7 } from "circuit-json";
18199
- import { z as z114 } from "zod";
18200
- var schematicPathProps = z114.object({
18201
- points: z114.array(point7).optional(),
18202
- svgPath: z114.string().optional(),
18248
+ import { z as z117 } from "zod";
18249
+ var schematicPathProps = z117.object({
18250
+ points: z117.array(point7).optional(),
18251
+ svgPath: z117.string().optional(),
18203
18252
  strokeWidth: distance36.optional(),
18204
- strokeColor: z114.string().optional(),
18253
+ strokeColor: z117.string().optional(),
18205
18254
  dashLength: distance36.optional(),
18206
18255
  dashGap: distance36.optional(),
18207
- isFilled: z114.boolean().optional().default(false),
18208
- fillColor: z114.string().optional()
18256
+ isFilled: z117.boolean().optional().default(false),
18257
+ fillColor: z117.string().optional()
18209
18258
  });
18210
18259
  expectTypesMatch(true);
18211
18260
 
18212
18261
  // lib/components/schematic-table.ts
18213
18262
  import { distance as distance37 } from "circuit-json";
18214
- import { z as z115 } from "zod";
18215
- var schematicTableProps = z115.object({
18263
+ import { z as z118 } from "zod";
18264
+ var schematicTableProps = z118.object({
18216
18265
  schX: distance37.optional(),
18217
18266
  schY: distance37.optional(),
18218
- children: z115.any().optional(),
18267
+ children: z118.any().optional(),
18219
18268
  cellPadding: distance37.optional(),
18220
18269
  borderWidth: distance37.optional(),
18221
18270
  anchor: ninePointAnchor.optional(),
@@ -18225,34 +18274,34 @@ expectTypesMatch(true);
18225
18274
 
18226
18275
  // lib/components/schematic-row.ts
18227
18276
  import { distance as distance38 } from "circuit-json";
18228
- import { z as z116 } from "zod";
18229
- var schematicRowProps = z116.object({
18230
- children: z116.any().optional(),
18277
+ import { z as z119 } from "zod";
18278
+ var schematicRowProps = z119.object({
18279
+ children: z119.any().optional(),
18231
18280
  height: distance38.optional()
18232
18281
  });
18233
18282
  expectTypesMatch(true);
18234
18283
 
18235
18284
  // lib/components/schematic-cell.ts
18236
18285
  import { distance as distance39 } from "circuit-json";
18237
- import { z as z117 } from "zod";
18238
- var schematicCellProps = z117.object({
18239
- children: z117.string().optional(),
18240
- horizontalAlign: z117.enum(["left", "center", "right"]).optional(),
18241
- verticalAlign: z117.enum(["top", "middle", "bottom"]).optional(),
18286
+ import { z as z120 } from "zod";
18287
+ var schematicCellProps = z120.object({
18288
+ children: z120.string().optional(),
18289
+ horizontalAlign: z120.enum(["left", "center", "right"]).optional(),
18290
+ verticalAlign: z120.enum(["top", "middle", "bottom"]).optional(),
18242
18291
  fontSize: distance39.optional(),
18243
- rowSpan: z117.number().optional(),
18244
- colSpan: z117.number().optional(),
18292
+ rowSpan: z120.number().optional(),
18293
+ colSpan: z120.number().optional(),
18245
18294
  width: distance39.optional(),
18246
- text: z117.string().optional()
18295
+ text: z120.string().optional()
18247
18296
  });
18248
18297
  expectTypesMatch(true);
18249
18298
 
18250
18299
  // lib/components/schematic-section.ts
18251
18300
  import { distance as distance40 } from "circuit-json";
18252
- import { z as z118 } from "zod";
18253
- var schematicSectionProps = z118.object({
18254
- displayName: z118.string().optional(),
18255
- name: z118.string(),
18301
+ import { z as z121 } from "zod";
18302
+ var schematicSectionProps = z121.object({
18303
+ displayName: z121.string().optional(),
18304
+ name: z121.string(),
18256
18305
  sectionTitleFontSize: distance40.optional()
18257
18306
  });
18258
18307
  expectTypesMatch(
@@ -18260,51 +18309,51 @@ expectTypesMatch(
18260
18309
  );
18261
18310
 
18262
18311
  // lib/components/schematic-sheet.ts
18263
- import { z as z119 } from "zod";
18264
- var schematicSheetProps = z119.object({
18265
- name: z119.string(),
18266
- displayName: z119.string(),
18267
- sheetIndex: z119.number().optional(),
18268
- children: z119.any().optional()
18312
+ import { z as z122 } from "zod";
18313
+ var schematicSheetProps = z122.object({
18314
+ name: z122.string(),
18315
+ displayName: z122.string(),
18316
+ sheetIndex: z122.number().optional(),
18317
+ children: z122.any().optional()
18269
18318
  });
18270
18319
  expectTypesMatch(true);
18271
18320
 
18272
18321
  // lib/components/copper-text.ts
18273
18322
  import { layer_ref as layer_ref10, length as length8 } from "circuit-json";
18274
- import { z as z120 } from "zod";
18323
+ import { z as z123 } from "zod";
18275
18324
  var copperTextProps = pcbLayoutProps.extend({
18276
- text: z120.string(),
18325
+ text: z123.string(),
18277
18326
  anchorAlignment: ninePointAnchor.default("center"),
18278
- font: z120.enum(["tscircuit2024"]).optional(),
18327
+ font: z123.enum(["tscircuit2024"]).optional(),
18279
18328
  fontSize: length8.optional(),
18280
- layers: z120.array(layer_ref10).optional(),
18281
- knockout: z120.boolean().optional(),
18282
- mirrored: z120.boolean().optional()
18329
+ layers: z123.array(layer_ref10).optional(),
18330
+ knockout: z123.boolean().optional(),
18331
+ mirrored: z123.boolean().optional()
18283
18332
  });
18284
18333
 
18285
18334
  // lib/components/silkscreen-text.ts
18286
18335
  import { layer_ref as layer_ref11, length as length9 } from "circuit-json";
18287
- import { z as z121 } from "zod";
18336
+ import { z as z124 } from "zod";
18288
18337
  var silkscreenTextProps = pcbLayoutProps.extend({
18289
- text: z121.string(),
18338
+ text: z124.string(),
18290
18339
  anchorAlignment: ninePointAnchor.default("center"),
18291
- font: z121.enum(["tscircuit2024"]).optional(),
18340
+ font: z124.enum(["tscircuit2024"]).optional(),
18292
18341
  fontSize: length9.optional(),
18293
18342
  /**
18294
18343
  * If true, text will knock out underlying silkscreen
18295
18344
  */
18296
- isKnockout: z121.boolean().optional(),
18345
+ isKnockout: z124.boolean().optional(),
18297
18346
  knockoutPadding: length9.optional(),
18298
18347
  knockoutPaddingLeft: length9.optional(),
18299
18348
  knockoutPaddingRight: length9.optional(),
18300
18349
  knockoutPaddingTop: length9.optional(),
18301
18350
  knockoutPaddingBottom: length9.optional(),
18302
- layers: z121.array(layer_ref11).optional()
18351
+ layers: z124.array(layer_ref11).optional()
18303
18352
  });
18304
18353
 
18305
18354
  // lib/components/silkscreen-path.ts
18306
18355
  import { length as length10, route_hint_point as route_hint_point5 } from "circuit-json";
18307
- import { z as z122 } from "zod";
18356
+ import { z as z125 } from "zod";
18308
18357
  var silkscreenPathProps = pcbLayoutProps.omit({
18309
18358
  pcbLeftEdgeX: true,
18310
18359
  pcbRightEdgeX: true,
@@ -18316,7 +18365,7 @@ var silkscreenPathProps = pcbLayoutProps.omit({
18316
18365
  pcbOffsetY: true,
18317
18366
  pcbRotation: true
18318
18367
  }).extend({
18319
- route: z122.array(route_hint_point5),
18368
+ route: z125.array(route_hint_point5),
18320
18369
  strokeWidth: length10.optional()
18321
18370
  });
18322
18371
 
@@ -18338,10 +18387,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({
18338
18387
 
18339
18388
  // lib/components/silkscreen-rect.ts
18340
18389
  import { distance as distance42 } from "circuit-json";
18341
- import { z as z123 } from "zod";
18390
+ import { z as z126 } from "zod";
18342
18391
  var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
18343
- filled: z123.boolean().default(true).optional(),
18344
- stroke: z123.enum(["dashed", "solid", "none"]).optional(),
18392
+ filled: z126.boolean().default(true).optional(),
18393
+ stroke: z126.enum(["dashed", "solid", "none"]).optional(),
18345
18394
  strokeWidth: distance42.optional(),
18346
18395
  width: distance42,
18347
18396
  height: distance42,
@@ -18350,10 +18399,10 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
18350
18399
 
18351
18400
  // lib/components/silkscreen-circle.ts
18352
18401
  import { distance as distance43 } from "circuit-json";
18353
- import { z as z124 } from "zod";
18402
+ import { z as z127 } from "zod";
18354
18403
  var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
18355
- isFilled: z124.boolean().optional(),
18356
- isOutline: z124.boolean().optional(),
18404
+ isFilled: z127.boolean().optional(),
18405
+ isOutline: z127.boolean().optional(),
18357
18406
  strokeWidth: distance43.optional(),
18358
18407
  radius: distance43
18359
18408
  });
@@ -18371,63 +18420,63 @@ expectTypesMatch(true);
18371
18420
 
18372
18421
  // lib/components/trace-hint.ts
18373
18422
  import { distance as distance44, layer_ref as layer_ref12, route_hint_point as route_hint_point6 } from "circuit-json";
18374
- import { z as z126 } from "zod";
18375
- var routeHintPointProps = z126.object({
18423
+ import { z as z129 } from "zod";
18424
+ var routeHintPointProps = z129.object({
18376
18425
  x: distance44,
18377
18426
  y: distance44,
18378
- via: z126.boolean().optional(),
18427
+ via: z129.boolean().optional(),
18379
18428
  toLayer: layer_ref12.optional()
18380
18429
  });
18381
- var traceHintProps = z126.object({
18382
- for: z126.string().optional().describe(
18430
+ var traceHintProps = z129.object({
18431
+ for: z129.string().optional().describe(
18383
18432
  "Selector for the port you're targeting, not required if you're inside a trace"
18384
18433
  ),
18385
- order: z126.number().optional(),
18434
+ order: z129.number().optional(),
18386
18435
  offset: route_hint_point6.or(routeHintPointProps).optional(),
18387
- offsets: z126.array(route_hint_point6).or(z126.array(routeHintPointProps)).optional(),
18388
- traceWidth: z126.number().optional()
18436
+ offsets: z129.array(route_hint_point6).or(z129.array(routeHintPointProps)).optional(),
18437
+ traceWidth: z129.number().optional()
18389
18438
  });
18390
18439
 
18391
18440
  // lib/components/port.ts
18392
- import { z as z127 } from "zod";
18441
+ import { z as z130 } from "zod";
18393
18442
  var portProps = commonLayoutProps.extend({
18394
- name: z127.string().optional(),
18395
- pinNumber: z127.number().optional(),
18396
- schStemLength: z127.number().optional(),
18397
- aliases: z127.array(z127.string()).optional(),
18398
- layer: z127.string().optional(),
18399
- layers: z127.array(z127.string()).optional(),
18400
- schX: z127.number().optional(),
18401
- schY: z127.number().optional(),
18443
+ name: z130.string().optional(),
18444
+ pinNumber: z130.number().optional(),
18445
+ schStemLength: z130.number().optional(),
18446
+ aliases: z130.array(z130.string()).optional(),
18447
+ layer: z130.string().optional(),
18448
+ layers: z130.array(z130.string()).optional(),
18449
+ schX: z130.number().optional(),
18450
+ schY: z130.number().optional(),
18402
18451
  direction: direction.optional(),
18403
- connectsTo: z127.string().or(z127.array(z127.string())).optional(),
18452
+ connectsTo: z130.string().or(z130.array(z130.string())).optional(),
18404
18453
  kicadPinMetadata: kicadPinMetadata.optional(),
18405
- hasInversionCircle: z127.boolean().optional()
18454
+ hasInversionCircle: z130.boolean().optional()
18406
18455
  });
18407
18456
 
18408
18457
  // lib/components/pcb-note-text.ts
18409
18458
  import { length as length11 } from "circuit-json";
18410
- import { z as z128 } from "zod";
18459
+ import { z as z131 } from "zod";
18411
18460
  var pcbNoteTextProps = pcbLayoutProps.extend({
18412
- text: z128.string(),
18413
- anchorAlignment: z128.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
18414
- font: z128.enum(["tscircuit2024"]).optional(),
18461
+ text: z131.string(),
18462
+ anchorAlignment: z131.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
18463
+ font: z131.enum(["tscircuit2024"]).optional(),
18415
18464
  fontSize: length11.optional(),
18416
- color: z128.string().optional()
18465
+ color: z131.string().optional()
18417
18466
  });
18418
18467
  expectTypesMatch(true);
18419
18468
 
18420
18469
  // lib/components/pcb-note-rect.ts
18421
18470
  import { distance as distance45 } from "circuit-json";
18422
- import { z as z129 } from "zod";
18471
+ import { z as z132 } from "zod";
18423
18472
  var pcbNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
18424
18473
  width: distance45,
18425
18474
  height: distance45,
18426
18475
  strokeWidth: distance45.optional(),
18427
- isFilled: z129.boolean().optional(),
18428
- hasStroke: z129.boolean().optional(),
18429
- isStrokeDashed: z129.boolean().optional(),
18430
- color: z129.string().optional(),
18476
+ isFilled: z132.boolean().optional(),
18477
+ hasStroke: z132.boolean().optional(),
18478
+ isStrokeDashed: z132.boolean().optional(),
18479
+ color: z132.string().optional(),
18431
18480
  cornerRadius: distance45.optional()
18432
18481
  });
18433
18482
  expectTypesMatch(true);
@@ -18437,7 +18486,7 @@ import {
18437
18486
  length as length12,
18438
18487
  route_hint_point as route_hint_point7
18439
18488
  } from "circuit-json";
18440
- import { z as z130 } from "zod";
18489
+ import { z as z133 } from "zod";
18441
18490
  var pcbNotePathProps = pcbLayoutProps.omit({
18442
18491
  pcbLeftEdgeX: true,
18443
18492
  pcbRightEdgeX: true,
@@ -18449,15 +18498,15 @@ var pcbNotePathProps = pcbLayoutProps.omit({
18449
18498
  pcbOffsetY: true,
18450
18499
  pcbRotation: true
18451
18500
  }).extend({
18452
- route: z130.array(route_hint_point7),
18501
+ route: z133.array(route_hint_point7),
18453
18502
  strokeWidth: length12.optional(),
18454
- color: z130.string().optional()
18503
+ color: z133.string().optional()
18455
18504
  });
18456
18505
  expectTypesMatch(true);
18457
18506
 
18458
18507
  // lib/components/pcb-note-line.ts
18459
18508
  import { distance as distance46 } from "circuit-json";
18460
- import { z as z131 } from "zod";
18509
+ import { z as z134 } from "zod";
18461
18510
  var pcbNoteLineProps = pcbLayoutProps.omit({
18462
18511
  pcbLeftEdgeX: true,
18463
18512
  pcbRightEdgeX: true,
@@ -18474,15 +18523,15 @@ var pcbNoteLineProps = pcbLayoutProps.omit({
18474
18523
  x2: distance46,
18475
18524
  y2: distance46,
18476
18525
  strokeWidth: distance46.optional(),
18477
- color: z131.string().optional(),
18478
- isDashed: z131.boolean().optional()
18526
+ color: z134.string().optional(),
18527
+ isDashed: z134.boolean().optional()
18479
18528
  });
18480
18529
  expectTypesMatch(true);
18481
18530
 
18482
18531
  // lib/components/pcb-note-dimension.ts
18483
18532
  import { distance as distance47, length as length13 } from "circuit-json";
18484
- import { z as z132 } from "zod";
18485
- var dimensionTarget2 = z132.union([z132.string(), point]);
18533
+ import { z as z135 } from "zod";
18534
+ var dimensionTarget2 = z135.union([z135.string(), point]);
18486
18535
  var pcbNoteDimensionProps = pcbLayoutProps.omit({
18487
18536
  pcbLeftEdgeX: true,
18488
18537
  pcbRightEdgeX: true,
@@ -18496,101 +18545,101 @@ var pcbNoteDimensionProps = pcbLayoutProps.omit({
18496
18545
  }).extend({
18497
18546
  from: dimensionTarget2,
18498
18547
  to: dimensionTarget2,
18499
- text: z132.string().optional(),
18548
+ text: z135.string().optional(),
18500
18549
  offset: distance47.optional(),
18501
- font: z132.enum(["tscircuit2024"]).optional(),
18550
+ font: z135.enum(["tscircuit2024"]).optional(),
18502
18551
  fontSize: length13.optional(),
18503
- color: z132.string().optional(),
18552
+ color: z135.string().optional(),
18504
18553
  arrowSize: distance47.optional(),
18505
- units: z132.enum(["in", "mm"]).optional(),
18506
- outerEdgeToEdge: z132.literal(true).optional(),
18507
- centerToCenter: z132.literal(true).optional(),
18508
- innerEdgeToEdge: z132.literal(true).optional()
18554
+ units: z135.enum(["in", "mm"]).optional(),
18555
+ outerEdgeToEdge: z135.literal(true).optional(),
18556
+ centerToCenter: z135.literal(true).optional(),
18557
+ innerEdgeToEdge: z135.literal(true).optional()
18509
18558
  });
18510
18559
  expectTypesMatch(
18511
18560
  true
18512
18561
  );
18513
18562
 
18514
18563
  // lib/platformConfig.ts
18515
- import { z as z133 } from "zod";
18516
- var unvalidatedCircuitJson = z133.array(z133.any()).describe("Circuit JSON");
18517
- var footprintLibraryResult = z133.object({
18518
- footprintCircuitJson: z133.array(z133.any()),
18564
+ import { z as z136 } from "zod";
18565
+ var unvalidatedCircuitJson = z136.array(z136.any()).describe("Circuit JSON");
18566
+ var footprintLibraryResult = z136.object({
18567
+ footprintCircuitJson: z136.array(z136.any()),
18519
18568
  cadModel: cadModelProp.optional()
18520
18569
  });
18521
- var pathToCircuitJsonFn = z133.function().args(z133.string()).returns(z133.promise(footprintLibraryResult)).or(
18522
- z133.function().args(
18523
- z133.string(),
18524
- z133.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
18525
- ).returns(z133.promise(footprintLibraryResult))
18570
+ var pathToCircuitJsonFn = z136.function().args(z136.string()).returns(z136.promise(footprintLibraryResult)).or(
18571
+ z136.function().args(
18572
+ z136.string(),
18573
+ z136.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
18574
+ ).returns(z136.promise(footprintLibraryResult))
18526
18575
  ).describe("A function that takes a path and returns Circuit JSON");
18527
- var footprintFileParserEntry = z133.object({
18528
- loadFromUrl: z133.function().args(z133.string()).returns(z133.promise(footprintLibraryResult)).describe(
18576
+ var footprintFileParserEntry = z136.object({
18577
+ loadFromUrl: z136.function().args(z136.string()).returns(z136.promise(footprintLibraryResult)).describe(
18529
18578
  "A function that takes a footprint file URL and returns Circuit JSON"
18530
18579
  )
18531
18580
  });
18532
- var spiceEngineSimulationResult = z133.object({
18533
- engineVersionString: z133.string().optional(),
18581
+ var spiceEngineSimulationResult = z136.object({
18582
+ engineVersionString: z136.string().optional(),
18534
18583
  simulationResultCircuitJson: unvalidatedCircuitJson
18535
18584
  });
18536
- var spiceEngineZod = z133.object({
18537
- simulate: z133.function().args(z133.string()).returns(z133.promise(spiceEngineSimulationResult)).describe(
18585
+ var spiceEngineZod = z136.object({
18586
+ simulate: z136.function().args(z136.string()).returns(z136.promise(spiceEngineSimulationResult)).describe(
18538
18587
  "A function that takes a SPICE string and returns a simulation result"
18539
18588
  )
18540
18589
  });
18541
- var defaultSpiceEngine = z133.custom(
18590
+ var defaultSpiceEngine = z136.custom(
18542
18591
  (value) => typeof value === "string"
18543
18592
  );
18544
- var autorouterInstance = z133.object({
18545
- run: z133.function().args().returns(z133.promise(z133.unknown())).describe("Run the autorouter"),
18546
- getOutputSimpleRouteJson: z133.function().args().returns(z133.promise(z133.any())).describe("Get the resulting SimpleRouteJson")
18593
+ var autorouterInstance = z136.object({
18594
+ run: z136.function().args().returns(z136.promise(z136.unknown())).describe("Run the autorouter"),
18595
+ getOutputSimpleRouteJson: z136.function().args().returns(z136.promise(z136.any())).describe("Get the resulting SimpleRouteJson")
18547
18596
  });
18548
- var autorouterDefinition = z133.object({
18549
- createAutorouter: z133.function().args(z133.any(), z133.any().optional()).returns(z133.union([autorouterInstance, z133.promise(autorouterInstance)])).describe("Create an autorouter instance")
18597
+ var autorouterDefinition = z136.object({
18598
+ createAutorouter: z136.function().args(z136.any(), z136.any().optional()).returns(z136.union([autorouterInstance, z136.promise(autorouterInstance)])).describe("Create an autorouter instance")
18550
18599
  });
18551
- var platformFetch = z133.custom((value) => typeof value === "function").describe("A fetch-like function to use for platform requests");
18552
- var platformConfig = z133.object({
18600
+ var platformFetch = z136.custom((value) => typeof value === "function").describe("A fetch-like function to use for platform requests");
18601
+ var platformConfig = z136.object({
18553
18602
  partsEngine: partsEngine.optional(),
18554
18603
  autorouter: autorouterProp.optional(),
18555
- autorouterMap: z133.record(z133.string(), autorouterDefinition).optional(),
18604
+ autorouterMap: z136.record(z136.string(), autorouterDefinition).optional(),
18556
18605
  registryApiUrl: url.optional(),
18557
18606
  cloudAutorouterUrl: url.optional(),
18558
- projectName: z133.string().optional(),
18607
+ projectName: z136.string().optional(),
18559
18608
  projectBaseUrl: url.optional(),
18560
- version: z133.string().optional(),
18609
+ version: z136.string().optional(),
18561
18610
  url: url.optional(),
18562
- printBoardInformationToSilkscreen: z133.boolean().optional(),
18563
- includeBoardFiles: z133.array(z133.string()).describe(
18611
+ printBoardInformationToSilkscreen: z136.boolean().optional(),
18612
+ includeBoardFiles: z136.array(z136.string()).describe(
18564
18613
  'The board files to automatically build with "tsci build", defaults to ["**/*.circuit.tsx"]. Can be an array of files or globs'
18565
18614
  ).optional(),
18566
- snapshotsDir: z133.string().describe(
18615
+ snapshotsDir: z136.string().describe(
18567
18616
  'The directory where snapshots are stored for "tsci snapshot", defaults to "tests/__snapshots__"'
18568
18617
  ).optional(),
18569
18618
  defaultSpiceEngine: defaultSpiceEngine.optional(),
18570
- unitPreference: z133.enum(["mm", "in", "mil"]).optional(),
18571
- localCacheEngine: z133.any().optional(),
18572
- pcbDisabled: z133.boolean().optional(),
18573
- routingDisabled: z133.boolean().optional(),
18574
- schematicDisabled: z133.boolean().optional(),
18575
- partsEngineDisabled: z133.boolean().optional(),
18576
- drcChecksDisabled: z133.boolean().optional(),
18577
- netlistDrcChecksDisabled: z133.boolean().optional(),
18578
- routingDrcChecksDisabled: z133.boolean().optional(),
18579
- placementDrcChecksDisabled: z133.boolean().optional(),
18580
- pinSpecificationDrcChecksDisabled: z133.boolean().optional(),
18581
- spiceEngineMap: z133.record(z133.string(), spiceEngineZod).optional(),
18582
- footprintLibraryMap: z133.record(
18583
- z133.string(),
18584
- z133.union([
18619
+ unitPreference: z136.enum(["mm", "in", "mil"]).optional(),
18620
+ localCacheEngine: z136.any().optional(),
18621
+ pcbDisabled: z136.boolean().optional(),
18622
+ routingDisabled: z136.boolean().optional(),
18623
+ schematicDisabled: z136.boolean().optional(),
18624
+ partsEngineDisabled: z136.boolean().optional(),
18625
+ drcChecksDisabled: z136.boolean().optional(),
18626
+ netlistDrcChecksDisabled: z136.boolean().optional(),
18627
+ routingDrcChecksDisabled: z136.boolean().optional(),
18628
+ placementDrcChecksDisabled: z136.boolean().optional(),
18629
+ pinSpecificationDrcChecksDisabled: z136.boolean().optional(),
18630
+ spiceEngineMap: z136.record(z136.string(), spiceEngineZod).optional(),
18631
+ footprintLibraryMap: z136.record(
18632
+ z136.string(),
18633
+ z136.union([
18585
18634
  pathToCircuitJsonFn,
18586
- z133.record(
18587
- z133.string(),
18588
- z133.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
18635
+ z136.record(
18636
+ z136.string(),
18637
+ z136.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
18589
18638
  )
18590
18639
  ])
18591
18640
  ).optional(),
18592
- footprintFileParserMap: z133.record(z133.string(), footprintFileParserEntry).optional(),
18593
- resolveProjectStaticFileImportUrl: z133.function().args(z133.string()).returns(z133.promise(z133.string())).describe(
18641
+ footprintFileParserMap: z136.record(z136.string(), footprintFileParserEntry).optional(),
18642
+ resolveProjectStaticFileImportUrl: z136.function().args(z136.string()).returns(z136.promise(z136.string())).describe(
18594
18643
  "A function that returns a string URL for static files for the project"
18595
18644
  ).optional(),
18596
18645
  platformFetch: platformFetch.optional()
@@ -18616,6 +18665,8 @@ export {
18616
18665
  ammeterPins,
18617
18666
  ammeterProps,
18618
18667
  analogSimulationProps,
18668
+ assemblyDeviceProps,
18669
+ assemblyProps,
18619
18670
  autorouterConfig,
18620
18671
  autorouterEffortLevel,
18621
18672
  autorouterPreset,
@@ -18648,10 +18699,12 @@ export {
18648
18699
  capacitorProps,
18649
18700
  chipProps,
18650
18701
  circleCutoutProps,
18702
+ circleShapeProps,
18651
18703
  circleSmtPadProps,
18652
18704
  circleSolderPasteProps,
18653
18705
  commonComponentProps,
18654
18706
  commonLayoutProps,
18707
+ commonShapeProps,
18655
18708
  componentProps,
18656
18709
  connectorProps,
18657
18710
  constrainedLayoutProps,
@@ -18682,6 +18735,8 @@ export {
18682
18735
  edit_schematic_component_location_event,
18683
18736
  edit_schematic_group_location_event,
18684
18737
  edit_trace_hint_event,
18738
+ enclosureCutoutApertureProps,
18739
+ enclosureCutoutApertureShapes,
18685
18740
  enclosureFdmBoxProps,
18686
18741
  enclosureProps,
18687
18742
  explicitPinSideDefinition,
@@ -18759,6 +18814,7 @@ export {
18759
18814
  pcbTraceProps,
18760
18815
  pcbXDistConstraintProps,
18761
18816
  pcbYDistConstraintProps,
18817
+ pillShapeProps,
18762
18818
  pillSmtPadProps,
18763
18819
  pinAttributeMap,
18764
18820
  pinCapability,
@@ -18780,6 +18836,7 @@ export {
18780
18836
  projectConfig,
18781
18837
  pushButtonProps,
18782
18838
  rectCutoutProps,
18839
+ rectShapeProps,
18783
18840
  rectSmtPadProps,
18784
18841
  rectSolderPasteProps,
18785
18842
  resistorPinLabels,