@tscircuit/props 0.0.577 → 0.0.579

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