@tscircuit/props 0.0.308 → 0.0.310

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
@@ -30,7 +30,7 @@ import {
30
30
  rotation,
31
31
  supplier_name
32
32
  } from "circuit-json";
33
- import { z as z6 } from "zod";
33
+ import { z as z7 } from "zod";
34
34
 
35
35
  // lib/common/cadModel.ts
36
36
  import { z as z4 } from "zod";
@@ -95,12 +95,16 @@ expectTypesMatch(true);
95
95
  import { z as z5 } from "zod";
96
96
  var footprintProp = z5.custom((v) => true);
97
97
 
98
+ // lib/common/symbolProp.ts
99
+ import { z as z6 } from "zod";
100
+ var symbolProp = z6.custom((v) => true);
101
+
98
102
  // lib/common/layout.ts
99
- var pcbLayoutProps = z6.object({
103
+ var pcbLayoutProps = z7.object({
100
104
  pcbX: distance2.optional(),
101
105
  pcbY: distance2.optional(),
102
106
  pcbRotation: rotation.optional(),
103
- pcbPositionAnchor: z6.string().optional(),
107
+ pcbPositionAnchor: z7.string().optional(),
104
108
  layer: layer_ref.optional(),
105
109
  pcbMarginTop: distance2.optional(),
106
110
  pcbMarginRight: distance2.optional(),
@@ -108,53 +112,60 @@ var pcbLayoutProps = z6.object({
108
112
  pcbMarginLeft: distance2.optional(),
109
113
  pcbMarginX: distance2.optional(),
110
114
  pcbMarginY: distance2.optional(),
111
- pcbRelative: z6.boolean().optional(),
112
- relative: z6.boolean().optional()
115
+ pcbRelative: z7.boolean().optional(),
116
+ relative: z7.boolean().optional()
113
117
  });
114
118
  expectTypesMatch(true);
115
- var commonLayoutProps = z6.object({
119
+ var commonLayoutProps = z7.object({
116
120
  pcbX: distance2.optional(),
117
121
  pcbY: distance2.optional(),
118
122
  pcbRotation: rotation.optional(),
119
- pcbPositionAnchor: z6.string().optional(),
123
+ pcbPositionAnchor: z7.string().optional(),
120
124
  pcbMarginTop: distance2.optional(),
121
125
  pcbMarginRight: distance2.optional(),
122
126
  pcbMarginBottom: distance2.optional(),
123
127
  pcbMarginLeft: distance2.optional(),
124
128
  pcbMarginX: distance2.optional(),
125
129
  pcbMarginY: distance2.optional(),
130
+ schMarginTop: distance2.optional(),
131
+ schMarginRight: distance2.optional(),
132
+ schMarginBottom: distance2.optional(),
133
+ schMarginLeft: distance2.optional(),
134
+ schMarginX: distance2.optional(),
135
+ schMarginY: distance2.optional(),
126
136
  schX: distance2.optional(),
127
137
  schY: distance2.optional(),
128
138
  schRotation: rotation.optional(),
129
139
  layer: layer_ref.optional(),
130
140
  footprint: footprintProp.optional(),
131
- relative: z6.boolean().optional(),
132
- schRelative: z6.boolean().optional(),
133
- pcbRelative: z6.boolean().optional()
141
+ symbol: symbolProp.optional(),
142
+ relative: z7.boolean().optional(),
143
+ schRelative: z7.boolean().optional(),
144
+ pcbRelative: z7.boolean().optional()
134
145
  });
135
146
  expectTypesMatch(true);
136
- var supplierProps = z6.object({
137
- supplierPartNumbers: z6.record(supplier_name, z6.array(z6.string())).optional()
147
+ var supplierProps = z7.object({
148
+ supplierPartNumbers: z7.record(supplier_name, z7.array(z7.string())).optional()
138
149
  });
139
150
  expectTypesMatch(true);
140
- var pinAttributeMap = z6.object({
141
- providesPower: z6.boolean().optional(),
142
- requiresPower: z6.boolean().optional(),
143
- providesGround: z6.boolean().optional(),
144
- requiresGround: z6.boolean().optional(),
145
- providesVoltage: z6.union([z6.string(), z6.number()]).optional(),
146
- requiresVoltage: z6.union([z6.string(), z6.number()]).optional(),
147
- doNotConnect: z6.boolean().optional()
151
+ var pinAttributeMap = z7.object({
152
+ providesPower: z7.boolean().optional(),
153
+ requiresPower: z7.boolean().optional(),
154
+ providesGround: z7.boolean().optional(),
155
+ requiresGround: z7.boolean().optional(),
156
+ providesVoltage: z7.union([z7.string(), z7.number()]).optional(),
157
+ requiresVoltage: z7.union([z7.string(), z7.number()]).optional(),
158
+ doNotConnect: z7.boolean().optional()
148
159
  });
149
160
  expectTypesMatch(true);
150
161
  var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
151
- key: z6.any().optional(),
152
- name: z6.string(),
162
+ key: z7.any().optional(),
163
+ name: z7.string(),
153
164
  cadModel: cadModelProp.optional(),
154
- children: z6.any().optional(),
155
- symbolName: z6.string().optional(),
156
- doNotPlace: z6.boolean().optional(),
157
- pinAttributes: z6.record(z6.string(), pinAttributeMap).optional()
165
+ children: z7.any().optional(),
166
+ symbolName: z7.string().optional(),
167
+ doNotPlace: z7.boolean().optional(),
168
+ pinAttributes: z7.record(z7.string(), pinAttributeMap).optional()
158
169
  });
159
170
  expectTypesMatch(true);
160
171
  var componentProps = commonComponentProps;
@@ -169,11 +180,11 @@ var lrPolarPins = [
169
180
  "cathode",
170
181
  "neg"
171
182
  ];
172
- var distanceOrMultiplier = distance2.or(z6.enum(["2x", "3x", "4x"]));
183
+ var distanceOrMultiplier = distance2.or(z7.enum(["2x", "3x", "4x"]));
173
184
 
174
185
  // lib/common/schematicOrientation.ts
175
- import { z as z7 } from "zod";
176
- var schematicOrientation = z7.enum([
186
+ import { z as z8 } from "zod";
187
+ var schematicOrientation = z8.enum([
177
188
  "vertical",
178
189
  "horizontal",
179
190
  "pos_top",
@@ -192,25 +203,25 @@ expectTypesMatch(
192
203
  );
193
204
 
194
205
  // lib/common/schematicPinDefinitions.ts
195
- import { z as z8 } from "zod";
196
- var explicitPinSideDefinition = z8.object({
197
- pins: z8.array(z8.union([z8.number(), z8.string()])),
198
- direction: z8.union([
199
- z8.literal("top-to-bottom"),
200
- z8.literal("left-to-right"),
201
- z8.literal("bottom-to-top"),
202
- z8.literal("right-to-left")
206
+ import { z as z9 } from "zod";
207
+ var explicitPinSideDefinition = z9.object({
208
+ pins: z9.array(z9.union([z9.number(), z9.string()])),
209
+ direction: z9.union([
210
+ z9.literal("top-to-bottom"),
211
+ z9.literal("left-to-right"),
212
+ z9.literal("bottom-to-top"),
213
+ z9.literal("right-to-left")
203
214
  ])
204
215
  });
205
- var schematicPortArrangement = z8.object({
206
- leftSize: z8.number().optional().describe("@deprecated, use leftPinCount"),
207
- topSize: z8.number().optional().describe("@deprecated, use topPinCount"),
208
- rightSize: z8.number().optional().describe("@deprecated, use rightPinCount"),
209
- bottomSize: z8.number().optional().describe("@deprecated, use bottomPinCount"),
210
- leftPinCount: z8.number().optional(),
211
- rightPinCount: z8.number().optional(),
212
- topPinCount: z8.number().optional(),
213
- bottomPinCount: z8.number().optional(),
216
+ var schematicPortArrangement = z9.object({
217
+ leftSize: z9.number().optional().describe("@deprecated, use leftPinCount"),
218
+ topSize: z9.number().optional().describe("@deprecated, use topPinCount"),
219
+ rightSize: z9.number().optional().describe("@deprecated, use rightPinCount"),
220
+ bottomSize: z9.number().optional().describe("@deprecated, use bottomPinCount"),
221
+ leftPinCount: z9.number().optional(),
222
+ rightPinCount: z9.number().optional(),
223
+ topPinCount: z9.number().optional(),
224
+ bottomPinCount: z9.number().optional(),
214
225
  leftSide: explicitPinSideDefinition.optional(),
215
226
  rightSide: explicitPinSideDefinition.optional(),
216
227
  topSide: explicitPinSideDefinition.optional(),
@@ -221,9 +232,9 @@ expectTypesMatch(true);
221
232
 
222
233
  // lib/common/schematicPinStyle.ts
223
234
  import { distance as distance3 } from "circuit-json";
224
- import { z as z9 } from "zod";
225
- var schematicPinStyle = z9.record(
226
- z9.object({
235
+ import { z as z10 } from "zod";
236
+ var schematicPinStyle = z10.record(
237
+ z10.object({
227
238
  marginLeft: distance3.optional(),
228
239
  marginRight: distance3.optional(),
229
240
  marginTop: distance3.optional(),
@@ -237,62 +248,62 @@ var schematicPinStyle = z9.record(
237
248
  expectTypesMatch(true);
238
249
 
239
250
  // lib/common/schematicPinLabel.ts
240
- import { z as z10 } from "zod";
241
- var schematicPinLabel = z10.string().regex(/^[A-Za-z0-9_]+$/);
251
+ import { z as z11 } from "zod";
252
+ var schematicPinLabel = z11.string().regex(/^[A-Za-z0-9_]+$/);
242
253
 
243
254
  // lib/common/distance.ts
244
255
  import "zod";
245
256
  import { distance as distance4, length } from "circuit-json";
246
257
 
247
258
  // lib/components/board.ts
248
- import { z as z25 } from "zod";
259
+ import { z as z26 } from "zod";
249
260
 
250
261
  // lib/components/group.ts
251
262
  import { length as length2, distance as distance6 } from "circuit-json";
252
263
 
253
264
  // lib/common/point.ts
254
265
  import { distance as distance5 } from "circuit-json";
255
- import { z as z12 } from "zod";
256
- var point = z12.object({
266
+ import { z as z13 } from "zod";
267
+ var point = z13.object({
257
268
  x: distance5,
258
269
  y: distance5
259
270
  });
260
271
 
261
272
  // lib/components/group.ts
262
- import { z as z24 } from "zod";
273
+ import { z as z25 } from "zod";
263
274
 
264
275
  // lib/manual-edits/manual-edit-events/base_manual_edit_event.ts
265
- import { z as z13 } from "zod";
266
- var base_manual_edit_event = z13.object({
267
- edit_event_id: z13.string(),
268
- in_progress: z13.boolean().optional(),
269
- created_at: z13.number()
276
+ import { z as z14 } from "zod";
277
+ var base_manual_edit_event = z14.object({
278
+ edit_event_id: z14.string(),
279
+ in_progress: z14.boolean().optional(),
280
+ created_at: z14.number()
270
281
  });
271
282
  expectTypesMatch(
272
283
  true
273
284
  );
274
285
 
275
286
  // lib/manual-edits/manual-edit-events/edit_pcb_component_location_event.ts
276
- import { z as z14 } from "zod";
287
+ import { z as z15 } from "zod";
277
288
  var edit_pcb_component_location_event = base_manual_edit_event.extend({
278
- pcb_edit_event_type: z14.literal("edit_component_location").describe("deprecated"),
279
- edit_event_type: z14.literal("edit_pcb_component_location"),
280
- pcb_component_id: z14.string(),
281
- original_center: z14.object({ x: z14.number(), y: z14.number() }),
282
- new_center: z14.object({ x: z14.number(), y: z14.number() })
289
+ pcb_edit_event_type: z15.literal("edit_component_location").describe("deprecated"),
290
+ edit_event_type: z15.literal("edit_pcb_component_location"),
291
+ pcb_component_id: z15.string(),
292
+ original_center: z15.object({ x: z15.number(), y: z15.number() }),
293
+ new_center: z15.object({ x: z15.number(), y: z15.number() })
283
294
  });
284
295
  var edit_component_location_event = edit_pcb_component_location_event;
285
296
  expectTypesMatch(true);
286
297
 
287
298
  // lib/manual-edits/manual-edit-events/edit_trace_hint_event.ts
288
- import { z as z15 } from "zod";
299
+ import { z as z16 } from "zod";
289
300
  var edit_trace_hint_event = base_manual_edit_event.extend({
290
- pcb_edit_event_type: z15.literal("edit_trace_hint").describe("deprecated"),
291
- edit_event_type: z15.literal("edit_pcb_trace_hint").optional(),
292
- pcb_port_id: z15.string(),
293
- pcb_trace_hint_id: z15.string().optional(),
294
- route: z15.array(
295
- z15.object({ x: z15.number(), y: z15.number(), via: z15.boolean().optional() })
301
+ pcb_edit_event_type: z16.literal("edit_trace_hint").describe("deprecated"),
302
+ edit_event_type: z16.literal("edit_pcb_trace_hint").optional(),
303
+ pcb_port_id: z16.string(),
304
+ pcb_trace_hint_id: z16.string().optional(),
305
+ route: z16.array(
306
+ z16.object({ x: z16.number(), y: z16.number(), via: z16.boolean().optional() })
296
307
  )
297
308
  });
298
309
  expectTypesMatch(
@@ -300,38 +311,38 @@ expectTypesMatch(
300
311
  );
301
312
 
302
313
  // lib/manual-edits/manual-edit-events/edit_schematic_component_location_event.ts
303
- import { z as z16 } from "zod";
314
+ import { z as z17 } from "zod";
304
315
  var edit_schematic_component_location_event = base_manual_edit_event.extend({
305
- edit_event_type: z16.literal("edit_schematic_component_location"),
306
- schematic_component_id: z16.string(),
307
- original_center: z16.object({ x: z16.number(), y: z16.number() }),
308
- new_center: z16.object({ x: z16.number(), y: z16.number() })
316
+ edit_event_type: z17.literal("edit_schematic_component_location"),
317
+ schematic_component_id: z17.string(),
318
+ original_center: z17.object({ x: z17.number(), y: z17.number() }),
319
+ new_center: z17.object({ x: z17.number(), y: z17.number() })
309
320
  });
310
321
  expectTypesMatch(true);
311
322
 
312
323
  // lib/manual-edits/manual-edit-events/edit_pcb_group_location_event.ts
313
- import { z as z17 } from "zod";
324
+ import { z as z18 } from "zod";
314
325
  var edit_pcb_group_location_event = base_manual_edit_event.extend({
315
- edit_event_type: z17.literal("edit_pcb_group_location"),
316
- pcb_group_id: z17.string(),
317
- original_center: z17.object({ x: z17.number(), y: z17.number() }),
318
- new_center: z17.object({ x: z17.number(), y: z17.number() })
326
+ edit_event_type: z18.literal("edit_pcb_group_location"),
327
+ pcb_group_id: z18.string(),
328
+ original_center: z18.object({ x: z18.number(), y: z18.number() }),
329
+ new_center: z18.object({ x: z18.number(), y: z18.number() })
319
330
  });
320
331
  expectTypesMatch(true);
321
332
 
322
333
  // lib/manual-edits/manual-edit-events/edit_schematic_group_location_event.ts
323
- import { z as z18 } from "zod";
334
+ import { z as z19 } from "zod";
324
335
  var edit_schematic_group_location_event = base_manual_edit_event.extend({
325
- edit_event_type: z18.literal("edit_schematic_group_location"),
326
- schematic_group_id: z18.string(),
327
- original_center: z18.object({ x: z18.number(), y: z18.number() }),
328
- new_center: z18.object({ x: z18.number(), y: z18.number() })
336
+ edit_event_type: z19.literal("edit_schematic_group_location"),
337
+ schematic_group_id: z19.string(),
338
+ original_center: z19.object({ x: z19.number(), y: z19.number() }),
339
+ new_center: z19.object({ x: z19.number(), y: z19.number() })
329
340
  });
330
341
  expectTypesMatch(true);
331
342
 
332
343
  // lib/manual-edits/manual_edit_event.ts
333
- import { z as z19 } from "zod";
334
- var manual_edit_event = z19.union([
344
+ import { z as z20 } from "zod";
345
+ var manual_edit_event = z20.union([
335
346
  edit_pcb_component_location_event,
336
347
  edit_trace_hint_event,
337
348
  edit_schematic_component_location_event
@@ -339,33 +350,33 @@ var manual_edit_event = z19.union([
339
350
  expectTypesMatch(true);
340
351
 
341
352
  // lib/manual-edits/manual_edits_file.ts
342
- import { z as z23 } from "zod";
353
+ import { z as z24 } from "zod";
343
354
 
344
355
  // lib/manual-edits/manual_pcb_placement.ts
345
- import { z as z20 } from "zod";
356
+ import { z as z21 } from "zod";
346
357
  import { point as point2 } from "circuit-json";
347
- var manual_pcb_placement = z20.object({
348
- selector: z20.string(),
349
- relative_to: z20.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
358
+ var manual_pcb_placement = z21.object({
359
+ selector: z21.string(),
360
+ relative_to: z21.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
350
361
  center: point2
351
362
  });
352
363
  expectTypesMatch(true);
353
364
 
354
365
  // lib/manual-edits/manual_trace_hint.ts
355
- import { z as z21 } from "zod";
366
+ import { z as z22 } from "zod";
356
367
  import { route_hint_point } from "circuit-json";
357
- var manual_trace_hint = z21.object({
358
- pcb_port_selector: z21.string(),
359
- offsets: z21.array(route_hint_point)
368
+ var manual_trace_hint = z22.object({
369
+ pcb_port_selector: z22.string(),
370
+ offsets: z22.array(route_hint_point)
360
371
  });
361
372
  expectTypesMatch(true);
362
373
 
363
374
  // lib/manual-edits/manual_schematic_placement.ts
364
- import { z as z22 } from "zod";
375
+ import { z as z23 } from "zod";
365
376
  import { point as point4 } from "circuit-json";
366
- var manual_schematic_placement = z22.object({
367
- selector: z22.string(),
368
- relative_to: z22.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
377
+ var manual_schematic_placement = z23.object({
378
+ selector: z23.string(),
379
+ relative_to: z23.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
369
380
  center: point4
370
381
  });
371
382
  expectTypesMatch(
@@ -373,30 +384,30 @@ expectTypesMatch(
373
384
  );
374
385
 
375
386
  // lib/manual-edits/manual_edits_file.ts
376
- var manual_edits_file = z23.object({
377
- pcb_placements: z23.array(manual_pcb_placement).optional(),
378
- manual_trace_hints: z23.array(manual_trace_hint).optional(),
379
- schematic_placements: z23.array(manual_schematic_placement).optional()
387
+ var manual_edits_file = z24.object({
388
+ pcb_placements: z24.array(manual_pcb_placement).optional(),
389
+ manual_trace_hints: z24.array(manual_trace_hint).optional(),
390
+ schematic_placements: z24.array(manual_schematic_placement).optional()
380
391
  });
381
392
  expectTypesMatch(true);
382
393
 
383
394
  // lib/components/group.ts
384
- var layoutConfig = z24.object({
385
- layoutMode: z24.enum(["grid", "flex", "match-adapt", "relative", "none"]).optional(),
386
- position: z24.enum(["absolute", "relative"]).optional(),
387
- grid: z24.boolean().optional(),
388
- gridCols: z24.number().or(z24.string()).optional(),
389
- gridRows: z24.number().or(z24.string()).optional(),
390
- gridTemplateRows: z24.string().optional(),
391
- gridTemplateColumns: z24.string().optional(),
392
- gridTemplate: z24.string().optional(),
393
- gridGap: z24.number().or(z24.string()).optional(),
394
- gridRowGap: z24.number().or(z24.string()).optional(),
395
- gridColumnGap: z24.number().or(z24.string()).optional(),
396
- flex: z24.boolean().or(z24.string()).optional(),
397
- flexDirection: z24.enum(["row", "column"]).optional(),
398
- alignItems: z24.enum(["start", "center", "end", "stretch"]).optional(),
399
- justifyContent: z24.enum([
395
+ var layoutConfig = z25.object({
396
+ layoutMode: z25.enum(["grid", "flex", "match-adapt", "relative", "none"]).optional(),
397
+ position: z25.enum(["absolute", "relative"]).optional(),
398
+ grid: z25.boolean().optional(),
399
+ gridCols: z25.number().or(z25.string()).optional(),
400
+ gridRows: z25.number().or(z25.string()).optional(),
401
+ gridTemplateRows: z25.string().optional(),
402
+ gridTemplateColumns: z25.string().optional(),
403
+ gridTemplate: z25.string().optional(),
404
+ gridGap: z25.number().or(z25.string()).optional(),
405
+ gridRowGap: z25.number().or(z25.string()).optional(),
406
+ gridColumnGap: z25.number().or(z25.string()).optional(),
407
+ flex: z25.boolean().or(z25.string()).optional(),
408
+ flexDirection: z25.enum(["row", "column"]).optional(),
409
+ alignItems: z25.enum(["start", "center", "end", "stretch"]).optional(),
410
+ justifyContent: z25.enum([
400
411
  "start",
401
412
  "center",
402
413
  "end",
@@ -405,16 +416,16 @@ var layoutConfig = z24.object({
405
416
  "space-around",
406
417
  "space-evenly"
407
418
  ]).optional(),
408
- flexRow: z24.boolean().optional(),
409
- flexColumn: z24.boolean().optional(),
410
- gap: z24.number().or(z24.string()).optional(),
411
- pack: z24.boolean().optional().describe("Pack the contents of this group using a packing strategy"),
412
- packOrderStrategy: z24.enum([
419
+ flexRow: z25.boolean().optional(),
420
+ flexColumn: z25.boolean().optional(),
421
+ gap: z25.number().or(z25.string()).optional(),
422
+ pack: z25.boolean().optional().describe("Pack the contents of this group using a packing strategy"),
423
+ packOrderStrategy: z25.enum([
413
424
  "largest_to_smallest",
414
425
  "first_to_last",
415
426
  "highest_to_lowest_pin_count"
416
427
  ]).optional(),
417
- packPlacementStrategy: z24.enum(["shortest_connection_along_outline"]).optional(),
428
+ packPlacementStrategy: z25.enum(["shortest_connection_along_outline"]).optional(),
418
429
  padding: length2.optional(),
419
430
  paddingLeft: length2.optional(),
420
431
  paddingRight: length2.optional(),
@@ -424,65 +435,65 @@ var layoutConfig = z24.object({
424
435
  paddingY: length2.optional(),
425
436
  width: length2.optional(),
426
437
  height: length2.optional(),
427
- matchAdapt: z24.boolean().optional(),
428
- matchAdaptTemplate: z24.any().optional()
438
+ matchAdapt: z25.boolean().optional(),
439
+ matchAdaptTemplate: z25.any().optional()
429
440
  });
430
441
  expectTypesMatch(true);
431
- var border = z24.object({
442
+ var border = z25.object({
432
443
  strokeWidth: length2.optional(),
433
- dashed: z24.boolean().optional(),
434
- solid: z24.boolean().optional()
435
- });
436
- var autorouterConfig = z24.object({
437
- serverUrl: z24.string().optional(),
438
- inputFormat: z24.enum(["simplified", "circuit-json"]).optional(),
439
- serverMode: z24.enum(["job", "solve-endpoint"]).optional(),
440
- serverCacheEnabled: z24.boolean().optional(),
441
- cache: z24.custom((v) => true).optional(),
444
+ dashed: z25.boolean().optional(),
445
+ solid: z25.boolean().optional()
446
+ });
447
+ var autorouterConfig = z25.object({
448
+ serverUrl: z25.string().optional(),
449
+ inputFormat: z25.enum(["simplified", "circuit-json"]).optional(),
450
+ serverMode: z25.enum(["job", "solve-endpoint"]).optional(),
451
+ serverCacheEnabled: z25.boolean().optional(),
452
+ cache: z25.custom((v) => true).optional(),
442
453
  traceClearance: length2.optional(),
443
- groupMode: z24.enum(["sequential-trace", "subcircuit"]).optional(),
444
- algorithmFn: z24.custom(
454
+ groupMode: z25.enum(["sequential-trace", "subcircuit"]).optional(),
455
+ algorithmFn: z25.custom(
445
456
  (v) => typeof v === "function" || v === void 0
446
457
  ).optional(),
447
- preset: z24.enum([
458
+ preset: z25.enum([
448
459
  "sequential-trace",
449
460
  "subcircuit",
450
461
  "auto",
451
462
  "auto-local",
452
463
  "auto-cloud"
453
464
  ]).optional(),
454
- local: z24.boolean().optional()
465
+ local: z25.boolean().optional()
455
466
  });
456
- var autorouterProp = z24.union([
467
+ var autorouterProp = z25.union([
457
468
  autorouterConfig,
458
- z24.literal("sequential-trace"),
459
- z24.literal("subcircuit"),
460
- z24.literal("auto"),
461
- z24.literal("auto-local"),
462
- z24.literal("auto-cloud")
469
+ z25.literal("sequential-trace"),
470
+ z25.literal("subcircuit"),
471
+ z25.literal("auto"),
472
+ z25.literal("auto-local"),
473
+ z25.literal("auto-cloud")
463
474
  ]);
464
475
  var baseGroupProps = commonLayoutProps.extend({
465
- name: z24.string().optional(),
466
- children: z24.any().optional(),
467
- schTitle: z24.string().optional(),
468
- key: z24.any().optional(),
476
+ name: z25.string().optional(),
477
+ children: z25.any().optional(),
478
+ schTitle: z25.string().optional(),
479
+ key: z25.any().optional(),
469
480
  ...layoutConfig.shape,
470
481
  grid: layoutConfig.shape.grid.describe("@deprecated use pcbGrid"),
471
482
  flex: layoutConfig.shape.flex.describe("@deprecated use pcbFlex"),
472
- pcbGrid: z24.boolean().optional(),
473
- pcbGridCols: z24.number().or(z24.string()).optional(),
474
- pcbGridRows: z24.number().or(z24.string()).optional(),
475
- pcbGridTemplateRows: z24.string().optional(),
476
- pcbGridTemplateColumns: z24.string().optional(),
477
- pcbGridTemplate: z24.string().optional(),
478
- pcbGridGap: z24.number().or(z24.string()).optional(),
479
- pcbGridRowGap: z24.number().or(z24.string()).optional(),
480
- pcbGridColumnGap: z24.number().or(z24.string()).optional(),
481
- pcbFlex: z24.boolean().or(z24.string()).optional(),
482
- pcbFlexGap: z24.number().or(z24.string()).optional(),
483
- pcbFlexDirection: z24.enum(["row", "column"]).optional(),
484
- pcbAlignItems: z24.enum(["start", "center", "end", "stretch"]).optional(),
485
- pcbJustifyContent: z24.enum([
483
+ pcbGrid: z25.boolean().optional(),
484
+ pcbGridCols: z25.number().or(z25.string()).optional(),
485
+ pcbGridRows: z25.number().or(z25.string()).optional(),
486
+ pcbGridTemplateRows: z25.string().optional(),
487
+ pcbGridTemplateColumns: z25.string().optional(),
488
+ pcbGridTemplate: z25.string().optional(),
489
+ pcbGridGap: z25.number().or(z25.string()).optional(),
490
+ pcbGridRowGap: z25.number().or(z25.string()).optional(),
491
+ pcbGridColumnGap: z25.number().or(z25.string()).optional(),
492
+ pcbFlex: z25.boolean().or(z25.string()).optional(),
493
+ pcbFlexGap: z25.number().or(z25.string()).optional(),
494
+ pcbFlexDirection: z25.enum(["row", "column"]).optional(),
495
+ pcbAlignItems: z25.enum(["start", "center", "end", "stretch"]).optional(),
496
+ pcbJustifyContent: z25.enum([
486
497
  "start",
487
498
  "center",
488
499
  "end",
@@ -491,24 +502,24 @@ var baseGroupProps = commonLayoutProps.extend({
491
502
  "space-around",
492
503
  "space-evenly"
493
504
  ]).optional(),
494
- pcbFlexRow: z24.boolean().optional(),
495
- pcbFlexColumn: z24.boolean().optional(),
496
- pcbGap: z24.number().or(z24.string()).optional(),
497
- pcbPack: z24.boolean().optional(),
498
- schGrid: z24.boolean().optional(),
499
- schGridCols: z24.number().or(z24.string()).optional(),
500
- schGridRows: z24.number().or(z24.string()).optional(),
501
- schGridTemplateRows: z24.string().optional(),
502
- schGridTemplateColumns: z24.string().optional(),
503
- schGridTemplate: z24.string().optional(),
504
- schGridGap: z24.number().or(z24.string()).optional(),
505
- schGridRowGap: z24.number().or(z24.string()).optional(),
506
- schGridColumnGap: z24.number().or(z24.string()).optional(),
507
- schFlex: z24.boolean().or(z24.string()).optional(),
508
- schFlexGap: z24.number().or(z24.string()).optional(),
509
- schFlexDirection: z24.enum(["row", "column"]).optional(),
510
- schAlignItems: z24.enum(["start", "center", "end", "stretch"]).optional(),
511
- schJustifyContent: z24.enum([
505
+ pcbFlexRow: z25.boolean().optional(),
506
+ pcbFlexColumn: z25.boolean().optional(),
507
+ pcbGap: z25.number().or(z25.string()).optional(),
508
+ pcbPack: z25.boolean().optional(),
509
+ schGrid: z25.boolean().optional(),
510
+ schGridCols: z25.number().or(z25.string()).optional(),
511
+ schGridRows: z25.number().or(z25.string()).optional(),
512
+ schGridTemplateRows: z25.string().optional(),
513
+ schGridTemplateColumns: z25.string().optional(),
514
+ schGridTemplate: z25.string().optional(),
515
+ schGridGap: z25.number().or(z25.string()).optional(),
516
+ schGridRowGap: z25.number().or(z25.string()).optional(),
517
+ schGridColumnGap: z25.number().or(z25.string()).optional(),
518
+ schFlex: z25.boolean().or(z25.string()).optional(),
519
+ schFlexGap: z25.number().or(z25.string()).optional(),
520
+ schFlexDirection: z25.enum(["row", "column"]).optional(),
521
+ schAlignItems: z25.enum(["start", "center", "end", "stretch"]).optional(),
522
+ schJustifyContent: z25.enum([
512
523
  "start",
513
524
  "center",
514
525
  "end",
@@ -517,11 +528,11 @@ var baseGroupProps = commonLayoutProps.extend({
517
528
  "space-around",
518
529
  "space-evenly"
519
530
  ]).optional(),
520
- schFlexRow: z24.boolean().optional(),
521
- schFlexColumn: z24.boolean().optional(),
522
- schGap: z24.number().or(z24.string()).optional(),
523
- schPack: z24.boolean().optional(),
524
- schMatchAdapt: z24.boolean().optional(),
531
+ schFlexRow: z25.boolean().optional(),
532
+ schFlexColumn: z25.boolean().optional(),
533
+ schGap: z25.number().or(z25.string()).optional(),
534
+ schPack: z25.boolean().optional(),
535
+ schMatchAdapt: z25.boolean().optional(),
525
536
  pcbWidth: length2.optional(),
526
537
  pcbHeight: length2.optional(),
527
538
  schWidth: length2.optional(),
@@ -541,32 +552,32 @@ var baseGroupProps = commonLayoutProps.extend({
541
552
  pcbPaddingTop: length2.optional(),
542
553
  pcbPaddingBottom: length2.optional()
543
554
  });
544
- var partsEngine = z24.custom((v) => "findPart" in v);
555
+ var partsEngine = z25.custom((v) => "findPart" in v);
545
556
  var subcircuitGroupProps = baseGroupProps.extend({
546
557
  manualEdits: manual_edits_file.optional(),
547
- schAutoLayoutEnabled: z24.boolean().optional(),
548
- schTraceAutoLabelEnabled: z24.boolean().optional(),
558
+ schAutoLayoutEnabled: z25.boolean().optional(),
559
+ schTraceAutoLabelEnabled: z25.boolean().optional(),
549
560
  schMaxTraceDistance: distance6.optional(),
550
- routingDisabled: z24.boolean().optional(),
561
+ routingDisabled: z25.boolean().optional(),
551
562
  defaultTraceWidth: length2.optional(),
552
563
  minTraceWidth: length2.optional(),
553
564
  partsEngine: partsEngine.optional(),
554
- pcbRouteCache: z24.custom((v) => true).optional(),
565
+ pcbRouteCache: z25.custom((v) => true).optional(),
555
566
  autorouter: autorouterProp.optional(),
556
- square: z24.boolean().optional(),
557
- emptyArea: z24.string().optional(),
558
- filledArea: z24.string().optional(),
567
+ square: z25.boolean().optional(),
568
+ emptyArea: z25.string().optional(),
569
+ filledArea: z25.string().optional(),
559
570
  width: distance6.optional(),
560
571
  height: distance6.optional(),
561
- outline: z24.array(point).optional(),
572
+ outline: z25.array(point).optional(),
562
573
  outlineOffsetX: distance6.optional(),
563
574
  outlineOffsetY: distance6.optional()
564
575
  });
565
576
  var subcircuitGroupPropsWithBool = subcircuitGroupProps.extend({
566
- subcircuit: z24.literal(true)
577
+ subcircuit: z25.literal(true)
567
578
  });
568
- var groupProps = z24.discriminatedUnion("subcircuit", [
569
- baseGroupProps.extend({ subcircuit: z24.literal(false).optional() }),
579
+ var groupProps = z25.discriminatedUnion("subcircuit", [
580
+ baseGroupProps.extend({ subcircuit: z25.literal(false).optional() }),
570
581
  subcircuitGroupPropsWithBool
571
582
  ]);
572
583
  expectTypesMatch(true);
@@ -575,8 +586,8 @@ expectTypesMatch(true);
575
586
 
576
587
  // lib/components/board.ts
577
588
  var boardProps = subcircuitGroupProps.extend({
578
- material: z25.enum(["fr4", "fr1"]).default("fr4"),
579
- layers: z25.union([z25.literal(2), z25.literal(4)]).default(2),
589
+ material: z26.enum(["fr4", "fr1"]).default("fr4"),
590
+ layers: z26.union([z26.literal(2), z26.literal(4)]).default(2),
580
591
  borderRadius: distance4.optional()
581
592
  });
582
593
  expectTypesMatch(true);
@@ -595,33 +606,33 @@ expectTypesMatch(true);
595
606
 
596
607
  // lib/components/chip.ts
597
608
  import { distance as distance8, supplier_name as supplier_name2 } from "circuit-json";
598
- import { z as z27 } from "zod";
599
- var connectionTarget = z27.string().or(z27.array(z27.string()).readonly()).or(z27.array(z27.string()));
600
- var connectionsProp = z27.custom().pipe(z27.record(z27.string(), connectionTarget));
601
- var pinLabelsProp = z27.record(
609
+ import { z as z28 } from "zod";
610
+ var connectionTarget = z28.string().or(z28.array(z28.string()).readonly()).or(z28.array(z28.string()));
611
+ var connectionsProp = z28.custom().pipe(z28.record(z28.string(), connectionTarget));
612
+ var pinLabelsProp = z28.record(
602
613
  schematicPinLabel,
603
- schematicPinLabel.or(z27.array(schematicPinLabel).readonly()).or(z27.array(schematicPinLabel))
614
+ schematicPinLabel.or(z28.array(schematicPinLabel).readonly()).or(z28.array(schematicPinLabel))
604
615
  );
605
616
  expectTypesMatch(true);
606
- var pinCompatibleVariant = z27.object({
607
- manufacturerPartNumber: z27.string().optional(),
608
- supplierPartNumber: z27.record(supplier_name2, z27.array(z27.string())).optional()
617
+ var pinCompatibleVariant = z28.object({
618
+ manufacturerPartNumber: z28.string().optional(),
619
+ supplierPartNumber: z28.record(supplier_name2, z28.array(z28.string())).optional()
609
620
  });
610
621
  var chipProps = commonComponentProps.extend({
611
- manufacturerPartNumber: z27.string().optional(),
622
+ manufacturerPartNumber: z28.string().optional(),
612
623
  pinLabels: pinLabelsProp.optional(),
613
- showPinAliases: z27.boolean().optional(),
614
- pcbPinLabels: z27.record(z27.string(), z27.string()).optional(),
615
- internallyConnectedPins: z27.array(z27.array(z27.union([z27.string(), z27.number()]))).optional(),
616
- externallyConnectedPins: z27.array(z27.array(z27.string())).optional(),
624
+ showPinAliases: z28.boolean().optional(),
625
+ pcbPinLabels: z28.record(z28.string(), z28.string()).optional(),
626
+ internallyConnectedPins: z28.array(z28.array(z28.union([z28.string(), z28.number()]))).optional(),
627
+ externallyConnectedPins: z28.array(z28.array(z28.string())).optional(),
617
628
  schPinArrangement: schematicPortArrangement.optional(),
618
629
  schPortArrangement: schematicPortArrangement.optional(),
619
- pinCompatibleVariants: z27.array(pinCompatibleVariant).optional(),
630
+ pinCompatibleVariants: z28.array(pinCompatibleVariant).optional(),
620
631
  schPinStyle: schematicPinStyle.optional(),
621
632
  schPinSpacing: distance8.optional(),
622
633
  schWidth: distance8.optional(),
623
634
  schHeight: distance8.optional(),
624
- noSchematicRepresentation: z27.boolean().optional(),
635
+ noSchematicRepresentation: z28.boolean().optional(),
625
636
  connections: connectionsProp.optional()
626
637
  });
627
638
  var bugProps = chipProps;
@@ -635,100 +646,100 @@ expectTypesMatch(true);
635
646
  import { distance as distance9 } from "circuit-json";
636
647
 
637
648
  // lib/common/connectionsProp.ts
638
- import { z as z28 } from "zod";
639
- var connectionTarget2 = z28.string().or(z28.array(z28.string()).readonly()).or(z28.array(z28.string()));
649
+ import { z as z29 } from "zod";
650
+ var connectionTarget2 = z29.string().or(z29.array(z29.string()).readonly()).or(z29.array(z29.string()));
640
651
  var createConnectionsProp = (labels) => {
641
- return z28.record(z28.enum(labels), connectionTarget2);
652
+ return z29.record(z29.enum(labels), connectionTarget2);
642
653
  };
643
654
 
644
655
  // lib/components/jumper.ts
645
- import { z as z29 } from "zod";
656
+ import { z as z30 } from "zod";
646
657
  var jumperProps = commonComponentProps.extend({
647
- manufacturerPartNumber: z29.string().optional(),
648
- pinLabels: z29.record(
649
- z29.number().or(schematicPinLabel),
650
- schematicPinLabel.or(z29.array(schematicPinLabel))
658
+ manufacturerPartNumber: z30.string().optional(),
659
+ pinLabels: z30.record(
660
+ z30.number().or(schematicPinLabel),
661
+ schematicPinLabel.or(z30.array(schematicPinLabel))
651
662
  ).optional(),
652
663
  schPinStyle: schematicPinStyle.optional(),
653
664
  schPinSpacing: distance9.optional(),
654
665
  schWidth: distance9.optional(),
655
666
  schHeight: distance9.optional(),
656
- schDirection: z29.enum(["left", "right"]).optional(),
667
+ schDirection: z30.enum(["left", "right"]).optional(),
657
668
  schPinArrangement: schematicPinArrangement.optional(),
658
669
  schPortArrangement: schematicPortArrangement.optional(),
659
- pcbPinLabels: z29.record(z29.string(), z29.string()).optional(),
660
- pinCount: z29.union([z29.literal(2), z29.literal(3)]).optional(),
661
- internallyConnectedPins: z29.array(z29.array(z29.union([z29.string(), z29.number()]))).optional(),
662
- connections: z29.custom().pipe(z29.record(z29.string(), connectionTarget2)).optional()
670
+ pcbPinLabels: z30.record(z30.string(), z30.string()).optional(),
671
+ pinCount: z30.union([z30.literal(2), z30.literal(3)]).optional(),
672
+ internallyConnectedPins: z30.array(z30.array(z30.union([z30.string(), z30.number()]))).optional(),
673
+ connections: z30.custom().pipe(z30.record(z30.string(), connectionTarget2)).optional()
663
674
  });
664
675
  expectTypesMatch(true);
665
676
 
666
677
  // lib/components/solderjumper.ts
667
- import { z as z30 } from "zod";
678
+ import { z as z31 } from "zod";
668
679
  var solderjumperProps = jumperProps.extend({
669
- bridgedPins: z30.array(z30.array(z30.string())).optional(),
670
- bridged: z30.boolean().optional()
680
+ bridgedPins: z31.array(z31.array(z31.string())).optional(),
681
+ bridged: z31.boolean().optional()
671
682
  });
672
683
  expectTypesMatch(true);
673
684
 
674
685
  // lib/components/connector.ts
675
686
  import { distance as distance10 } from "circuit-json";
676
- import { z as z31 } from "zod";
687
+ import { z as z32 } from "zod";
677
688
  var connectorProps = commonComponentProps.extend({
678
- manufacturerPartNumber: z31.string().optional(),
679
- pinLabels: z31.record(
680
- z31.number().or(schematicPinLabel),
681
- schematicPinLabel.or(z31.array(schematicPinLabel))
689
+ manufacturerPartNumber: z32.string().optional(),
690
+ pinLabels: z32.record(
691
+ z32.number().or(schematicPinLabel),
692
+ schematicPinLabel.or(z32.array(schematicPinLabel))
682
693
  ).optional(),
683
694
  schPinStyle: schematicPinStyle.optional(),
684
695
  schPinSpacing: distance10.optional(),
685
696
  schWidth: distance10.optional(),
686
697
  schHeight: distance10.optional(),
687
- schDirection: z31.enum(["left", "right"]).optional(),
698
+ schDirection: z32.enum(["left", "right"]).optional(),
688
699
  schPortArrangement: schematicPortArrangement.optional(),
689
- internallyConnectedPins: z31.array(z31.array(z31.union([z31.string(), z31.number()]))).optional(),
690
- standard: z31.enum(["usb_c", "m2"]).optional()
700
+ internallyConnectedPins: z32.array(z32.array(z32.union([z32.string(), z32.number()]))).optional(),
701
+ standard: z32.enum(["usb_c", "m2"]).optional()
691
702
  });
692
703
  expectTypesMatch(true);
693
704
 
694
705
  // lib/components/fuse.ts
695
- import { z as z32 } from "zod";
706
+ import { z as z33 } from "zod";
696
707
  var fusePinLabels = ["pin1", "pin2"];
697
708
  var fuseProps = commonComponentProps.extend({
698
- currentRating: z32.union([z32.number(), z32.string()]),
699
- voltageRating: z32.union([z32.number(), z32.string()]).optional(),
700
- schShowRatings: z32.boolean().optional(),
709
+ currentRating: z33.union([z33.number(), z33.string()]),
710
+ voltageRating: z33.union([z33.number(), z33.string()]).optional(),
711
+ schShowRatings: z33.boolean().optional(),
701
712
  schOrientation: schematicOrientation.optional(),
702
- connections: z32.record(
703
- z32.string(),
704
- z32.union([
705
- z32.string(),
706
- z32.array(z32.string()).readonly(),
707
- z32.array(z32.string())
713
+ connections: z33.record(
714
+ z33.string(),
715
+ z33.union([
716
+ z33.string(),
717
+ z33.array(z33.string()).readonly(),
718
+ z33.array(z33.string())
708
719
  ])
709
720
  ).optional()
710
721
  });
711
722
 
712
723
  // lib/components/platedhole.ts
713
724
  import { distance as distance11 } from "circuit-json";
714
- import { z as z33 } from "zod";
715
- var distanceHiddenUndefined = z33.custom().transform((a) => {
725
+ import { z as z34 } from "zod";
726
+ var distanceHiddenUndefined = z34.custom().transform((a) => {
716
727
  if (a === void 0) return void 0;
717
728
  return distance11.parse(a);
718
729
  });
719
- var platedHoleProps = z33.discriminatedUnion("shape", [
730
+ var platedHoleProps = z34.discriminatedUnion("shape", [
720
731
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
721
- name: z33.string().optional(),
722
- connectsTo: z33.string().or(z33.array(z33.string())).optional(),
723
- shape: z33.literal("circle"),
732
+ name: z34.string().optional(),
733
+ connectsTo: z34.string().or(z34.array(z34.string())).optional(),
734
+ shape: z34.literal("circle"),
724
735
  holeDiameter: distance11,
725
736
  outerDiameter: distance11,
726
737
  portHints: portHints.optional()
727
738
  }),
728
739
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
729
- name: z33.string().optional(),
730
- connectsTo: z33.string().or(z33.array(z33.string())).optional(),
731
- shape: z33.literal("oval"),
740
+ name: z34.string().optional(),
741
+ connectsTo: z34.string().or(z34.array(z34.string())).optional(),
742
+ shape: z34.literal("oval"),
732
743
  outerWidth: distance11,
733
744
  outerHeight: distance11,
734
745
  holeWidth: distanceHiddenUndefined,
@@ -738,10 +749,10 @@ var platedHoleProps = z33.discriminatedUnion("shape", [
738
749
  portHints: portHints.optional()
739
750
  }),
740
751
  pcbLayoutProps.omit({ layer: true }).extend({
741
- name: z33.string().optional(),
742
- connectsTo: z33.string().or(z33.array(z33.string())).optional(),
743
- shape: z33.literal("pill"),
744
- rectPad: z33.boolean().optional(),
752
+ name: z34.string().optional(),
753
+ connectsTo: z34.string().or(z34.array(z34.string())).optional(),
754
+ shape: z34.literal("pill"),
755
+ rectPad: z34.boolean().optional(),
745
756
  outerWidth: distance11,
746
757
  outerHeight: distance11,
747
758
  holeWidth: distanceHiddenUndefined,
@@ -751,22 +762,22 @@ var platedHoleProps = z33.discriminatedUnion("shape", [
751
762
  portHints: portHints.optional()
752
763
  }),
753
764
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
754
- name: z33.string().optional(),
755
- connectsTo: z33.string().or(z33.array(z33.string())).optional(),
756
- shape: z33.literal("circular_hole_with_rect_pad"),
765
+ name: z34.string().optional(),
766
+ connectsTo: z34.string().or(z34.array(z34.string())).optional(),
767
+ shape: z34.literal("circular_hole_with_rect_pad"),
757
768
  holeDiameter: distance11,
758
769
  rectPadWidth: distance11,
759
770
  rectPadHeight: distance11,
760
- holeShape: z33.literal("circle").optional(),
761
- padShape: z33.literal("rect").optional(),
771
+ holeShape: z34.literal("circle").optional(),
772
+ padShape: z34.literal("rect").optional(),
762
773
  portHints: portHints.optional()
763
774
  }),
764
775
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
765
- name: z33.string().optional(),
766
- connectsTo: z33.string().or(z33.array(z33.string())).optional(),
767
- shape: z33.literal("pill_hole_with_rect_pad"),
768
- holeShape: z33.literal("pill"),
769
- padShape: z33.literal("rect"),
776
+ name: z34.string().optional(),
777
+ connectsTo: z34.string().or(z34.array(z34.string())).optional(),
778
+ shape: z34.literal("pill_hole_with_rect_pad"),
779
+ holeShape: z34.literal("pill"),
780
+ padShape: z34.literal("rect"),
770
781
  holeWidth: distance11,
771
782
  holeHeight: distance11,
772
783
  rectPadWidth: distance11,
@@ -786,14 +797,14 @@ expectTypesMatch(true);
786
797
 
787
798
  // lib/components/resistor.ts
788
799
  import { resistance } from "circuit-json";
789
- import { z as z34 } from "zod";
800
+ import { z as z35 } from "zod";
790
801
  var resistorPinLabels = ["pin1", "pin2", "pos", "neg"];
791
802
  var resistorProps = commonComponentProps.extend({
792
803
  resistance,
793
- pullupFor: z34.string().optional(),
794
- pullupTo: z34.string().optional(),
795
- pulldownFor: z34.string().optional(),
796
- pulldownTo: z34.string().optional(),
804
+ pullupFor: z35.string().optional(),
805
+ pullupTo: z35.string().optional(),
806
+ pulldownFor: z35.string().optional(),
807
+ pulldownTo: z35.string().optional(),
797
808
  schOrientation: schematicOrientation.optional(),
798
809
  connections: createConnectionsProp(resistorPinLabels).optional()
799
810
  });
@@ -802,23 +813,23 @@ expectTypesMatch(true);
802
813
 
803
814
  // lib/components/potentiometer.ts
804
815
  import { resistance as resistance2 } from "circuit-json";
805
- import { z as z35 } from "zod";
816
+ import { z as z36 } from "zod";
806
817
  var potentiometerProps = commonComponentProps.extend({
807
818
  maxResistance: resistance2,
808
- pinVariant: z35.enum(["two_pin", "three_pin"]).optional()
819
+ pinVariant: z36.enum(["two_pin", "three_pin"]).optional()
809
820
  });
810
821
  expectTypesMatch(true);
811
822
 
812
823
  // lib/components/crystal.ts
813
824
  import { frequency, capacitance } from "circuit-json";
814
- import { z as z36 } from "zod";
825
+ import { z as z37 } from "zod";
815
826
  var crystalPins = lrPins;
816
827
  var crystalProps = commonComponentProps.extend({
817
828
  frequency,
818
829
  loadCapacitance: capacitance,
819
- manufacturerPartNumber: z36.string().optional(),
820
- mpn: z36.string().optional(),
821
- pinVariant: z36.enum(["two_pin", "four_pin"]).optional(),
830
+ manufacturerPartNumber: z37.string().optional(),
831
+ mpn: z37.string().optional(),
832
+ pinVariant: z37.enum(["two_pin", "four_pin"]).optional(),
822
833
  schOrientation: schematicOrientation.optional(),
823
834
  connections: createConnectionsProp(crystalPins).optional()
824
835
  });
@@ -826,34 +837,34 @@ expectTypesMatch(true);
826
837
 
827
838
  // lib/components/resonator.ts
828
839
  import { frequency as frequency2, capacitance as capacitance2 } from "circuit-json";
829
- import { z as z37 } from "zod";
840
+ import { z as z38 } from "zod";
830
841
  var resonatorProps = commonComponentProps.extend({
831
842
  frequency: frequency2,
832
843
  loadCapacitance: capacitance2,
833
- pinVariant: z37.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
844
+ pinVariant: z38.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
834
845
  });
835
846
  expectTypesMatch(true);
836
847
 
837
848
  // lib/components/stampboard.ts
838
849
  import { distance as distance12 } from "circuit-json";
839
- import { z as z38 } from "zod";
850
+ import { z as z39 } from "zod";
840
851
  var stampboardProps = boardProps.extend({
841
- leftPinCount: z38.number().optional(),
842
- rightPinCount: z38.number().optional(),
843
- topPinCount: z38.number().optional(),
844
- bottomPinCount: z38.number().optional(),
845
- leftPins: z38.array(z38.string()).optional(),
846
- rightPins: z38.array(z38.string()).optional(),
847
- topPins: z38.array(z38.string()).optional(),
848
- bottomPins: z38.array(z38.string()).optional(),
852
+ leftPinCount: z39.number().optional(),
853
+ rightPinCount: z39.number().optional(),
854
+ topPinCount: z39.number().optional(),
855
+ bottomPinCount: z39.number().optional(),
856
+ leftPins: z39.array(z39.string()).optional(),
857
+ rightPins: z39.array(z39.string()).optional(),
858
+ topPins: z39.array(z39.string()).optional(),
859
+ bottomPins: z39.array(z39.string()).optional(),
849
860
  pinPitch: distance12.optional(),
850
- innerHoles: z38.boolean().optional()
861
+ innerHoles: z39.boolean().optional()
851
862
  });
852
863
  expectTypesMatch(true);
853
864
 
854
865
  // lib/components/capacitor.ts
855
866
  import { capacitance as capacitance3, voltage } from "circuit-json";
856
- import { z as z39 } from "zod";
867
+ import { z as z40 } from "zod";
857
868
  var capacitorPinLabels = [
858
869
  "pin1",
859
870
  "pin2",
@@ -865,13 +876,13 @@ var capacitorPinLabels = [
865
876
  var capacitorProps = commonComponentProps.extend({
866
877
  capacitance: capacitance3,
867
878
  maxVoltageRating: voltage.optional(),
868
- schShowRatings: z39.boolean().optional().default(false),
869
- polarized: z39.boolean().optional().default(false),
870
- decouplingFor: z39.string().optional(),
871
- decouplingTo: z39.string().optional(),
872
- bypassFor: z39.string().optional(),
873
- bypassTo: z39.string().optional(),
874
- maxDecouplingTraceLength: z39.number().optional(),
879
+ schShowRatings: z40.boolean().optional().default(false),
880
+ polarized: z40.boolean().optional().default(false),
881
+ decouplingFor: z40.string().optional(),
882
+ decouplingTo: z40.string().optional(),
883
+ bypassFor: z40.string().optional(),
884
+ bypassTo: z40.string().optional(),
885
+ maxDecouplingTraceLength: z40.number().optional(),
875
886
  schOrientation: schematicOrientation.optional(),
876
887
  connections: createConnectionsProp(capacitorPinLabels).optional()
877
888
  });
@@ -879,63 +890,63 @@ var capacitorPins = lrPolarPins;
879
890
  expectTypesMatch(true);
880
891
 
881
892
  // lib/components/net.ts
882
- import { z as z40 } from "zod";
883
- var netProps = z40.object({
884
- name: z40.string(),
885
- connectsTo: z40.string().or(z40.array(z40.string())).optional()
893
+ import { z as z41 } from "zod";
894
+ var netProps = z41.object({
895
+ name: z41.string(),
896
+ connectsTo: z41.string().or(z41.array(z41.string())).optional()
886
897
  });
887
898
  expectTypesMatch(true);
888
899
 
889
900
  // lib/components/constrainedlayout.ts
890
- import { z as z41 } from "zod";
891
- var constrainedLayoutProps = z41.object({
892
- name: z41.string().optional(),
893
- pcbOnly: z41.boolean().optional(),
894
- schOnly: z41.boolean().optional()
901
+ import { z as z42 } from "zod";
902
+ var constrainedLayoutProps = z42.object({
903
+ name: z42.string().optional(),
904
+ pcbOnly: z42.boolean().optional(),
905
+ schOnly: z42.boolean().optional()
895
906
  });
896
907
  expectTypesMatch(true);
897
908
 
898
909
  // lib/components/constraint.ts
899
- import { z as z42 } from "zod";
900
- var pcbXDistConstraintProps = z42.object({
901
- pcb: z42.literal(true).optional(),
910
+ import { z as z43 } from "zod";
911
+ var pcbXDistConstraintProps = z43.object({
912
+ pcb: z43.literal(true).optional(),
902
913
  xDist: distance4,
903
- left: z42.string(),
904
- right: z42.string(),
905
- edgeToEdge: z42.literal(true).optional(),
906
- centerToCenter: z42.literal(true).optional()
914
+ left: z43.string(),
915
+ right: z43.string(),
916
+ edgeToEdge: z43.literal(true).optional(),
917
+ centerToCenter: z43.literal(true).optional()
907
918
  });
908
919
  expectTypesMatch(
909
920
  true
910
921
  );
911
- var pcbYDistConstraintProps = z42.object({
912
- pcb: z42.literal(true).optional(),
922
+ var pcbYDistConstraintProps = z43.object({
923
+ pcb: z43.literal(true).optional(),
913
924
  yDist: distance4,
914
- top: z42.string(),
915
- bottom: z42.string(),
916
- edgeToEdge: z42.literal(true).optional(),
917
- centerToCenter: z42.literal(true).optional()
925
+ top: z43.string(),
926
+ bottom: z43.string(),
927
+ edgeToEdge: z43.literal(true).optional(),
928
+ centerToCenter: z43.literal(true).optional()
918
929
  });
919
930
  expectTypesMatch(
920
931
  true
921
932
  );
922
- var pcbSameYConstraintProps = z42.object({
923
- pcb: z42.literal(true).optional(),
924
- sameY: z42.literal(true).optional(),
925
- for: z42.array(z42.string())
933
+ var pcbSameYConstraintProps = z43.object({
934
+ pcb: z43.literal(true).optional(),
935
+ sameY: z43.literal(true).optional(),
936
+ for: z43.array(z43.string())
926
937
  });
927
938
  expectTypesMatch(
928
939
  true
929
940
  );
930
- var pcbSameXConstraintProps = z42.object({
931
- pcb: z42.literal(true).optional(),
932
- sameX: z42.literal(true).optional(),
933
- for: z42.array(z42.string())
941
+ var pcbSameXConstraintProps = z43.object({
942
+ pcb: z43.literal(true).optional(),
943
+ sameX: z43.literal(true).optional(),
944
+ for: z43.array(z43.string())
934
945
  });
935
946
  expectTypesMatch(
936
947
  true
937
948
  );
938
- var constraintProps = z42.union([
949
+ var constraintProps = z43.union([
939
950
  pcbXDistConstraintProps,
940
951
  pcbYDistConstraintProps,
941
952
  pcbSameYConstraintProps,
@@ -944,13 +955,13 @@ var constraintProps = z42.union([
944
955
  expectTypesMatch(true);
945
956
 
946
957
  // lib/components/cutout.ts
947
- import { z as z43 } from "zod";
958
+ import { z as z44 } from "zod";
948
959
  var rectCutoutProps = pcbLayoutProps.omit({
949
960
  layer: true,
950
961
  pcbRotation: true
951
962
  }).extend({
952
- name: z43.string().optional(),
953
- shape: z43.literal("rect"),
963
+ name: z44.string().optional(),
964
+ shape: z44.literal("rect"),
954
965
  width: distance4,
955
966
  height: distance4
956
967
  });
@@ -959,8 +970,8 @@ var circleCutoutProps = pcbLayoutProps.omit({
959
970
  layer: true,
960
971
  pcbRotation: true
961
972
  }).extend({
962
- name: z43.string().optional(),
963
- shape: z43.literal("circle"),
973
+ name: z44.string().optional(),
974
+ shape: z44.literal("circle"),
964
975
  radius: distance4
965
976
  });
966
977
  expectTypesMatch(true);
@@ -968,46 +979,46 @@ var polygonCutoutProps = pcbLayoutProps.omit({
968
979
  layer: true,
969
980
  pcbRotation: true
970
981
  }).extend({
971
- name: z43.string().optional(),
972
- shape: z43.literal("polygon"),
973
- points: z43.array(point)
982
+ name: z44.string().optional(),
983
+ shape: z44.literal("polygon"),
984
+ points: z44.array(point)
974
985
  });
975
986
  expectTypesMatch(true);
976
- var cutoutProps = z43.discriminatedUnion("shape", [
987
+ var cutoutProps = z44.discriminatedUnion("shape", [
977
988
  rectCutoutProps,
978
989
  circleCutoutProps,
979
990
  polygonCutoutProps
980
991
  ]);
981
992
 
982
993
  // lib/components/smtpad.ts
983
- import { z as z44 } from "zod";
994
+ import { z as z45 } from "zod";
984
995
  var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
985
- name: z44.string().optional(),
986
- shape: z44.literal("rect"),
996
+ name: z45.string().optional(),
997
+ shape: z45.literal("rect"),
987
998
  width: distance4,
988
999
  height: distance4,
989
1000
  portHints: portHints.optional()
990
1001
  });
991
1002
  expectTypesMatch(true);
992
1003
  var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
993
- name: z44.string().optional(),
994
- shape: z44.literal("rotated_rect"),
1004
+ name: z45.string().optional(),
1005
+ shape: z45.literal("rotated_rect"),
995
1006
  width: distance4,
996
1007
  height: distance4,
997
- ccwRotation: z44.number(),
1008
+ ccwRotation: z45.number(),
998
1009
  portHints: portHints.optional()
999
1010
  });
1000
1011
  expectTypesMatch(true);
1001
1012
  var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1002
- name: z44.string().optional(),
1003
- shape: z44.literal("circle"),
1013
+ name: z45.string().optional(),
1014
+ shape: z45.literal("circle"),
1004
1015
  radius: distance4,
1005
1016
  portHints: portHints.optional()
1006
1017
  });
1007
1018
  expectTypesMatch(true);
1008
1019
  var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1009
- name: z44.string().optional(),
1010
- shape: z44.literal("pill"),
1020
+ name: z45.string().optional(),
1021
+ shape: z45.literal("pill"),
1011
1022
  width: distance4,
1012
1023
  height: distance4,
1013
1024
  radius: distance4,
@@ -1015,13 +1026,13 @@ var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1015
1026
  });
1016
1027
  expectTypesMatch(true);
1017
1028
  var polygonSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1018
- name: z44.string().optional(),
1019
- shape: z44.literal("polygon"),
1020
- points: z44.array(point),
1029
+ name: z45.string().optional(),
1030
+ shape: z45.literal("polygon"),
1031
+ points: z45.array(point),
1021
1032
  portHints: portHints.optional()
1022
1033
  });
1023
1034
  expectTypesMatch(true);
1024
- var smtPadProps = z44.discriminatedUnion("shape", [
1035
+ var smtPadProps = z45.discriminatedUnion("shape", [
1025
1036
  circleSmtPadProps,
1026
1037
  rectSmtPadProps,
1027
1038
  rotatedRectSmtPadProps,
@@ -1031,28 +1042,28 @@ var smtPadProps = z44.discriminatedUnion("shape", [
1031
1042
  expectTypesMatch(true);
1032
1043
 
1033
1044
  // lib/components/solderpaste.ts
1034
- import { z as z45 } from "zod";
1045
+ import { z as z46 } from "zod";
1035
1046
  var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1036
- shape: z45.literal("rect"),
1047
+ shape: z46.literal("rect"),
1037
1048
  width: distance4,
1038
1049
  height: distance4
1039
1050
  });
1040
1051
  expectTypesMatch(true);
1041
1052
  var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1042
- shape: z45.literal("circle"),
1053
+ shape: z46.literal("circle"),
1043
1054
  radius: distance4
1044
1055
  });
1045
1056
  expectTypesMatch(true);
1046
- var solderPasteProps = z45.union([
1057
+ var solderPasteProps = z46.union([
1047
1058
  circleSolderPasteProps,
1048
1059
  rectSolderPasteProps
1049
1060
  ]);
1050
1061
  expectTypesMatch(true);
1051
1062
 
1052
1063
  // lib/components/hole.ts
1053
- import { z as z46 } from "zod";
1064
+ import { z as z47 } from "zod";
1054
1065
  var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1055
- name: z46.string().optional(),
1066
+ name: z47.string().optional(),
1056
1067
  diameter: distance4.optional(),
1057
1068
  radius: distance4.optional()
1058
1069
  }).transform((d) => ({
@@ -1064,27 +1075,27 @@ expectTypesMatch(true);
1064
1075
 
1065
1076
  // lib/components/trace.ts
1066
1077
  import { distance as distance13, route_hint_point as route_hint_point2 } from "circuit-json";
1067
- import { z as z47 } from "zod";
1068
- var portRef = z47.union([
1069
- z47.string(),
1070
- z47.custom(
1078
+ import { z as z48 } from "zod";
1079
+ var portRef = z48.union([
1080
+ z48.string(),
1081
+ z48.custom(
1071
1082
  (v) => Boolean(v.getPortSelector)
1072
1083
  )
1073
1084
  ]);
1074
- var baseTraceProps = z47.object({
1075
- key: z47.string().optional(),
1085
+ var baseTraceProps = z48.object({
1086
+ key: z48.string().optional(),
1076
1087
  thickness: distance13.optional(),
1077
- schematicRouteHints: z47.array(point).optional(),
1078
- pcbRouteHints: z47.array(route_hint_point2).optional(),
1079
- pcbPathRelativeTo: z47.string().optional(),
1080
- pcbPath: z47.array(point).optional(),
1081
- schDisplayLabel: z47.string().optional(),
1082
- schStroke: z47.string().optional(),
1088
+ schematicRouteHints: z48.array(point).optional(),
1089
+ pcbRouteHints: z48.array(route_hint_point2).optional(),
1090
+ pcbPathRelativeTo: z48.string().optional(),
1091
+ pcbPath: z48.array(point).optional(),
1092
+ schDisplayLabel: z48.string().optional(),
1093
+ schStroke: z48.string().optional(),
1083
1094
  maxLength: distance13.optional()
1084
1095
  });
1085
- var traceProps = z47.union([
1096
+ var traceProps = z48.union([
1086
1097
  baseTraceProps.extend({
1087
- path: z47.array(portRef)
1098
+ path: z48.array(portRef)
1088
1099
  }),
1089
1100
  baseTraceProps.extend({
1090
1101
  from: portRef,
@@ -1094,23 +1105,23 @@ var traceProps = z47.union([
1094
1105
 
1095
1106
  // lib/components/footprint.ts
1096
1107
  import { layer_ref as layer_ref4 } from "circuit-json";
1097
- import { z as z48 } from "zod";
1098
- var footprintProps = z48.object({
1108
+ import { z as z49 } from "zod";
1109
+ var footprintProps = z49.object({
1099
1110
  originalLayer: layer_ref4.default("top").optional()
1100
1111
  });
1101
1112
  expectTypesMatch(true);
1102
1113
 
1103
1114
  // lib/components/symbol.ts
1104
- import { z as z49 } from "zod";
1105
- var symbolProps = z49.object({
1106
- originalFacingDirection: z49.enum(["up", "down", "left", "right"]).default("right").optional()
1115
+ import { z as z50 } from "zod";
1116
+ var symbolProps = z50.object({
1117
+ originalFacingDirection: z50.enum(["up", "down", "left", "right"]).default("right").optional()
1107
1118
  });
1108
1119
  expectTypesMatch(true);
1109
1120
 
1110
1121
  // lib/components/battery.ts
1111
1122
  import { voltage as voltage2 } from "circuit-json";
1112
- import { z as z50 } from "zod";
1113
- var capacity = z50.number().or(z50.string().endsWith("mAh")).transform((v) => {
1123
+ import { z as z51 } from "zod";
1124
+ var capacity = z51.number().or(z51.string().endsWith("mAh")).transform((v) => {
1114
1125
  if (typeof v === "string") {
1115
1126
  const valString = v.replace("mAh", "");
1116
1127
  const num = Number.parseFloat(valString);
@@ -1124,7 +1135,7 @@ var capacity = z50.number().or(z50.string().endsWith("mAh")).transform((v) => {
1124
1135
  var batteryProps = commonComponentProps.extend({
1125
1136
  capacity: capacity.optional(),
1126
1137
  voltage: voltage2.optional(),
1127
- standard: z50.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
1138
+ standard: z51.enum(["AA", "AAA", "9V", "CR2032", "18650", "C"]).optional(),
1128
1139
  schOrientation: schematicOrientation.optional()
1129
1140
  });
1130
1141
  var batteryPins = lrPolarPins;
@@ -1134,29 +1145,29 @@ expectTypesMatch(true);
1134
1145
  import { distance as distance14 } from "circuit-json";
1135
1146
 
1136
1147
  // lib/common/pcbOrientation.ts
1137
- import { z as z51 } from "zod";
1138
- var pcbOrientation = z51.enum(["vertical", "horizontal"]).describe(
1148
+ import { z as z52 } from "zod";
1149
+ var pcbOrientation = z52.enum(["vertical", "horizontal"]).describe(
1139
1150
  "vertical means pins go 1->2 downward and horizontal means pins go 1->2 rightward"
1140
1151
  );
1141
1152
  expectTypesMatch(true);
1142
1153
 
1143
1154
  // lib/components/pin-header.ts
1144
- import { z as z52 } from "zod";
1155
+ import { z as z53 } from "zod";
1145
1156
  var pinHeaderProps = commonComponentProps.extend({
1146
- pinCount: z52.number(),
1157
+ pinCount: z53.number(),
1147
1158
  pitch: distance14.optional(),
1148
- schFacingDirection: z52.enum(["up", "down", "left", "right"]).optional(),
1149
- gender: z52.enum(["male", "female", "unpopulated"]).optional().default("male"),
1150
- showSilkscreenPinLabels: z52.boolean().optional(),
1151
- pcbPinLabels: z52.record(z52.string(), z52.string()).optional(),
1152
- doubleRow: z52.boolean().optional(),
1153
- rightAngle: z52.boolean().optional(),
1159
+ schFacingDirection: z53.enum(["up", "down", "left", "right"]).optional(),
1160
+ gender: z53.enum(["male", "female", "unpopulated"]).optional().default("male"),
1161
+ showSilkscreenPinLabels: z53.boolean().optional(),
1162
+ pcbPinLabels: z53.record(z53.string(), z53.string()).optional(),
1163
+ doubleRow: z53.boolean().optional(),
1164
+ rightAngle: z53.boolean().optional(),
1154
1165
  pcbOrientation: pcbOrientation.optional(),
1155
1166
  holeDiameter: distance14.optional(),
1156
1167
  platedDiameter: distance14.optional(),
1157
- pinLabels: z52.record(z52.string(), schematicPinLabel).or(z52.array(schematicPinLabel)).optional(),
1158
- connections: z52.custom().pipe(z52.record(z52.string(), connectionTarget2)).optional(),
1159
- facingDirection: z52.enum(["left", "right"]).optional(),
1168
+ pinLabels: z53.record(z53.string(), schematicPinLabel).or(z53.array(schematicPinLabel)).optional(),
1169
+ connections: z53.custom().pipe(z53.record(z53.string(), connectionTarget2)).optional(),
1170
+ facingDirection: z53.enum(["left", "right"]).optional(),
1160
1171
  schPinArrangement: schematicPinArrangement.optional(),
1161
1172
  schPinStyle: schematicPinStyle.optional(),
1162
1173
  schPinSpacing: distance14.optional(),
@@ -1166,29 +1177,29 @@ var pinHeaderProps = commonComponentProps.extend({
1166
1177
  expectTypesMatch(true);
1167
1178
 
1168
1179
  // lib/components/netalias.ts
1169
- import { z as z53 } from "zod";
1180
+ import { z as z54 } from "zod";
1170
1181
  import { rotation as rotation2 } from "circuit-json";
1171
- var netAliasProps = z53.object({
1172
- net: z53.string().optional(),
1173
- connection: z53.string().optional(),
1182
+ var netAliasProps = z54.object({
1183
+ net: z54.string().optional(),
1184
+ connection: z54.string().optional(),
1174
1185
  schX: distance4.optional(),
1175
1186
  schY: distance4.optional(),
1176
1187
  schRotation: rotation2.optional(),
1177
- anchorSide: z53.enum(["left", "top", "right", "bottom"]).optional()
1188
+ anchorSide: z54.enum(["left", "top", "right", "bottom"]).optional()
1178
1189
  });
1179
1190
  expectTypesMatch(true);
1180
1191
 
1181
1192
  // lib/components/netlabel.ts
1182
- import { z as z54 } from "zod";
1193
+ import { z as z55 } from "zod";
1183
1194
  import { rotation as rotation3 } from "circuit-json";
1184
- var netLabelProps = z54.object({
1185
- net: z54.string().optional(),
1186
- connection: z54.string().optional(),
1187
- connectsTo: z54.string().or(z54.array(z54.string())).optional(),
1195
+ var netLabelProps = z55.object({
1196
+ net: z55.string().optional(),
1197
+ connection: z55.string().optional(),
1198
+ connectsTo: z55.string().or(z55.array(z55.string())).optional(),
1188
1199
  schX: distance4.optional(),
1189
1200
  schY: distance4.optional(),
1190
1201
  schRotation: rotation3.optional(),
1191
- anchorSide: z54.enum(["left", "top", "right", "bottom"]).optional()
1202
+ anchorSide: z55.enum(["left", "top", "right", "bottom"]).optional()
1192
1203
  });
1193
1204
  expectTypesMatch(true);
1194
1205
 
@@ -1202,7 +1213,7 @@ var subcircuitProps = subcircuitGroupProps;
1202
1213
  expectTypesMatch(true);
1203
1214
 
1204
1215
  // lib/components/transistor.ts
1205
- import { z as z56 } from "zod";
1216
+ import { z as z57 } from "zod";
1206
1217
  var transistorPinsLabels = [
1207
1218
  "pin1",
1208
1219
  "pin2",
@@ -1215,7 +1226,7 @@ var transistorPinsLabels = [
1215
1226
  "drain"
1216
1227
  ];
1217
1228
  var transistorProps = commonComponentProps.extend({
1218
- type: z56.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
1229
+ type: z57.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"]),
1219
1230
  connections: createConnectionsProp(transistorPinsLabels).optional()
1220
1231
  });
1221
1232
  var transistorPins = [
@@ -1229,10 +1240,10 @@ var transistorPins = [
1229
1240
  expectTypesMatch(true);
1230
1241
 
1231
1242
  // lib/components/mosfet.ts
1232
- import { z as z57 } from "zod";
1243
+ import { z as z58 } from "zod";
1233
1244
  var mosfetProps = commonComponentProps.extend({
1234
- channelType: z57.enum(["n", "p"]),
1235
- mosfetMode: z57.enum(["enhancement", "depletion"])
1245
+ channelType: z58.enum(["n", "p"]),
1246
+ mosfetMode: z58.enum(["enhancement", "depletion"])
1236
1247
  });
1237
1248
  var mosfetPins = [
1238
1249
  "pin1",
@@ -1246,19 +1257,19 @@ expectTypesMatch(true);
1246
1257
 
1247
1258
  // lib/components/inductor.ts
1248
1259
  import { inductance } from "circuit-json";
1249
- import { z as z58 } from "zod";
1260
+ import { z as z59 } from "zod";
1250
1261
  var inductorPins = lrPins;
1251
1262
  var inductorProps = commonComponentProps.extend({
1252
1263
  inductance,
1253
- maxCurrentRating: z58.union([z58.string(), z58.number()]).optional(),
1264
+ maxCurrentRating: z59.union([z59.string(), z59.number()]).optional(),
1254
1265
  schOrientation: schematicOrientation.optional(),
1255
1266
  connections: createConnectionsProp(inductorPins).optional()
1256
1267
  });
1257
1268
  expectTypesMatch(true);
1258
1269
 
1259
1270
  // lib/components/diode.ts
1260
- import { z as z59 } from "zod";
1261
- var diodeConnectionKeys = z59.enum([
1271
+ import { z as z60 } from "zod";
1272
+ var diodeConnectionKeys = z60.enum([
1262
1273
  "anode",
1263
1274
  "cathode",
1264
1275
  "pin1",
@@ -1266,9 +1277,9 @@ var diodeConnectionKeys = z59.enum([
1266
1277
  "pos",
1267
1278
  "neg"
1268
1279
  ]);
1269
- var connectionTarget3 = z59.string().or(z59.array(z59.string()).readonly()).or(z59.array(z59.string()));
1270
- var connectionsProp2 = z59.record(diodeConnectionKeys, connectionTarget3);
1271
- var diodeVariant = z59.enum([
1280
+ var connectionTarget3 = z60.string().or(z60.array(z60.string()).readonly()).or(z60.array(z60.string()));
1281
+ var connectionsProp2 = z60.record(diodeConnectionKeys, connectionTarget3);
1282
+ var diodeVariant = z60.enum([
1272
1283
  "standard",
1273
1284
  "schottky",
1274
1285
  "zener",
@@ -1279,12 +1290,12 @@ var diodeVariant = z59.enum([
1279
1290
  var diodeProps = commonComponentProps.extend({
1280
1291
  connections: connectionsProp2.optional(),
1281
1292
  variant: diodeVariant.optional().default("standard"),
1282
- standard: z59.boolean().optional(),
1283
- schottky: z59.boolean().optional(),
1284
- zener: z59.boolean().optional(),
1285
- avalanche: z59.boolean().optional(),
1286
- photo: z59.boolean().optional(),
1287
- tvs: z59.boolean().optional(),
1293
+ standard: z60.boolean().optional(),
1294
+ schottky: z60.boolean().optional(),
1295
+ zener: z60.boolean().optional(),
1296
+ avalanche: z60.boolean().optional(),
1297
+ photo: z60.boolean().optional(),
1298
+ tvs: z60.boolean().optional(),
1288
1299
  schOrientation: schematicOrientation.optional()
1289
1300
  }).superRefine((data, ctx) => {
1290
1301
  const enabledFlags = [
@@ -1297,11 +1308,11 @@ var diodeProps = commonComponentProps.extend({
1297
1308
  ].filter(Boolean).length;
1298
1309
  if (enabledFlags > 1) {
1299
1310
  ctx.addIssue({
1300
- code: z59.ZodIssueCode.custom,
1311
+ code: z60.ZodIssueCode.custom,
1301
1312
  message: "Exactly one diode variant must be enabled",
1302
1313
  path: []
1303
1314
  });
1304
- return z59.INVALID;
1315
+ return z60.INVALID;
1305
1316
  }
1306
1317
  }).transform((data) => {
1307
1318
  const result = {
@@ -1348,26 +1359,26 @@ var diodePins = lrPolarPins;
1348
1359
  expectTypesMatch(true);
1349
1360
 
1350
1361
  // lib/components/led.ts
1351
- import { z as z60 } from "zod";
1362
+ import { z as z61 } from "zod";
1352
1363
  var ledProps = commonComponentProps.extend({
1353
- color: z60.string().optional(),
1354
- wavelength: z60.string().optional(),
1355
- schDisplayValue: z60.string().optional(),
1364
+ color: z61.string().optional(),
1365
+ wavelength: z61.string().optional(),
1366
+ schDisplayValue: z61.string().optional(),
1356
1367
  schOrientation: schematicOrientation.optional(),
1357
1368
  connections: createConnectionsProp(lrPolarPins).optional(),
1358
- laser: z60.boolean().optional()
1369
+ laser: z61.boolean().optional()
1359
1370
  });
1360
1371
  var ledPins = lrPolarPins;
1361
1372
 
1362
1373
  // lib/components/switch.ts
1363
- import { z as z61 } from "zod";
1374
+ import { z as z62 } from "zod";
1364
1375
  var switchProps = commonComponentProps.extend({
1365
- type: z61.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
1366
- isNormallyClosed: z61.boolean().optional().default(false),
1367
- spst: z61.boolean().optional(),
1368
- spdt: z61.boolean().optional(),
1369
- dpst: z61.boolean().optional(),
1370
- dpdt: z61.boolean().optional()
1376
+ type: z62.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
1377
+ isNormallyClosed: z62.boolean().optional().default(false),
1378
+ spst: z62.boolean().optional(),
1379
+ spdt: z62.boolean().optional(),
1380
+ dpst: z62.boolean().optional(),
1381
+ dpdt: z62.boolean().optional()
1371
1382
  }).transform((props) => {
1372
1383
  const updatedProps = { ...props };
1373
1384
  if (updatedProps.dpdt) {
@@ -1399,52 +1410,52 @@ expectTypesMatch(true);
1399
1410
 
1400
1411
  // lib/components/fabrication-note-text.ts
1401
1412
  import { length as length3 } from "circuit-json";
1402
- import { z as z62 } from "zod";
1413
+ import { z as z63 } from "zod";
1403
1414
  var fabricationNoteTextProps = pcbLayoutProps.extend({
1404
- text: z62.string(),
1405
- anchorAlignment: z62.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1406
- font: z62.enum(["tscircuit2024"]).optional(),
1415
+ text: z63.string(),
1416
+ anchorAlignment: z63.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1417
+ font: z63.enum(["tscircuit2024"]).optional(),
1407
1418
  fontSize: length3.optional(),
1408
- color: z62.string().optional()
1419
+ color: z63.string().optional()
1409
1420
  });
1410
1421
 
1411
1422
  // lib/components/fabrication-note-path.ts
1412
1423
  import { length as length4, route_hint_point as route_hint_point3 } from "circuit-json";
1413
- import { z as z63 } from "zod";
1424
+ import { z as z64 } from "zod";
1414
1425
  var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
1415
- route: z63.array(route_hint_point3),
1426
+ route: z64.array(route_hint_point3),
1416
1427
  strokeWidth: length4.optional(),
1417
- color: z63.string().optional()
1428
+ color: z64.string().optional()
1418
1429
  });
1419
1430
 
1420
1431
  // lib/components/pcb-trace.ts
1421
1432
  import { distance as distance15, route_hint_point as route_hint_point4 } from "circuit-json";
1422
- import { z as z64 } from "zod";
1423
- var pcbTraceProps = z64.object({
1424
- layer: z64.string().optional(),
1433
+ import { z as z65 } from "zod";
1434
+ var pcbTraceProps = z65.object({
1435
+ layer: z65.string().optional(),
1425
1436
  thickness: distance15.optional(),
1426
- route: z64.array(route_hint_point4)
1437
+ route: z65.array(route_hint_point4)
1427
1438
  });
1428
1439
 
1429
1440
  // lib/components/via.ts
1430
1441
  import { distance as distance16, layer_ref as layer_ref5 } from "circuit-json";
1431
- import { z as z65 } from "zod";
1442
+ import { z as z66 } from "zod";
1432
1443
  var viaProps = commonLayoutProps.extend({
1433
- name: z65.string().optional(),
1444
+ name: z66.string().optional(),
1434
1445
  fromLayer: layer_ref5,
1435
1446
  toLayer: layer_ref5,
1436
1447
  holeDiameter: distance16,
1437
1448
  outerDiameter: distance16,
1438
- connectsTo: z65.string().or(z65.array(z65.string())).optional()
1449
+ connectsTo: z66.string().or(z66.array(z66.string())).optional()
1439
1450
  });
1440
1451
  expectTypesMatch(true);
1441
1452
 
1442
1453
  // lib/components/testpoint.ts
1443
1454
  import { distance as distance17 } from "circuit-json";
1444
- import { z as z66 } from "zod";
1455
+ import { z as z67 } from "zod";
1445
1456
  var testpointProps = commonComponentProps.extend({
1446
- footprintVariant: z66.enum(["pad", "through_hole"]).optional(),
1447
- padShape: z66.enum(["rect", "circle"]).optional().default("circle"),
1457
+ footprintVariant: z67.enum(["pad", "through_hole"]).optional(),
1458
+ padShape: z67.enum(["rect", "circle"]).optional().default("circle"),
1448
1459
  padDiameter: distance17.optional(),
1449
1460
  holeDiameter: distance17.optional(),
1450
1461
  width: distance17.optional(),
@@ -1456,44 +1467,44 @@ var testpointProps = commonComponentProps.extend({
1456
1467
  expectTypesMatch(true);
1457
1468
 
1458
1469
  // lib/components/breakoutpoint.ts
1459
- import { z as z67 } from "zod";
1470
+ import { z as z68 } from "zod";
1460
1471
  var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
1461
- connection: z67.string()
1472
+ connection: z68.string()
1462
1473
  });
1463
1474
  expectTypesMatch(true);
1464
1475
 
1465
1476
  // lib/components/pcb-keepout.ts
1466
1477
  import { distance as distance18 } from "circuit-json";
1467
- import { z as z68 } from "zod";
1468
- var pcbKeepoutProps = z68.union([
1478
+ import { z as z69 } from "zod";
1479
+ var pcbKeepoutProps = z69.union([
1469
1480
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
1470
- shape: z68.literal("circle"),
1481
+ shape: z69.literal("circle"),
1471
1482
  radius: distance18
1472
1483
  }),
1473
1484
  pcbLayoutProps.extend({
1474
- shape: z68.literal("rect"),
1485
+ shape: z69.literal("rect"),
1475
1486
  width: distance18,
1476
1487
  height: distance18
1477
1488
  })
1478
1489
  ]);
1479
1490
 
1480
1491
  // lib/components/copper-pour.ts
1481
- import { z as z69 } from "zod";
1492
+ import { z as z70 } from "zod";
1482
1493
  var rectCopperPourProps = pcbLayoutProps.omit({
1483
1494
  pcbRotation: true
1484
1495
  }).extend({
1485
- shape: z69.literal("rect"),
1496
+ shape: z70.literal("rect"),
1486
1497
  width: distance4,
1487
1498
  height: distance4,
1488
- connectsTo: z69.string().or(z69.array(z69.string())).optional()
1499
+ connectsTo: z70.string().or(z70.array(z70.string())).optional()
1489
1500
  });
1490
1501
  expectTypesMatch(true);
1491
1502
  var circleCopperPourProps = pcbLayoutProps.omit({
1492
1503
  pcbRotation: true
1493
1504
  }).extend({
1494
- shape: z69.literal("circle"),
1505
+ shape: z70.literal("circle"),
1495
1506
  radius: distance4,
1496
- connectsTo: z69.string().or(z69.array(z69.string())).optional()
1507
+ connectsTo: z70.string().or(z70.array(z70.string())).optional()
1497
1508
  });
1498
1509
  expectTypesMatch(
1499
1510
  true
@@ -1501,12 +1512,12 @@ expectTypesMatch(
1501
1512
  var polygonCopperPourProps = pcbLayoutProps.omit({
1502
1513
  pcbRotation: true
1503
1514
  }).extend({
1504
- shape: z69.literal("polygon"),
1505
- points: z69.array(point),
1506
- connectsTo: z69.string().or(z69.array(z69.string())).optional()
1515
+ shape: z70.literal("polygon"),
1516
+ points: z70.array(point),
1517
+ connectsTo: z70.string().or(z70.array(z70.string())).optional()
1507
1518
  });
1508
1519
  expectTypesMatch(true);
1509
- var copperPourProps = z69.discriminatedUnion("shape", [
1520
+ var copperPourProps = z70.discriminatedUnion("shape", [
1510
1521
  rectCopperPourProps,
1511
1522
  circleCopperPourProps,
1512
1523
  polygonCopperPourProps
@@ -1520,9 +1531,9 @@ var powerSourceProps = commonComponentProps.extend({
1520
1531
 
1521
1532
  // lib/components/voltagesource.ts
1522
1533
  import { frequency as frequency3, rotation as rotation4, voltage as voltage4 } from "circuit-json";
1523
- import { z as z70 } from "zod";
1534
+ import { z as z71 } from "zod";
1524
1535
  var voltageSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
1525
- var percentage = z70.union([z70.string(), z70.number()]).transform((val) => {
1536
+ var percentage = z71.union([z71.string(), z71.number()]).transform((val) => {
1526
1537
  if (typeof val === "string") {
1527
1538
  if (val.endsWith("%")) {
1528
1539
  return parseFloat(val.slice(0, -1)) / 100;
@@ -1531,13 +1542,13 @@ var percentage = z70.union([z70.string(), z70.number()]).transform((val) => {
1531
1542
  }
1532
1543
  return val;
1533
1544
  }).pipe(
1534
- z70.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
1545
+ z71.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
1535
1546
  );
1536
1547
  var voltageSourceProps = commonComponentProps.extend({
1537
1548
  voltage: voltage4.optional(),
1538
1549
  frequency: frequency3.optional(),
1539
1550
  peakToPeakVoltage: voltage4.optional(),
1540
- waveShape: z70.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
1551
+ waveShape: z71.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
1541
1552
  phase: rotation4.optional(),
1542
1553
  dutyCycle: percentage.optional(),
1543
1554
  connections: createConnectionsProp(voltageSourcePinLabels).optional()
@@ -1547,11 +1558,11 @@ expectTypesMatch(true);
1547
1558
 
1548
1559
  // lib/components/schematic-box.ts
1549
1560
  import { distance as distance19 } from "circuit-json";
1550
- import { z as z72 } from "zod";
1561
+ import { z as z73 } from "zod";
1551
1562
 
1552
1563
  // lib/common/ninePointAnchor.ts
1553
- import { z as z71 } from "zod";
1554
- var ninePointAnchor = z71.enum([
1564
+ import { z as z72 } from "zod";
1565
+ var ninePointAnchor = z72.enum([
1555
1566
  "top_left",
1556
1567
  "top_center",
1557
1568
  "top_right",
@@ -1564,23 +1575,23 @@ var ninePointAnchor = z71.enum([
1564
1575
  ]);
1565
1576
 
1566
1577
  // lib/components/schematic-box.ts
1567
- var schematicBoxProps = z72.object({
1578
+ var schematicBoxProps = z73.object({
1568
1579
  schX: distance19.optional(),
1569
1580
  schY: distance19.optional(),
1570
1581
  width: distance19.optional(),
1571
1582
  height: distance19.optional(),
1572
- overlay: z72.array(z72.string()).optional(),
1583
+ overlay: z73.array(z73.string()).optional(),
1573
1584
  padding: distance19.optional(),
1574
1585
  paddingLeft: distance19.optional(),
1575
1586
  paddingRight: distance19.optional(),
1576
1587
  paddingTop: distance19.optional(),
1577
1588
  paddingBottom: distance19.optional(),
1578
- title: z72.string().optional(),
1589
+ title: z73.string().optional(),
1579
1590
  titleAlignment: ninePointAnchor.default("top_left"),
1580
- titleColor: z72.string().optional(),
1591
+ titleColor: z73.string().optional(),
1581
1592
  titleFontSize: distance19.optional(),
1582
- titleInside: z72.boolean().default(false),
1583
- strokeStyle: z72.enum(["solid", "dashed"]).default("solid")
1593
+ titleInside: z73.boolean().default(false),
1594
+ strokeStyle: z73.enum(["solid", "dashed"]).default("solid")
1584
1595
  }).refine(
1585
1596
  (elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
1586
1597
  {
@@ -1595,8 +1606,8 @@ var schematicBoxProps = z72.object({
1595
1606
 
1596
1607
  // lib/components/schematic-line.ts
1597
1608
  import { distance as distance20 } from "circuit-json";
1598
- import { z as z73 } from "zod";
1599
- var schematicLineProps = z73.object({
1609
+ import { z as z74 } from "zod";
1610
+ var schematicLineProps = z74.object({
1600
1611
  x1: distance20,
1601
1612
  y1: distance20,
1602
1613
  x2: distance20,
@@ -1605,11 +1616,11 @@ var schematicLineProps = z73.object({
1605
1616
 
1606
1617
  // lib/components/schematic-text.ts
1607
1618
  import { distance as distance21, rotation as rotation5 } from "circuit-json";
1608
- import { z as z75 } from "zod";
1619
+ import { z as z76 } from "zod";
1609
1620
 
1610
1621
  // lib/common/fivePointAnchor.ts
1611
- import { z as z74 } from "zod";
1612
- var fivePointAnchor = z74.enum([
1622
+ import { z as z75 } from "zod";
1623
+ var fivePointAnchor = z75.enum([
1613
1624
  "center",
1614
1625
  "left",
1615
1626
  "right",
@@ -1618,32 +1629,32 @@ var fivePointAnchor = z74.enum([
1618
1629
  ]);
1619
1630
 
1620
1631
  // lib/components/schematic-text.ts
1621
- var schematicTextProps = z75.object({
1632
+ var schematicTextProps = z76.object({
1622
1633
  schX: distance21.optional(),
1623
1634
  schY: distance21.optional(),
1624
- text: z75.string(),
1625
- fontSize: z75.number().default(1),
1626
- anchor: z75.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1627
- color: z75.string().default("#000000"),
1635
+ text: z76.string(),
1636
+ fontSize: z76.number().default(1),
1637
+ anchor: z76.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1638
+ color: z76.string().default("#000000"),
1628
1639
  schRotation: rotation5.default(0)
1629
1640
  });
1630
1641
 
1631
1642
  // lib/components/schematic-path.ts
1632
1643
  import { point as point5 } from "circuit-json";
1633
- import { z as z76 } from "zod";
1634
- var schematicPathProps = z76.object({
1635
- points: z76.array(point5),
1636
- isFilled: z76.boolean().optional().default(false),
1637
- fillColor: z76.enum(["red", "blue"]).optional()
1644
+ import { z as z77 } from "zod";
1645
+ var schematicPathProps = z77.object({
1646
+ points: z77.array(point5),
1647
+ isFilled: z77.boolean().optional().default(false),
1648
+ fillColor: z77.enum(["red", "blue"]).optional()
1638
1649
  });
1639
1650
 
1640
1651
  // lib/components/schematic-table.ts
1641
1652
  import { distance as distance22 } from "circuit-json";
1642
- import { z as z77 } from "zod";
1643
- var schematicTableProps = z77.object({
1653
+ import { z as z78 } from "zod";
1654
+ var schematicTableProps = z78.object({
1644
1655
  schX: distance22.optional(),
1645
1656
  schY: distance22.optional(),
1646
- children: z77.any().optional(),
1657
+ children: z78.any().optional(),
1647
1658
  cellPadding: distance22.optional(),
1648
1659
  borderWidth: distance22.optional(),
1649
1660
  anchor: ninePointAnchor.optional(),
@@ -1653,44 +1664,44 @@ expectTypesMatch(true);
1653
1664
 
1654
1665
  // lib/components/schematic-row.ts
1655
1666
  import { distance as distance23 } from "circuit-json";
1656
- import { z as z78 } from "zod";
1657
- var schematicRowProps = z78.object({
1658
- children: z78.any().optional(),
1667
+ import { z as z79 } from "zod";
1668
+ var schematicRowProps = z79.object({
1669
+ children: z79.any().optional(),
1659
1670
  height: distance23.optional()
1660
1671
  });
1661
1672
  expectTypesMatch(true);
1662
1673
 
1663
1674
  // lib/components/schematic-cell.ts
1664
1675
  import { distance as distance24 } from "circuit-json";
1665
- import { z as z79 } from "zod";
1666
- var schematicCellProps = z79.object({
1667
- children: z79.string().optional(),
1668
- horizontalAlign: z79.enum(["left", "center", "right"]).optional(),
1669
- verticalAlign: z79.enum(["top", "middle", "bottom"]).optional(),
1676
+ import { z as z80 } from "zod";
1677
+ var schematicCellProps = z80.object({
1678
+ children: z80.string().optional(),
1679
+ horizontalAlign: z80.enum(["left", "center", "right"]).optional(),
1680
+ verticalAlign: z80.enum(["top", "middle", "bottom"]).optional(),
1670
1681
  fontSize: distance24.optional(),
1671
- rowSpan: z79.number().optional(),
1672
- colSpan: z79.number().optional(),
1682
+ rowSpan: z80.number().optional(),
1683
+ colSpan: z80.number().optional(),
1673
1684
  width: distance24.optional(),
1674
- text: z79.string().optional()
1685
+ text: z80.string().optional()
1675
1686
  });
1676
1687
  expectTypesMatch(true);
1677
1688
 
1678
1689
  // lib/components/silkscreen-text.ts
1679
1690
  import { layer_ref as layer_ref6, length as length5 } from "circuit-json";
1680
- import { z as z80 } from "zod";
1691
+ import { z as z81 } from "zod";
1681
1692
  var silkscreenTextProps = pcbLayoutProps.extend({
1682
- text: z80.string(),
1693
+ text: z81.string(),
1683
1694
  anchorAlignment: ninePointAnchor.default("center"),
1684
- font: z80.enum(["tscircuit2024"]).optional(),
1695
+ font: z81.enum(["tscircuit2024"]).optional(),
1685
1696
  fontSize: length5.optional(),
1686
- layers: z80.array(layer_ref6).optional()
1697
+ layers: z81.array(layer_ref6).optional()
1687
1698
  });
1688
1699
 
1689
1700
  // lib/components/silkscreen-path.ts
1690
1701
  import { length as length6, route_hint_point as route_hint_point5 } from "circuit-json";
1691
- import { z as z81 } from "zod";
1702
+ import { z as z82 } from "zod";
1692
1703
  var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
1693
- route: z81.array(route_hint_point5),
1704
+ route: z82.array(route_hint_point5),
1694
1705
  strokeWidth: length6.optional()
1695
1706
  });
1696
1707
 
@@ -1706,10 +1717,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotat
1706
1717
 
1707
1718
  // lib/components/silkscreen-rect.ts
1708
1719
  import { distance as distance26 } from "circuit-json";
1709
- import { z as z82 } from "zod";
1720
+ import { z as z83 } from "zod";
1710
1721
  var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1711
- filled: z82.boolean().default(true).optional(),
1712
- stroke: z82.enum(["dashed", "solid", "none"]).optional(),
1722
+ filled: z83.boolean().default(true).optional(),
1723
+ stroke: z83.enum(["dashed", "solid", "none"]).optional(),
1713
1724
  strokeWidth: distance26.optional(),
1714
1725
  width: distance26,
1715
1726
  height: distance26
@@ -1717,73 +1728,73 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1717
1728
 
1718
1729
  // lib/components/silkscreen-circle.ts
1719
1730
  import { distance as distance27 } from "circuit-json";
1720
- import { z as z83 } from "zod";
1731
+ import { z as z84 } from "zod";
1721
1732
  var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1722
- isFilled: z83.boolean().optional(),
1723
- isOutline: z83.boolean().optional(),
1733
+ isFilled: z84.boolean().optional(),
1734
+ isOutline: z84.boolean().optional(),
1724
1735
  strokeWidth: distance27.optional(),
1725
1736
  radius: distance27
1726
1737
  });
1727
1738
 
1728
1739
  // lib/components/trace-hint.ts
1729
1740
  import { distance as distance28, layer_ref as layer_ref7, route_hint_point as route_hint_point6 } from "circuit-json";
1730
- import { z as z84 } from "zod";
1731
- var routeHintPointProps = z84.object({
1741
+ import { z as z85 } from "zod";
1742
+ var routeHintPointProps = z85.object({
1732
1743
  x: distance28,
1733
1744
  y: distance28,
1734
- via: z84.boolean().optional(),
1745
+ via: z85.boolean().optional(),
1735
1746
  toLayer: layer_ref7.optional()
1736
1747
  });
1737
- var traceHintProps = z84.object({
1738
- for: z84.string().optional().describe(
1748
+ var traceHintProps = z85.object({
1749
+ for: z85.string().optional().describe(
1739
1750
  "Selector for the port you're targeting, not required if you're inside a trace"
1740
1751
  ),
1741
- order: z84.number().optional(),
1752
+ order: z85.number().optional(),
1742
1753
  offset: route_hint_point6.or(routeHintPointProps).optional(),
1743
- offsets: z84.array(route_hint_point6).or(z84.array(routeHintPointProps)).optional(),
1744
- traceWidth: z84.number().optional()
1754
+ offsets: z85.array(route_hint_point6).or(z85.array(routeHintPointProps)).optional(),
1755
+ traceWidth: z85.number().optional()
1745
1756
  });
1746
1757
 
1747
1758
  // lib/components/port.ts
1748
- import { z as z85 } from "zod";
1759
+ import { z as z86 } from "zod";
1749
1760
  var portProps = commonLayoutProps.extend({
1750
- name: z85.string(),
1751
- pinNumber: z85.number().optional(),
1752
- aliases: z85.array(z85.string()).optional(),
1761
+ name: z86.string(),
1762
+ pinNumber: z86.number().optional(),
1763
+ aliases: z86.array(z86.string()).optional(),
1753
1764
  direction
1754
1765
  });
1755
1766
 
1756
1767
  // lib/platformConfig.ts
1757
- import { z as z86 } from "zod";
1758
- var unvalidatedCircuitJson = z86.array(z86.any()).describe("Circuit JSON");
1759
- var pathToCircuitJsonFn = z86.function().args(z86.string()).returns(
1760
- z86.promise(
1761
- z86.object({
1762
- footprintCircuitJson: z86.array(z86.any()),
1768
+ import { z as z87 } from "zod";
1769
+ var unvalidatedCircuitJson = z87.array(z87.any()).describe("Circuit JSON");
1770
+ var pathToCircuitJsonFn = z87.function().args(z87.string()).returns(
1771
+ z87.promise(
1772
+ z87.object({
1773
+ footprintCircuitJson: z87.array(z87.any()),
1763
1774
  cadModel: cadModelProp.optional()
1764
1775
  })
1765
1776
  )
1766
1777
  ).describe("A function that takes a path and returns Circuit JSON");
1767
- var platformConfig = z86.object({
1778
+ var platformConfig = z87.object({
1768
1779
  partsEngine: partsEngine.optional(),
1769
1780
  autorouter: autorouterProp.optional(),
1770
- registryApiUrl: z86.string().optional(),
1771
- cloudAutorouterUrl: z86.string().optional(),
1772
- projectName: z86.string().optional(),
1773
- version: z86.string().optional(),
1774
- url: z86.string().optional(),
1775
- printBoardInformationToSilkscreen: z86.boolean().optional(),
1776
- localCacheEngine: z86.any().optional(),
1777
- pcbDisabled: z86.boolean().optional(),
1778
- schematicDisabled: z86.boolean().optional(),
1779
- partsEngineDisabled: z86.boolean().optional(),
1780
- footprintLibraryMap: z86.record(
1781
- z86.string(),
1782
- z86.union([
1781
+ registryApiUrl: z87.string().optional(),
1782
+ cloudAutorouterUrl: z87.string().optional(),
1783
+ projectName: z87.string().optional(),
1784
+ version: z87.string().optional(),
1785
+ url: z87.string().optional(),
1786
+ printBoardInformationToSilkscreen: z87.boolean().optional(),
1787
+ localCacheEngine: z87.any().optional(),
1788
+ pcbDisabled: z87.boolean().optional(),
1789
+ schematicDisabled: z87.boolean().optional(),
1790
+ partsEngineDisabled: z87.boolean().optional(),
1791
+ footprintLibraryMap: z87.record(
1792
+ z87.string(),
1793
+ z87.union([
1783
1794
  pathToCircuitJsonFn,
1784
- z86.record(
1785
- z86.string(),
1786
- z86.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
1795
+ z87.record(
1796
+ z87.string(),
1797
+ z87.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
1787
1798
  )
1788
1799
  ])
1789
1800
  ).optional()
@@ -1930,6 +1941,7 @@ export {
1930
1941
  subcircuitProps,
1931
1942
  supplierProps,
1932
1943
  switchProps,
1944
+ symbolProp,
1933
1945
  symbolProps,
1934
1946
  testpointProps,
1935
1947
  traceHintProps,