@tscircuit/props 0.0.237 → 0.0.239

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
@@ -125,26 +125,46 @@ var lrPolarPins = [
125
125
  ];
126
126
  var distanceOrMultiplier = distance2.or(z6.enum(["2x", "3x", "4x"]));
127
127
 
128
- // lib/common/schematicPinDefinitions.ts
128
+ // lib/common/schematicOrientation.ts
129
129
  import { z as z7 } from "zod";
130
- var explicitPinSideDefinition = z7.object({
131
- pins: z7.array(z7.union([z7.number(), z7.string()])),
132
- direction: z7.union([
133
- z7.literal("top-to-bottom"),
134
- z7.literal("left-to-right"),
135
- z7.literal("bottom-to-top"),
136
- z7.literal("right-to-left")
130
+ var schematicOrientation = z7.enum([
131
+ "vertical",
132
+ "horizontal",
133
+ "pos_top",
134
+ "pos_bottom",
135
+ "pos_left",
136
+ "pos_right",
137
+ "neg_top",
138
+ "neg_bottom",
139
+ "neg_left",
140
+ "neg_right"
141
+ ]).describe(
142
+ "horizontal means pins go 1->2 rightward and vertical means pins go 1->2 downward (generally, positive on top)"
143
+ );
144
+ expectTypesMatch(
145
+ true
146
+ );
147
+
148
+ // lib/common/schematicPinDefinitions.ts
149
+ import { z as z8 } from "zod";
150
+ var explicitPinSideDefinition = z8.object({
151
+ pins: z8.array(z8.union([z8.number(), z8.string()])),
152
+ direction: z8.union([
153
+ z8.literal("top-to-bottom"),
154
+ z8.literal("left-to-right"),
155
+ z8.literal("bottom-to-top"),
156
+ z8.literal("right-to-left")
137
157
  ])
138
158
  });
139
- var schematicPortArrangement = z7.object({
140
- leftSize: z7.number().optional().describe("@deprecated, use leftPinCount"),
141
- topSize: z7.number().optional().describe("@deprecated, use topPinCount"),
142
- rightSize: z7.number().optional().describe("@deprecated, use rightPinCount"),
143
- bottomSize: z7.number().optional().describe("@deprecated, use bottomPinCount"),
144
- leftPinCount: z7.number().optional(),
145
- rightPinCount: z7.number().optional(),
146
- topPinCount: z7.number().optional(),
147
- bottomPinCount: z7.number().optional(),
159
+ var schematicPortArrangement = z8.object({
160
+ leftSize: z8.number().optional().describe("@deprecated, use leftPinCount"),
161
+ topSize: z8.number().optional().describe("@deprecated, use topPinCount"),
162
+ rightSize: z8.number().optional().describe("@deprecated, use rightPinCount"),
163
+ bottomSize: z8.number().optional().describe("@deprecated, use bottomPinCount"),
164
+ leftPinCount: z8.number().optional(),
165
+ rightPinCount: z8.number().optional(),
166
+ topPinCount: z8.number().optional(),
167
+ bottomPinCount: z8.number().optional(),
148
168
  leftSide: explicitPinSideDefinition.optional(),
149
169
  rightSide: explicitPinSideDefinition.optional(),
150
170
  topSide: explicitPinSideDefinition.optional(),
@@ -155,9 +175,9 @@ expectTypesMatch(true);
155
175
 
156
176
  // lib/common/schematicPinStyle.ts
157
177
  import { distance as distance3 } from "circuit-json";
158
- import { z as z8 } from "zod";
159
- var schematicPinStyle = z8.record(
160
- z8.object({
178
+ import { z as z9 } from "zod";
179
+ var schematicPinStyle = z9.record(
180
+ z9.object({
161
181
  marginLeft: distance3.optional(),
162
182
  marginRight: distance3.optional(),
163
183
  marginTop: distance3.optional(),
@@ -175,51 +195,51 @@ import { distance as distance5 } from "circuit-json";
175
195
 
176
196
  // lib/common/point.ts
177
197
  import { distance as distance4 } from "circuit-json";
178
- import { z as z9 } from "zod";
179
- var point = z9.object({
198
+ import { z as z10 } from "zod";
199
+ var point = z10.object({
180
200
  x: distance4,
181
201
  y: distance4
182
202
  });
183
203
 
184
204
  // lib/components/board.ts
185
- import { z as z22 } from "zod";
205
+ import { z as z23 } from "zod";
186
206
 
187
207
  // lib/components/group.ts
188
208
  import { length } from "circuit-json";
189
- import { z as z21 } from "zod";
209
+ import { z as z22 } from "zod";
190
210
 
191
211
  // lib/manual-edits/manual-edit-events/base_manual_edit_event.ts
192
- import { z as z10 } from "zod";
193
- var base_manual_edit_event = z10.object({
194
- edit_event_id: z10.string(),
195
- in_progress: z10.boolean().optional(),
196
- created_at: z10.number()
212
+ import { z as z11 } from "zod";
213
+ var base_manual_edit_event = z11.object({
214
+ edit_event_id: z11.string(),
215
+ in_progress: z11.boolean().optional(),
216
+ created_at: z11.number()
197
217
  });
198
218
  expectTypesMatch(
199
219
  true
200
220
  );
201
221
 
202
222
  // lib/manual-edits/manual-edit-events/edit_pcb_component_location_event.ts
203
- import { z as z11 } from "zod";
223
+ import { z as z12 } from "zod";
204
224
  var edit_pcb_component_location_event = base_manual_edit_event.extend({
205
- pcb_edit_event_type: z11.literal("edit_component_location").describe("deprecated"),
206
- edit_event_type: z11.literal("edit_pcb_component_location"),
207
- pcb_component_id: z11.string(),
208
- original_center: z11.object({ x: z11.number(), y: z11.number() }),
209
- new_center: z11.object({ x: z11.number(), y: z11.number() })
225
+ pcb_edit_event_type: z12.literal("edit_component_location").describe("deprecated"),
226
+ edit_event_type: z12.literal("edit_pcb_component_location"),
227
+ pcb_component_id: z12.string(),
228
+ original_center: z12.object({ x: z12.number(), y: z12.number() }),
229
+ new_center: z12.object({ x: z12.number(), y: z12.number() })
210
230
  });
211
231
  var edit_component_location_event = edit_pcb_component_location_event;
212
232
  expectTypesMatch(true);
213
233
 
214
234
  // lib/manual-edits/manual-edit-events/edit_trace_hint_event.ts
215
- import { z as z12 } from "zod";
235
+ import { z as z13 } from "zod";
216
236
  var edit_trace_hint_event = base_manual_edit_event.extend({
217
- pcb_edit_event_type: z12.literal("edit_trace_hint").describe("deprecated"),
218
- edit_event_type: z12.literal("edit_pcb_trace_hint").optional(),
219
- pcb_port_id: z12.string(),
220
- pcb_trace_hint_id: z12.string().optional(),
221
- route: z12.array(
222
- z12.object({ x: z12.number(), y: z12.number(), via: z12.boolean().optional() })
237
+ pcb_edit_event_type: z13.literal("edit_trace_hint").describe("deprecated"),
238
+ edit_event_type: z13.literal("edit_pcb_trace_hint").optional(),
239
+ pcb_port_id: z13.string(),
240
+ pcb_trace_hint_id: z13.string().optional(),
241
+ route: z13.array(
242
+ z13.object({ x: z13.number(), y: z13.number(), via: z13.boolean().optional() })
223
243
  )
224
244
  });
225
245
  expectTypesMatch(
@@ -227,38 +247,38 @@ expectTypesMatch(
227
247
  );
228
248
 
229
249
  // lib/manual-edits/manual-edit-events/edit_schematic_component_location_event.ts
230
- import { z as z13 } from "zod";
250
+ import { z as z14 } from "zod";
231
251
  var edit_schematic_component_location_event = base_manual_edit_event.extend({
232
- edit_event_type: z13.literal("edit_schematic_component_location"),
233
- schematic_component_id: z13.string(),
234
- original_center: z13.object({ x: z13.number(), y: z13.number() }),
235
- new_center: z13.object({ x: z13.number(), y: z13.number() })
252
+ edit_event_type: z14.literal("edit_schematic_component_location"),
253
+ schematic_component_id: z14.string(),
254
+ original_center: z14.object({ x: z14.number(), y: z14.number() }),
255
+ new_center: z14.object({ x: z14.number(), y: z14.number() })
236
256
  });
237
257
  expectTypesMatch(true);
238
258
 
239
259
  // lib/manual-edits/manual-edit-events/edit_pcb_group_location_event.ts
240
- import { z as z14 } from "zod";
260
+ import { z as z15 } from "zod";
241
261
  var edit_pcb_group_location_event = base_manual_edit_event.extend({
242
- edit_event_type: z14.literal("edit_pcb_group_location"),
243
- pcb_group_id: z14.string(),
244
- original_center: z14.object({ x: z14.number(), y: z14.number() }),
245
- new_center: z14.object({ x: z14.number(), y: z14.number() })
262
+ edit_event_type: z15.literal("edit_pcb_group_location"),
263
+ pcb_group_id: z15.string(),
264
+ original_center: z15.object({ x: z15.number(), y: z15.number() }),
265
+ new_center: z15.object({ x: z15.number(), y: z15.number() })
246
266
  });
247
267
  expectTypesMatch(true);
248
268
 
249
269
  // lib/manual-edits/manual-edit-events/edit_schematic_group_location_event.ts
250
- import { z as z15 } from "zod";
270
+ import { z as z16 } from "zod";
251
271
  var edit_schematic_group_location_event = base_manual_edit_event.extend({
252
- edit_event_type: z15.literal("edit_schematic_group_location"),
253
- schematic_group_id: z15.string(),
254
- original_center: z15.object({ x: z15.number(), y: z15.number() }),
255
- new_center: z15.object({ x: z15.number(), y: z15.number() })
272
+ edit_event_type: z16.literal("edit_schematic_group_location"),
273
+ schematic_group_id: z16.string(),
274
+ original_center: z16.object({ x: z16.number(), y: z16.number() }),
275
+ new_center: z16.object({ x: z16.number(), y: z16.number() })
256
276
  });
257
277
  expectTypesMatch(true);
258
278
 
259
279
  // lib/manual-edits/manual_edit_event.ts
260
- import { z as z16 } from "zod";
261
- var manual_edit_event = z16.union([
280
+ import { z as z17 } from "zod";
281
+ var manual_edit_event = z17.union([
262
282
  edit_pcb_component_location_event,
263
283
  edit_trace_hint_event,
264
284
  edit_schematic_component_location_event
@@ -266,33 +286,33 @@ var manual_edit_event = z16.union([
266
286
  expectTypesMatch(true);
267
287
 
268
288
  // lib/manual-edits/manual_edits_file.ts
269
- import { z as z20 } from "zod";
289
+ import { z as z21 } from "zod";
270
290
 
271
291
  // lib/manual-edits/manual_pcb_placement.ts
272
- import { z as z17 } from "zod";
292
+ import { z as z18 } from "zod";
273
293
  import { point as point2 } from "circuit-json";
274
- var manual_pcb_placement = z17.object({
275
- selector: z17.string(),
276
- relative_to: z17.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
294
+ var manual_pcb_placement = z18.object({
295
+ selector: z18.string(),
296
+ relative_to: z18.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
277
297
  center: point2
278
298
  });
279
299
  expectTypesMatch(true);
280
300
 
281
301
  // lib/manual-edits/manual_trace_hint.ts
282
- import { z as z18 } from "zod";
302
+ import { z as z19 } from "zod";
283
303
  import { route_hint_point } from "circuit-json";
284
- var manual_trace_hint = z18.object({
285
- pcb_port_selector: z18.string(),
286
- offsets: z18.array(route_hint_point)
304
+ var manual_trace_hint = z19.object({
305
+ pcb_port_selector: z19.string(),
306
+ offsets: z19.array(route_hint_point)
287
307
  });
288
308
  expectTypesMatch(true);
289
309
 
290
310
  // lib/manual-edits/manual_schematic_placement.ts
291
- import { z as z19 } from "zod";
311
+ import { z as z20 } from "zod";
292
312
  import { point as point4 } from "circuit-json";
293
- var manual_schematic_placement = z19.object({
294
- selector: z19.string(),
295
- relative_to: z19.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
313
+ var manual_schematic_placement = z20.object({
314
+ selector: z20.string(),
315
+ relative_to: z20.string().optional().default("group_center").describe("Can be a selector or 'group_center'"),
296
316
  center: point4
297
317
  });
298
318
  expectTypesMatch(
@@ -300,31 +320,31 @@ expectTypesMatch(
300
320
  );
301
321
 
302
322
  // lib/manual-edits/manual_edits_file.ts
303
- var manual_edits_file = z20.object({
304
- pcb_placements: z20.array(manual_pcb_placement).optional(),
305
- manual_trace_hints: z20.array(manual_trace_hint).optional(),
306
- schematic_placements: z20.array(manual_schematic_placement).optional()
323
+ var manual_edits_file = z21.object({
324
+ pcb_placements: z21.array(manual_pcb_placement).optional(),
325
+ manual_trace_hints: z21.array(manual_trace_hint).optional(),
326
+ schematic_placements: z21.array(manual_schematic_placement).optional()
307
327
  });
308
328
  expectTypesMatch(true);
309
329
 
310
330
  // lib/components/group.ts
311
- var layoutConfig = z21.object({
312
- layoutMode: z21.enum(["grid", "flex", "match-adapt", "none"]).optional(),
313
- position: z21.enum(["absolute", "relative"]).optional(),
314
- grid: z21.boolean().optional(),
315
- gridCols: z21.number().or(z21.string()).optional(),
316
- gridRows: z21.number().or(z21.string()).optional(),
317
- gridTemplateRows: z21.string().optional(),
318
- gridTemplateColumns: z21.string().optional(),
319
- gridTemplate: z21.string().optional(),
320
- gridGap: z21.number().or(z21.string()).optional(),
321
- flex: z21.boolean().or(z21.string()).optional(),
322
- flexDirection: z21.enum(["row", "column"]).optional(),
323
- alignItems: z21.enum(["start", "center", "end", "stretch"]).optional(),
324
- justifyContent: z21.enum(["start", "center", "end", "stretch"]).optional(),
325
- flexRow: z21.boolean().optional(),
326
- flexColumn: z21.boolean().optional(),
327
- gap: z21.number().or(z21.string()).optional(),
331
+ var layoutConfig = z22.object({
332
+ layoutMode: z22.enum(["grid", "flex", "match-adapt", "none"]).optional(),
333
+ position: z22.enum(["absolute", "relative"]).optional(),
334
+ grid: z22.boolean().optional(),
335
+ gridCols: z22.number().or(z22.string()).optional(),
336
+ gridRows: z22.number().or(z22.string()).optional(),
337
+ gridTemplateRows: z22.string().optional(),
338
+ gridTemplateColumns: z22.string().optional(),
339
+ gridTemplate: z22.string().optional(),
340
+ gridGap: z22.number().or(z22.string()).optional(),
341
+ flex: z22.boolean().or(z22.string()).optional(),
342
+ flexDirection: z22.enum(["row", "column"]).optional(),
343
+ alignItems: z22.enum(["start", "center", "end", "stretch"]).optional(),
344
+ justifyContent: z22.enum(["start", "center", "end", "stretch"]).optional(),
345
+ flexRow: z22.boolean().optional(),
346
+ flexColumn: z22.boolean().optional(),
347
+ gap: z22.number().or(z22.string()).optional(),
328
348
  padding: length.optional(),
329
349
  paddingLeft: length.optional(),
330
350
  paddingRight: length.optional(),
@@ -334,39 +354,39 @@ var layoutConfig = z21.object({
334
354
  paddingY: length.optional(),
335
355
  width: length.optional(),
336
356
  height: length.optional(),
337
- matchAdapt: z21.boolean().optional(),
338
- matchAdaptTemplate: z21.any().optional()
357
+ matchAdapt: z22.boolean().optional(),
358
+ matchAdaptTemplate: z22.any().optional()
339
359
  });
340
360
  expectTypesMatch(true);
341
- var border = z21.object({
361
+ var border = z22.object({
342
362
  strokeWidth: length.optional(),
343
- dashed: z21.boolean().optional(),
344
- solid: z21.boolean().optional()
345
- });
346
- var autorouterConfig = z21.object({
347
- serverUrl: z21.string().optional(),
348
- inputFormat: z21.enum(["simplified", "circuit-json"]).optional(),
349
- serverMode: z21.enum(["job", "solve-endpoint"]).optional(),
350
- serverCacheEnabled: z21.boolean().optional(),
351
- cache: z21.custom((v) => true).optional(),
352
- groupMode: z21.enum(["sequential-trace", "subcircuit"]).optional(),
353
- algorithmFn: z21.custom(
363
+ dashed: z22.boolean().optional(),
364
+ solid: z22.boolean().optional()
365
+ });
366
+ var autorouterConfig = z22.object({
367
+ serverUrl: z22.string().optional(),
368
+ inputFormat: z22.enum(["simplified", "circuit-json"]).optional(),
369
+ serverMode: z22.enum(["job", "solve-endpoint"]).optional(),
370
+ serverCacheEnabled: z22.boolean().optional(),
371
+ cache: z22.custom((v) => true).optional(),
372
+ groupMode: z22.enum(["sequential-trace", "subcircuit"]).optional(),
373
+ algorithmFn: z22.custom(
354
374
  (v) => typeof v === "function" || v === void 0
355
375
  ).optional(),
356
- local: z21.boolean().optional()
376
+ local: z22.boolean().optional()
357
377
  });
358
- var autorouterProp = z21.union([
378
+ var autorouterProp = z22.union([
359
379
  autorouterConfig,
360
- z21.literal("sequential-trace"),
361
- z21.literal("subcircuit"),
362
- z21.literal("auto"),
363
- z21.literal("auto-local"),
364
- z21.literal("auto-cloud")
380
+ z22.literal("sequential-trace"),
381
+ z22.literal("subcircuit"),
382
+ z22.literal("auto"),
383
+ z22.literal("auto-local"),
384
+ z22.literal("auto-cloud")
365
385
  ]);
366
386
  var baseGroupProps = commonLayoutProps.extend({
367
- name: z21.string().optional(),
368
- children: z21.any().optional(),
369
- key: z21.any().optional(),
387
+ name: z22.string().optional(),
388
+ children: z22.any().optional(),
389
+ key: z22.any().optional(),
370
390
  ...layoutConfig.shape,
371
391
  pcbWidth: length.optional(),
372
392
  pcbHeight: length.optional(),
@@ -382,24 +402,24 @@ var baseGroupProps = commonLayoutProps.extend({
382
402
  schPaddingTop: length.optional(),
383
403
  schPaddingBottom: length.optional()
384
404
  });
385
- var partsEngine = z21.custom((v) => "findPart" in v);
405
+ var partsEngine = z22.custom((v) => "findPart" in v);
386
406
  var subcircuitGroupProps = baseGroupProps.extend({
387
- layout: z21.custom((v) => true).optional(),
407
+ layout: z22.custom((v) => true).optional(),
388
408
  manualEdits: manual_edits_file.optional(),
389
- schAutoLayoutEnabled: z21.boolean().optional(),
390
- schTraceAutoLabelEnabled: z21.boolean().optional(),
391
- routingDisabled: z21.boolean().optional(),
409
+ schAutoLayoutEnabled: z22.boolean().optional(),
410
+ schTraceAutoLabelEnabled: z22.boolean().optional(),
411
+ routingDisabled: z22.boolean().optional(),
392
412
  defaultTraceWidth: length.optional(),
393
413
  minTraceWidth: length.optional(),
394
414
  partsEngine: partsEngine.optional(),
395
- pcbRouteCache: z21.custom((v) => true).optional(),
415
+ pcbRouteCache: z22.custom((v) => true).optional(),
396
416
  autorouter: autorouterProp.optional()
397
417
  });
398
418
  var subcircuitGroupPropsWithBool = subcircuitGroupProps.extend({
399
- subcircuit: z21.literal(true)
419
+ subcircuit: z22.literal(true)
400
420
  });
401
- var groupProps = z21.discriminatedUnion("subcircuit", [
402
- baseGroupProps.extend({ subcircuit: z21.literal(false).optional() }),
421
+ var groupProps = z22.discriminatedUnion("subcircuit", [
422
+ baseGroupProps.extend({ subcircuit: z22.literal(false).optional() }),
403
423
  subcircuitGroupPropsWithBool
404
424
  ]);
405
425
  expectTypesMatch(true);
@@ -410,10 +430,10 @@ expectTypesMatch(true);
410
430
  var boardProps = subcircuitGroupProps.extend({
411
431
  width: distance5.optional(),
412
432
  height: distance5.optional(),
413
- outline: z22.array(point).optional(),
433
+ outline: z23.array(point).optional(),
414
434
  outlineOffsetX: distance5.optional(),
415
435
  outlineOffsetY: distance5.optional(),
416
- material: z22.enum(["fr4", "fr1"]).default("fr4")
436
+ material: z23.enum(["fr4", "fr1"]).default("fr4")
417
437
  });
418
438
  expectTypesMatch(true);
419
439
 
@@ -431,32 +451,32 @@ expectTypesMatch(true);
431
451
 
432
452
  // lib/components/chip.ts
433
453
  import { distance as distance7, supplier_name as supplier_name2 } from "circuit-json";
434
- import { z as z24 } from "zod";
435
- var connectionTarget = z24.string().or(z24.array(z24.string()).readonly()).or(z24.array(z24.string()));
436
- var connectionsProp = z24.custom().pipe(z24.record(z24.string(), connectionTarget));
437
- var pinLabelsProp = z24.record(
438
- z24.string(),
439
- z24.string().or(z24.array(z24.string()).readonly()).or(z24.array(z24.string()))
454
+ import { z as z25 } from "zod";
455
+ var connectionTarget = z25.string().or(z25.array(z25.string()).readonly()).or(z25.array(z25.string()));
456
+ var connectionsProp = z25.custom().pipe(z25.record(z25.string(), connectionTarget));
457
+ var pinLabelsProp = z25.record(
458
+ z25.string(),
459
+ z25.string().or(z25.array(z25.string()).readonly()).or(z25.array(z25.string()))
440
460
  );
441
461
  expectTypesMatch(true);
442
- var pinCompatibleVariant = z24.object({
443
- manufacturerPartNumber: z24.string().optional(),
444
- supplierPartNumber: z24.record(supplier_name2, z24.array(z24.string())).optional()
462
+ var pinCompatibleVariant = z25.object({
463
+ manufacturerPartNumber: z25.string().optional(),
464
+ supplierPartNumber: z25.record(supplier_name2, z25.array(z25.string())).optional()
445
465
  });
446
466
  var chipProps = commonComponentProps.extend({
447
- manufacturerPartNumber: z24.string().optional(),
467
+ manufacturerPartNumber: z25.string().optional(),
448
468
  pinLabels: pinLabelsProp.optional(),
449
- showPinAliases: z24.boolean().optional(),
450
- internallyConnectedPins: z24.array(z24.array(z24.string())).optional(),
451
- externallyConnectedPins: z24.array(z24.array(z24.string())).optional(),
469
+ showPinAliases: z25.boolean().optional(),
470
+ internallyConnectedPins: z25.array(z25.array(z25.string())).optional(),
471
+ externallyConnectedPins: z25.array(z25.array(z25.string())).optional(),
452
472
  schPinArrangement: schematicPortArrangement.optional(),
453
473
  schPortArrangement: schematicPortArrangement.optional(),
454
- pinCompatibleVariants: z24.array(pinCompatibleVariant).optional(),
474
+ pinCompatibleVariants: z25.array(pinCompatibleVariant).optional(),
455
475
  schPinStyle: schematicPinStyle.optional(),
456
476
  schPinSpacing: distance7.optional(),
457
477
  schWidth: distance7.optional(),
458
478
  schHeight: distance7.optional(),
459
- noSchematicRepresentation: z24.boolean().optional(),
479
+ noSchematicRepresentation: z25.boolean().optional(),
460
480
  connections: connectionsProp.optional()
461
481
  });
462
482
  var bugProps = chipProps;
@@ -464,81 +484,92 @@ expectTypesMatch(true);
464
484
 
465
485
  // lib/components/jumper.ts
466
486
  import { distance as distance8 } from "circuit-json";
467
- import { z as z25 } from "zod";
487
+
488
+ // lib/common/connectionsProp.ts
489
+ import { z as z26 } from "zod";
490
+ var connectionTarget2 = z26.string().or(z26.array(z26.string()).readonly()).or(z26.array(z26.string()));
491
+ var createConnectionsProp = (labels) => {
492
+ return z26.record(z26.enum(labels), connectionTarget2);
493
+ };
494
+
495
+ // lib/components/jumper.ts
496
+ import { z as z27 } from "zod";
468
497
  var jumperProps = commonComponentProps.extend({
469
- manufacturerPartNumber: z25.string().optional(),
470
- pinLabels: z25.record(z25.number().or(z25.string()), z25.string().or(z25.array(z25.string()))).optional(),
498
+ manufacturerPartNumber: z27.string().optional(),
499
+ pinLabels: z27.record(z27.number().or(z27.string()), z27.string().or(z27.array(z27.string()))).optional(),
471
500
  schPinStyle: schematicPinStyle.optional(),
472
501
  schPinSpacing: distance8.optional(),
473
502
  schWidth: distance8.optional(),
474
503
  schHeight: distance8.optional(),
475
- schDirection: z25.enum(["left", "right"]).optional(),
504
+ schDirection: z27.enum(["left", "right"]).optional(),
476
505
  schPortArrangement: schematicPortArrangement.optional(),
477
- pinCount: z25.union([z25.literal(2), z25.literal(3)]).optional(),
478
- internallyConnectedPins: z25.array(z25.array(z25.string())).optional()
506
+ pinCount: z27.union([z27.literal(2), z27.literal(3)]).optional(),
507
+ internallyConnectedPins: z27.array(z27.array(z27.string())).optional(),
508
+ connections: z27.custom().pipe(z27.record(z27.string(), connectionTarget2)).optional()
479
509
  });
480
510
  expectTypesMatch(true);
481
511
 
482
512
  // lib/components/solderjumper.ts
483
- import { z as z26 } from "zod";
513
+ import { z as z28 } from "zod";
484
514
  var solderjumperProps = jumperProps.extend({
485
- bridgedPins: z26.array(z26.array(z26.string())).optional()
515
+ bridgedPins: z28.array(z28.array(z28.string())).optional()
486
516
  });
487
517
  expectTypesMatch(true);
488
518
 
489
519
  // lib/components/connector.ts
490
520
  import { distance as distance9 } from "circuit-json";
491
- import { z as z27 } from "zod";
521
+ import { z as z29 } from "zod";
492
522
  var connectorProps = commonComponentProps.extend({
493
- manufacturerPartNumber: z27.string().optional(),
494
- pinLabels: z27.record(z27.number().or(z27.string()), z27.string().or(z27.array(z27.string()))).optional(),
523
+ manufacturerPartNumber: z29.string().optional(),
524
+ pinLabels: z29.record(z29.number().or(z29.string()), z29.string().or(z29.array(z29.string()))).optional(),
495
525
  schPinStyle: schematicPinStyle.optional(),
496
526
  schPinSpacing: distance9.optional(),
497
527
  schWidth: distance9.optional(),
498
528
  schHeight: distance9.optional(),
499
- schDirection: z27.enum(["left", "right"]).optional(),
529
+ schDirection: z29.enum(["left", "right"]).optional(),
500
530
  schPortArrangement: schematicPortArrangement.optional(),
501
- internallyConnectedPins: z27.array(z27.array(z27.string())).optional(),
502
- standard: z27.enum(["usb_c", "m2"]).optional()
531
+ internallyConnectedPins: z29.array(z29.array(z29.string())).optional(),
532
+ standard: z29.enum(["usb_c", "m2"]).optional()
503
533
  });
504
534
  expectTypesMatch(true);
505
535
 
506
536
  // lib/components/fuse.ts
507
- import { z as z28 } from "zod";
537
+ import { z as z30 } from "zod";
508
538
  var fusePinLabels = ["pin1", "pin2"];
509
539
  var fuseProps = commonComponentProps.extend({
510
- currentRating: z28.union([z28.number(), z28.string()]),
511
- voltageRating: z28.union([z28.number(), z28.string()]).optional(),
512
- schShowRatings: z28.boolean().optional(),
513
- connections: z28.record(
514
- z28.string(),
515
- z28.union([
516
- z28.string(),
517
- z28.array(z28.string()).readonly(),
518
- z28.array(z28.string())
540
+ currentRating: z30.union([z30.number(), z30.string()]),
541
+ voltageRating: z30.union([z30.number(), z30.string()]).optional(),
542
+ schShowRatings: z30.boolean().optional(),
543
+ schOrientation: schematicOrientation.optional(),
544
+ connections: z30.record(
545
+ z30.string(),
546
+ z30.union([
547
+ z30.string(),
548
+ z30.array(z30.string()).readonly(),
549
+ z30.array(z30.string())
519
550
  ])
520
551
  ).optional()
521
552
  });
522
553
 
523
554
  // lib/components/platedhole.ts
524
555
  import { distance as distance10 } from "circuit-json";
525
- import { z as z29 } from "zod";
526
- var distanceHiddenUndefined = z29.custom().transform((a) => {
556
+ import { z as z31 } from "zod";
557
+ var distanceHiddenUndefined = z31.custom().transform((a) => {
527
558
  if (a === void 0)
528
559
  return void 0;
529
560
  return distance10.parse(a);
530
561
  });
531
- var platedHoleProps = z29.discriminatedUnion("shape", [
562
+ var platedHoleProps = z31.discriminatedUnion("shape", [
532
563
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
533
- name: z29.string().optional(),
534
- shape: z29.literal("circle"),
564
+ name: z31.string().optional(),
565
+ shape: z31.literal("circle"),
535
566
  holeDiameter: distance10,
536
567
  outerDiameter: distance10,
537
568
  portHints: portHints.optional()
538
569
  }),
539
570
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
540
- name: z29.string().optional(),
541
- shape: z29.literal("oval"),
571
+ name: z31.string().optional(),
572
+ shape: z31.literal("oval"),
542
573
  outerWidth: distance10,
543
574
  outerHeight: distance10,
544
575
  holeWidth: distanceHiddenUndefined,
@@ -548,8 +579,8 @@ var platedHoleProps = z29.discriminatedUnion("shape", [
548
579
  portHints: portHints.optional()
549
580
  }),
550
581
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
551
- name: z29.string().optional(),
552
- shape: z29.literal("pill"),
582
+ name: z31.string().optional(),
583
+ shape: z31.literal("pill"),
553
584
  outerWidth: distance10,
554
585
  outerHeight: distance10,
555
586
  holeWidth: distanceHiddenUndefined,
@@ -559,20 +590,20 @@ var platedHoleProps = z29.discriminatedUnion("shape", [
559
590
  portHints: portHints.optional()
560
591
  }),
561
592
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
562
- name: z29.string().optional(),
563
- shape: z29.literal("circular_hole_with_rect_pad"),
593
+ name: z31.string().optional(),
594
+ shape: z31.literal("circular_hole_with_rect_pad"),
564
595
  holeDiameter: distance10,
565
596
  rectPadWidth: distance10,
566
597
  rectPadHeight: distance10,
567
- holeShape: z29.literal("circle").optional(),
568
- padShape: z29.literal("rect").optional(),
598
+ holeShape: z31.literal("circle").optional(),
599
+ padShape: z31.literal("rect").optional(),
569
600
  portHints: portHints.optional()
570
601
  }),
571
602
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
572
- name: z29.string().optional(),
573
- shape: z29.literal("pill_hole_with_rect_pad"),
574
- holeShape: z29.literal("pill"),
575
- padShape: z29.literal("rect"),
603
+ name: z31.string().optional(),
604
+ shape: z31.literal("pill_hole_with_rect_pad"),
605
+ holeShape: z31.literal("pill"),
606
+ padShape: z31.literal("rect"),
576
607
  holeWidth: distance10,
577
608
  holeHeight: distance10,
578
609
  rectPadWidth: distance10,
@@ -592,23 +623,15 @@ expectTypesMatch(true);
592
623
 
593
624
  // lib/components/resistor.ts
594
625
  import { resistance } from "circuit-json";
595
-
596
- // lib/common/connectionsProp.ts
597
- import { z as z30 } from "zod";
598
- var connectionTarget2 = z30.string().or(z30.array(z30.string()).readonly()).or(z30.array(z30.string()));
599
- var createConnectionsProp = (labels) => {
600
- return z30.record(z30.enum(labels), connectionTarget2);
601
- };
602
-
603
- // lib/components/resistor.ts
604
- import { z as z31 } from "zod";
626
+ import { z as z32 } from "zod";
605
627
  var resistorPinLabels = ["pin1", "pin2", "pos", "neg"];
606
628
  var resistorProps = commonComponentProps.extend({
607
629
  resistance,
608
- pullupFor: z31.string().optional(),
609
- pullupTo: z31.string().optional(),
610
- pulldownFor: z31.string().optional(),
611
- pulldownTo: z31.string().optional(),
630
+ pullupFor: z32.string().optional(),
631
+ pullupTo: z32.string().optional(),
632
+ pulldownFor: z32.string().optional(),
633
+ pulldownTo: z32.string().optional(),
634
+ schOrientation: schematicOrientation.optional(),
612
635
  connections: createConnectionsProp(resistorPinLabels).optional()
613
636
  });
614
637
  var resistorPins = lrPins;
@@ -616,54 +639,55 @@ expectTypesMatch(true);
616
639
 
617
640
  // lib/components/potentiometer.ts
618
641
  import { resistance as resistance2 } from "circuit-json";
619
- import { z as z32 } from "zod";
642
+ import { z as z33 } from "zod";
620
643
  var potentiometerProps = commonComponentProps.extend({
621
644
  maxResistance: resistance2,
622
- pinVariant: z32.enum(["two_pin", "three_pin"]).optional()
645
+ pinVariant: z33.enum(["two_pin", "three_pin"]).optional()
623
646
  });
624
647
  expectTypesMatch(true);
625
648
 
626
649
  // lib/components/crystal.ts
627
650
  import { frequency, capacitance } from "circuit-json";
628
- import { z as z33 } from "zod";
651
+ import { z as z34 } from "zod";
629
652
  var crystalProps = commonComponentProps.extend({
630
653
  frequency,
631
654
  loadCapacitance: capacitance,
632
- pinVariant: z33.enum(["two_pin", "four_pin"]).optional()
655
+ pinVariant: z34.enum(["two_pin", "four_pin"]).optional(),
656
+ schOrientation: schematicOrientation.optional()
633
657
  });
634
658
  var crystalPins = lrPins;
635
659
  expectTypesMatch(true);
636
660
 
637
661
  // lib/components/resonator.ts
638
662
  import { frequency as frequency2, capacitance as capacitance2 } from "circuit-json";
639
- import { z as z34 } from "zod";
663
+ import { z as z35 } from "zod";
640
664
  var resonatorProps = commonComponentProps.extend({
641
665
  frequency: frequency2,
642
666
  loadCapacitance: capacitance2,
643
- pinVariant: z34.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
667
+ pinVariant: z35.enum(["no_ground", "ground_pin", "two_ground_pins"]).optional()
644
668
  });
645
669
  expectTypesMatch(true);
646
670
 
647
671
  // lib/components/stampboard.ts
648
672
  import { distance as distance11 } from "circuit-json";
649
- import { z as z35 } from "zod";
673
+ import { z as z36 } from "zod";
650
674
  var stampboardProps = boardProps.extend({
651
- leftPinCount: z35.number().optional(),
652
- rightPinCount: z35.number().optional(),
653
- topPinCount: z35.number().optional(),
654
- bottomPinCount: z35.number().optional(),
655
- leftPins: z35.array(z35.string()).optional(),
656
- rightPins: z35.array(z35.string()).optional(),
657
- topPins: z35.array(z35.string()).optional(),
658
- bottomPins: z35.array(z35.string()).optional(),
675
+ leftPinCount: z36.number().optional(),
676
+ rightPinCount: z36.number().optional(),
677
+ topPinCount: z36.number().optional(),
678
+ bottomPinCount: z36.number().optional(),
679
+ leftPins: z36.array(z36.string()).optional(),
680
+ rightPins: z36.array(z36.string()).optional(),
681
+ topPins: z36.array(z36.string()).optional(),
682
+ bottomPins: z36.array(z36.string()).optional(),
659
683
  pinPitch: distance11.optional(),
660
- innerHoles: z35.boolean().optional()
684
+ innerHoles: z36.boolean().optional()
661
685
  });
662
686
  expectTypesMatch(true);
663
687
 
664
688
  // lib/components/capacitor.ts
665
689
  import { capacitance as capacitance3, voltage } from "circuit-json";
666
- import { z as z36 } from "zod";
690
+ import { z as z37 } from "zod";
667
691
  var capacitorPinLabels = [
668
692
  "pin1",
669
693
  "pin2",
@@ -675,31 +699,32 @@ var capacitorPinLabels = [
675
699
  var capacitorProps = commonComponentProps.extend({
676
700
  capacitance: capacitance3,
677
701
  maxVoltageRating: voltage.optional(),
678
- schShowRatings: z36.boolean().optional().default(false),
679
- polarized: z36.boolean().optional().default(false),
680
- decouplingFor: z36.string().optional(),
681
- decouplingTo: z36.string().optional(),
682
- bypassFor: z36.string().optional(),
683
- bypassTo: z36.string().optional(),
684
- maxDecouplingTraceLength: z36.number().optional(),
702
+ schShowRatings: z37.boolean().optional().default(false),
703
+ polarized: z37.boolean().optional().default(false),
704
+ decouplingFor: z37.string().optional(),
705
+ decouplingTo: z37.string().optional(),
706
+ bypassFor: z37.string().optional(),
707
+ bypassTo: z37.string().optional(),
708
+ maxDecouplingTraceLength: z37.number().optional(),
709
+ schOrientation: schematicOrientation.optional(),
685
710
  connections: createConnectionsProp(capacitorPinLabels).optional()
686
711
  });
687
712
  var capacitorPins = lrPolarPins;
688
713
  expectTypesMatch(true);
689
714
 
690
715
  // lib/components/net.ts
691
- import { z as z37 } from "zod";
692
- var netProps = z37.object({
693
- name: z37.string()
716
+ import { z as z38 } from "zod";
717
+ var netProps = z38.object({
718
+ name: z38.string()
694
719
  });
695
720
  expectTypesMatch(true);
696
721
 
697
722
  // lib/components/constrainedlayout.ts
698
- import { z as z38 } from "zod";
699
- var constrainedLayoutProps = z38.object({
700
- name: z38.string().optional(),
701
- pcbOnly: z38.boolean().optional(),
702
- schOnly: z38.boolean().optional()
723
+ import { z as z39 } from "zod";
724
+ var constrainedLayoutProps = z39.object({
725
+ name: z39.string().optional(),
726
+ pcbOnly: z39.boolean().optional(),
727
+ schOnly: z39.boolean().optional()
703
728
  });
704
729
  expectTypesMatch(true);
705
730
 
@@ -708,46 +733,46 @@ import "zod";
708
733
  import { distance as distance12, length as length2 } from "circuit-json";
709
734
 
710
735
  // lib/components/constraint.ts
711
- import { z as z40 } from "zod";
712
- var pcbXDistConstraintProps = z40.object({
713
- pcb: z40.literal(true).optional(),
736
+ import { z as z41 } from "zod";
737
+ var pcbXDistConstraintProps = z41.object({
738
+ pcb: z41.literal(true).optional(),
714
739
  xDist: distance12,
715
- left: z40.string(),
716
- right: z40.string(),
717
- edgeToEdge: z40.literal(true).optional(),
718
- centerToCenter: z40.literal(true).optional()
740
+ left: z41.string(),
741
+ right: z41.string(),
742
+ edgeToEdge: z41.literal(true).optional(),
743
+ centerToCenter: z41.literal(true).optional()
719
744
  });
720
745
  expectTypesMatch(
721
746
  true
722
747
  );
723
- var pcbYDistConstraintProps = z40.object({
724
- pcb: z40.literal(true).optional(),
748
+ var pcbYDistConstraintProps = z41.object({
749
+ pcb: z41.literal(true).optional(),
725
750
  yDist: distance12,
726
- top: z40.string(),
727
- bottom: z40.string(),
728
- edgeToEdge: z40.literal(true).optional(),
729
- centerToCenter: z40.literal(true).optional()
751
+ top: z41.string(),
752
+ bottom: z41.string(),
753
+ edgeToEdge: z41.literal(true).optional(),
754
+ centerToCenter: z41.literal(true).optional()
730
755
  });
731
756
  expectTypesMatch(
732
757
  true
733
758
  );
734
- var pcbSameYConstraintProps = z40.object({
735
- pcb: z40.literal(true).optional(),
736
- sameY: z40.literal(true).optional(),
737
- for: z40.array(z40.string())
759
+ var pcbSameYConstraintProps = z41.object({
760
+ pcb: z41.literal(true).optional(),
761
+ sameY: z41.literal(true).optional(),
762
+ for: z41.array(z41.string())
738
763
  });
739
764
  expectTypesMatch(
740
765
  true
741
766
  );
742
- var pcbSameXConstraintProps = z40.object({
743
- pcb: z40.literal(true).optional(),
744
- sameX: z40.literal(true).optional(),
745
- for: z40.array(z40.string())
767
+ var pcbSameXConstraintProps = z41.object({
768
+ pcb: z41.literal(true).optional(),
769
+ sameX: z41.literal(true).optional(),
770
+ for: z41.array(z41.string())
746
771
  });
747
772
  expectTypesMatch(
748
773
  true
749
774
  );
750
- var constraintProps = z40.union([
775
+ var constraintProps = z41.union([
751
776
  pcbXDistConstraintProps,
752
777
  pcbYDistConstraintProps,
753
778
  pcbSameYConstraintProps,
@@ -756,13 +781,13 @@ var constraintProps = z40.union([
756
781
  expectTypesMatch(true);
757
782
 
758
783
  // lib/components/cutout.ts
759
- import { z as z41 } from "zod";
784
+ import { z as z42 } from "zod";
760
785
  var rectCutoutProps = pcbLayoutProps.omit({
761
786
  layer: true,
762
787
  pcbRotation: true
763
788
  }).extend({
764
- name: z41.string().optional(),
765
- shape: z41.literal("rect"),
789
+ name: z42.string().optional(),
790
+ shape: z42.literal("rect"),
766
791
  width: distance12,
767
792
  height: distance12
768
793
  });
@@ -771,8 +796,8 @@ var circleCutoutProps = pcbLayoutProps.omit({
771
796
  layer: true,
772
797
  pcbRotation: true
773
798
  }).extend({
774
- name: z41.string().optional(),
775
- shape: z41.literal("circle"),
799
+ name: z42.string().optional(),
800
+ shape: z42.literal("circle"),
776
801
  radius: distance12
777
802
  });
778
803
  expectTypesMatch(true);
@@ -780,42 +805,42 @@ var polygonCutoutProps = pcbLayoutProps.omit({
780
805
  layer: true,
781
806
  pcbRotation: true
782
807
  }).extend({
783
- name: z41.string().optional(),
784
- shape: z41.literal("polygon"),
785
- points: z41.array(point)
808
+ name: z42.string().optional(),
809
+ shape: z42.literal("polygon"),
810
+ points: z42.array(point)
786
811
  });
787
812
  expectTypesMatch(true);
788
- var cutoutProps = z41.discriminatedUnion("shape", [
813
+ var cutoutProps = z42.discriminatedUnion("shape", [
789
814
  rectCutoutProps,
790
815
  circleCutoutProps,
791
816
  polygonCutoutProps
792
817
  ]);
793
818
 
794
819
  // lib/components/smtpad.ts
795
- import { z as z42 } from "zod";
820
+ import { z as z43 } from "zod";
796
821
  var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
797
- shape: z42.literal("rect"),
822
+ shape: z43.literal("rect"),
798
823
  width: distance12,
799
824
  height: distance12,
800
825
  portHints: portHints.optional()
801
826
  });
802
827
  expectTypesMatch(true);
803
828
  var rotatedRectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
804
- shape: z42.literal("rotated_rect"),
829
+ shape: z43.literal("rotated_rect"),
805
830
  width: distance12,
806
831
  height: distance12,
807
- ccwRotation: z42.number(),
832
+ ccwRotation: z43.number(),
808
833
  portHints: portHints.optional()
809
834
  });
810
835
  expectTypesMatch(true);
811
836
  var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
812
- shape: z42.literal("circle"),
837
+ shape: z43.literal("circle"),
813
838
  radius: distance12,
814
839
  portHints: portHints.optional()
815
840
  });
816
841
  expectTypesMatch(true);
817
842
  var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
818
- shape: z42.literal("pill"),
843
+ shape: z43.literal("pill"),
819
844
  width: distance12,
820
845
  height: distance12,
821
846
  radius: distance12,
@@ -823,12 +848,12 @@ var pillSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
823
848
  });
824
849
  expectTypesMatch(true);
825
850
  var polygonSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
826
- shape: z42.literal("polygon"),
827
- points: z42.array(point),
851
+ shape: z43.literal("polygon"),
852
+ points: z43.array(point),
828
853
  portHints: portHints.optional()
829
854
  });
830
855
  expectTypesMatch(true);
831
- var smtPadProps = z42.discriminatedUnion("shape", [
856
+ var smtPadProps = z43.discriminatedUnion("shape", [
832
857
  circleSmtPadProps,
833
858
  rectSmtPadProps,
834
859
  rotatedRectSmtPadProps,
@@ -838,28 +863,28 @@ var smtPadProps = z42.discriminatedUnion("shape", [
838
863
  expectTypesMatch(true);
839
864
 
840
865
  // lib/components/solderpaste.ts
841
- import { z as z43 } from "zod";
866
+ import { z as z44 } from "zod";
842
867
  var rectSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
843
- shape: z43.literal("rect"),
868
+ shape: z44.literal("rect"),
844
869
  width: distance12,
845
870
  height: distance12
846
871
  });
847
872
  expectTypesMatch(true);
848
873
  var circleSolderPasteProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
849
- shape: z43.literal("circle"),
874
+ shape: z44.literal("circle"),
850
875
  radius: distance12
851
876
  });
852
877
  expectTypesMatch(true);
853
- var solderPasteProps = z43.union([
878
+ var solderPasteProps = z44.union([
854
879
  circleSolderPasteProps,
855
880
  rectSolderPasteProps
856
881
  ]);
857
882
  expectTypesMatch(true);
858
883
 
859
884
  // lib/components/hole.ts
860
- import { z as z44 } from "zod";
885
+ import { z as z45 } from "zod";
861
886
  var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
862
- name: z44.string().optional(),
887
+ name: z45.string().optional(),
863
888
  diameter: distance12.optional(),
864
889
  radius: distance12.optional()
865
890
  }).transform((d) => ({
@@ -871,24 +896,24 @@ expectTypesMatch(true);
871
896
 
872
897
  // lib/components/trace.ts
873
898
  import { distance as distance13, route_hint_point as route_hint_point2 } from "circuit-json";
874
- import { z as z45 } from "zod";
875
- var portRef = z45.union([
876
- z45.string(),
877
- z45.custom(
899
+ import { z as z46 } from "zod";
900
+ var portRef = z46.union([
901
+ z46.string(),
902
+ z46.custom(
878
903
  (v) => Boolean(v.getPortSelector)
879
904
  )
880
905
  ]);
881
- var baseTraceProps = z45.object({
882
- key: z45.string().optional(),
906
+ var baseTraceProps = z46.object({
907
+ key: z46.string().optional(),
883
908
  thickness: distance13.optional(),
884
- schematicRouteHints: z45.array(point).optional(),
885
- pcbRouteHints: z45.array(route_hint_point2).optional(),
886
- schDisplayLabel: z45.string().optional(),
909
+ schematicRouteHints: z46.array(point).optional(),
910
+ pcbRouteHints: z46.array(route_hint_point2).optional(),
911
+ schDisplayLabel: z46.string().optional(),
887
912
  maxLength: distance13.optional()
888
913
  });
889
- var traceProps = z45.union([
914
+ var traceProps = z46.union([
890
915
  baseTraceProps.extend({
891
- path: z45.array(portRef)
916
+ path: z46.array(portRef)
892
917
  }),
893
918
  baseTraceProps.extend({
894
919
  from: portRef,
@@ -898,15 +923,15 @@ var traceProps = z45.union([
898
923
 
899
924
  // lib/components/footprint.ts
900
925
  import { layer_ref as layer_ref4 } from "circuit-json";
901
- import { z as z46 } from "zod";
902
- var footprintProps = z46.object({
926
+ import { z as z47 } from "zod";
927
+ var footprintProps = z47.object({
903
928
  originalLayer: layer_ref4.default("top").optional()
904
929
  });
905
930
  expectTypesMatch(true);
906
931
 
907
932
  // lib/components/battery.ts
908
- import { z as z47 } from "zod";
909
- var capacity = z47.number().or(z47.string().endsWith("mAh")).transform((v) => {
933
+ import { z as z48 } from "zod";
934
+ var capacity = z48.number().or(z48.string().endsWith("mAh")).transform((v) => {
910
935
  if (typeof v === "string") {
911
936
  const valString = v.replace("mAh", "");
912
937
  const num = Number.parseFloat(valString);
@@ -918,26 +943,27 @@ var capacity = z47.number().or(z47.string().endsWith("mAh")).transform((v) => {
918
943
  return v;
919
944
  }).describe("Battery capacity in mAh");
920
945
  var batteryProps = commonComponentProps.extend({
921
- capacity: capacity.optional()
946
+ capacity: capacity.optional(),
947
+ schOrientation: schematicOrientation.optional()
922
948
  });
923
949
  var batteryPins = lrPolarPins;
924
950
  expectTypesMatch(true);
925
951
 
926
952
  // lib/components/pin-header.ts
927
953
  import { distance as distance14 } from "circuit-json";
928
- import { z as z48 } from "zod";
954
+ import { z as z49 } from "zod";
929
955
  var pinHeaderProps = commonComponentProps.extend({
930
- pinCount: z48.number(),
956
+ pinCount: z49.number(),
931
957
  pitch: distance14.optional(),
932
- schFacingDirection: z48.enum(["up", "down", "left", "right"]).optional(),
933
- gender: z48.enum(["male", "female"]).optional().default("male"),
934
- showSilkscreenPinLabels: z48.boolean().optional(),
935
- doubleRow: z48.boolean().optional(),
958
+ schFacingDirection: z49.enum(["up", "down", "left", "right"]).optional(),
959
+ gender: z49.enum(["male", "female"]).optional().default("male"),
960
+ showSilkscreenPinLabels: z49.boolean().optional(),
961
+ doubleRow: z49.boolean().optional(),
936
962
  holeDiameter: distance14.optional(),
937
963
  platedDiameter: distance14.optional(),
938
- pinLabels: z48.array(z48.string()).optional(),
939
- connections: z48.custom().pipe(z48.record(z48.string(), connectionTarget2)).optional(),
940
- facingDirection: z48.enum(["left", "right"]).optional(),
964
+ pinLabels: z49.array(z49.string()).optional(),
965
+ connections: z49.custom().pipe(z49.record(z49.string(), connectionTarget2)).optional(),
966
+ facingDirection: z49.enum(["left", "right"]).optional(),
941
967
  schPinArrangement: schematicPinArrangement.optional(),
942
968
  schPinStyle: schematicPinStyle.optional(),
943
969
  schPinSpacing: distance14.optional(),
@@ -947,29 +973,29 @@ var pinHeaderProps = commonComponentProps.extend({
947
973
  expectTypesMatch(true);
948
974
 
949
975
  // lib/components/netalias.ts
950
- import { z as z49 } from "zod";
976
+ import { z as z50 } from "zod";
951
977
  import { rotation as rotation2 } from "circuit-json";
952
- var netAliasProps = z49.object({
953
- net: z49.string().optional(),
954
- connection: z49.string().optional(),
978
+ var netAliasProps = z50.object({
979
+ net: z50.string().optional(),
980
+ connection: z50.string().optional(),
955
981
  schX: distance12.optional(),
956
982
  schY: distance12.optional(),
957
983
  schRotation: rotation2.optional(),
958
- anchorSide: z49.enum(["left", "top", "right", "bottom"]).optional()
984
+ anchorSide: z50.enum(["left", "top", "right", "bottom"]).optional()
959
985
  });
960
986
  expectTypesMatch(true);
961
987
 
962
988
  // lib/components/netlabel.ts
963
- import { z as z50 } from "zod";
989
+ import { z as z51 } from "zod";
964
990
  import { rotation as rotation3 } from "circuit-json";
965
- var netLabelProps = z50.object({
966
- net: z50.string().optional(),
967
- connection: z50.string().optional(),
968
- connectsTo: z50.string().or(z50.array(z50.string())).optional(),
991
+ var netLabelProps = z51.object({
992
+ net: z51.string().optional(),
993
+ connection: z51.string().optional(),
994
+ connectsTo: z51.string().or(z51.array(z51.string())).optional(),
969
995
  schX: distance12.optional(),
970
996
  schY: distance12.optional(),
971
997
  schRotation: rotation3.optional(),
972
- anchorSide: z50.enum(["left", "top", "right", "bottom"]).optional()
998
+ anchorSide: z51.enum(["left", "top", "right", "bottom"]).optional()
973
999
  });
974
1000
  expectTypesMatch(true);
975
1001
 
@@ -983,9 +1009,9 @@ var subcircuitProps = subcircuitGroupProps;
983
1009
  expectTypesMatch(true);
984
1010
 
985
1011
  // lib/components/transistor.ts
986
- import { z as z52 } from "zod";
1012
+ import { z as z53 } from "zod";
987
1013
  var transistorProps = commonComponentProps.extend({
988
- type: z52.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"])
1014
+ type: z53.enum(["npn", "pnp", "bjt", "jfet", "mosfet", "igbt"])
989
1015
  });
990
1016
  var transistorPins = [
991
1017
  "pin1",
@@ -998,10 +1024,10 @@ var transistorPins = [
998
1024
  expectTypesMatch(true);
999
1025
 
1000
1026
  // lib/components/mosfet.ts
1001
- import { z as z53 } from "zod";
1027
+ import { z as z54 } from "zod";
1002
1028
  var mosfetProps = commonComponentProps.extend({
1003
- channelType: z53.enum(["n", "p"]),
1004
- mosfetMode: z53.enum(["enhancement", "depletion"])
1029
+ channelType: z54.enum(["n", "p"]),
1030
+ mosfetMode: z54.enum(["enhancement", "depletion"])
1005
1031
  });
1006
1032
  var mosfetPins = [
1007
1033
  "pin1",
@@ -1015,17 +1041,18 @@ expectTypesMatch(true);
1015
1041
 
1016
1042
  // lib/components/inductor.ts
1017
1043
  import { inductance } from "circuit-json";
1018
- import { z as z54 } from "zod";
1044
+ import { z as z55 } from "zod";
1019
1045
  var inductorProps = commonComponentProps.extend({
1020
1046
  inductance,
1021
- maxCurrentRating: z54.union([z54.string(), z54.number()]).optional()
1047
+ maxCurrentRating: z55.union([z55.string(), z55.number()]).optional(),
1048
+ schOrientation: schematicOrientation.optional()
1022
1049
  });
1023
1050
  var inductorPins = lrPins;
1024
1051
  expectTypesMatch(true);
1025
1052
 
1026
1053
  // lib/components/diode.ts
1027
- import { z as z55 } from "zod";
1028
- var diodeConnectionKeys = z55.enum([
1054
+ import { z as z56 } from "zod";
1055
+ var diodeConnectionKeys = z56.enum([
1029
1056
  "anode",
1030
1057
  "cathode",
1031
1058
  "pin1",
@@ -1033,17 +1060,18 @@ var diodeConnectionKeys = z55.enum([
1033
1060
  "pos",
1034
1061
  "neg"
1035
1062
  ]);
1036
- var connectionTarget3 = z55.string().or(z55.array(z55.string()).readonly()).or(z55.array(z55.string()));
1037
- var connectionsProp2 = z55.record(diodeConnectionKeys, connectionTarget3);
1038
- var diodeVariant = z55.enum(["standard", "schottky", "zener", "photo", "tvs"]);
1063
+ var connectionTarget3 = z56.string().or(z56.array(z56.string()).readonly()).or(z56.array(z56.string()));
1064
+ var connectionsProp2 = z56.record(diodeConnectionKeys, connectionTarget3);
1065
+ var diodeVariant = z56.enum(["standard", "schottky", "zener", "photo", "tvs"]);
1039
1066
  var diodeProps = commonComponentProps.extend({
1040
1067
  connections: connectionsProp2.optional(),
1041
1068
  variant: diodeVariant.optional().default("standard"),
1042
- standard: z55.boolean().optional(),
1043
- schottky: z55.boolean().optional(),
1044
- zener: z55.boolean().optional(),
1045
- photo: z55.boolean().optional(),
1046
- tvs: z55.boolean().optional()
1069
+ standard: z56.boolean().optional(),
1070
+ schottky: z56.boolean().optional(),
1071
+ zener: z56.boolean().optional(),
1072
+ photo: z56.boolean().optional(),
1073
+ tvs: z56.boolean().optional(),
1074
+ schOrientation: schematicOrientation.optional()
1047
1075
  }).superRefine((data, ctx) => {
1048
1076
  const enabledFlags = [
1049
1077
  data.standard,
@@ -1054,11 +1082,11 @@ var diodeProps = commonComponentProps.extend({
1054
1082
  ].filter(Boolean).length;
1055
1083
  if (enabledFlags > 1) {
1056
1084
  ctx.addIssue({
1057
- code: z55.ZodIssueCode.custom,
1085
+ code: z56.ZodIssueCode.custom,
1058
1086
  message: "Exactly one diode variant must be enabled",
1059
1087
  path: []
1060
1088
  });
1061
- return z55.INVALID;
1089
+ return z56.INVALID;
1062
1090
  }
1063
1091
  }).transform((data) => {
1064
1092
  const result = {
@@ -1106,23 +1134,24 @@ var diodePins = lrPolarPins;
1106
1134
  expectTypesMatch(true);
1107
1135
 
1108
1136
  // lib/components/led.ts
1109
- import { z as z56 } from "zod";
1137
+ import { z as z57 } from "zod";
1110
1138
  var ledProps = commonComponentProps.extend({
1111
- color: z56.string().optional(),
1112
- wavelength: z56.string().optional(),
1113
- schDisplayValue: z56.string().optional()
1139
+ color: z57.string().optional(),
1140
+ wavelength: z57.string().optional(),
1141
+ schDisplayValue: z57.string().optional(),
1142
+ schOrientation: schematicOrientation.optional()
1114
1143
  });
1115
1144
  var ledPins = lrPolarPins;
1116
1145
 
1117
1146
  // lib/components/switch.ts
1118
- import { z as z57 } from "zod";
1147
+ import { z as z58 } from "zod";
1119
1148
  var switchProps = commonComponentProps.extend({
1120
- type: z57.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
1121
- isNormallyClosed: z57.boolean().optional().default(false),
1122
- spst: z57.boolean().optional(),
1123
- spdt: z57.boolean().optional(),
1124
- dpst: z57.boolean().optional(),
1125
- dpdt: z57.boolean().optional()
1149
+ type: z58.enum(["spst", "spdt", "dpst", "dpdt"]).optional(),
1150
+ isNormallyClosed: z58.boolean().optional().default(false),
1151
+ spst: z58.boolean().optional(),
1152
+ spdt: z58.boolean().optional(),
1153
+ dpst: z58.boolean().optional(),
1154
+ dpdt: z58.boolean().optional()
1126
1155
  }).transform((props) => {
1127
1156
  const updatedProps = { ...props };
1128
1157
  if (updatedProps.dpdt) {
@@ -1154,31 +1183,31 @@ expectTypesMatch(true);
1154
1183
 
1155
1184
  // lib/components/fabrication-note-text.ts
1156
1185
  import { length as length3 } from "circuit-json";
1157
- import { z as z58 } from "zod";
1186
+ import { z as z59 } from "zod";
1158
1187
  var fabricationNoteTextProps = pcbLayoutProps.extend({
1159
- text: z58.string(),
1160
- anchorAlignment: z58.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1161
- font: z58.enum(["tscircuit2024"]).optional(),
1188
+ text: z59.string(),
1189
+ anchorAlignment: z59.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1190
+ font: z59.enum(["tscircuit2024"]).optional(),
1162
1191
  fontSize: length3.optional(),
1163
- color: z58.string().optional()
1192
+ color: z59.string().optional()
1164
1193
  });
1165
1194
 
1166
1195
  // lib/components/fabrication-note-path.ts
1167
1196
  import { length as length4, route_hint_point as route_hint_point3 } from "circuit-json";
1168
- import { z as z59 } from "zod";
1197
+ import { z as z60 } from "zod";
1169
1198
  var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
1170
- route: z59.array(route_hint_point3),
1199
+ route: z60.array(route_hint_point3),
1171
1200
  strokeWidth: length4.optional(),
1172
- color: z59.string().optional()
1201
+ color: z60.string().optional()
1173
1202
  });
1174
1203
 
1175
1204
  // lib/components/pcb-trace.ts
1176
1205
  import { distance as distance15, route_hint_point as route_hint_point4 } from "circuit-json";
1177
- import { z as z60 } from "zod";
1178
- var pcbTraceProps = z60.object({
1179
- layer: z60.string().optional(),
1206
+ import { z as z61 } from "zod";
1207
+ var pcbTraceProps = z61.object({
1208
+ layer: z61.string().optional(),
1180
1209
  thickness: distance15.optional(),
1181
- route: z60.array(route_hint_point4)
1210
+ route: z61.array(route_hint_point4)
1182
1211
  });
1183
1212
 
1184
1213
  // lib/components/via.ts
@@ -1192,10 +1221,10 @@ var viaProps = commonLayoutProps.extend({
1192
1221
 
1193
1222
  // lib/components/testpoint.ts
1194
1223
  import { distance as distance17 } from "circuit-json";
1195
- import { z as z61 } from "zod";
1224
+ import { z as z62 } from "zod";
1196
1225
  var testpointProps = commonComponentProps.extend({
1197
- footprintVariant: z61.enum(["pad", "through_hole"]).optional(),
1198
- padShape: z61.enum(["rect", "circle"]).optional().default("circle"),
1226
+ footprintVariant: z62.enum(["pad", "through_hole"]).optional(),
1227
+ padShape: z62.enum(["rect", "circle"]).optional().default("circle"),
1199
1228
  padDiameter: distance17.optional(),
1200
1229
  holeDiameter: distance17.optional(),
1201
1230
  width: distance17.optional(),
@@ -1207,22 +1236,22 @@ var testpointProps = commonComponentProps.extend({
1207
1236
  expectTypesMatch(true);
1208
1237
 
1209
1238
  // lib/components/breakoutpoint.ts
1210
- import { z as z62 } from "zod";
1239
+ import { z as z63 } from "zod";
1211
1240
  var breakoutPointProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
1212
- connection: z62.string()
1241
+ connection: z63.string()
1213
1242
  });
1214
1243
  expectTypesMatch(true);
1215
1244
 
1216
1245
  // lib/components/pcb-keepout.ts
1217
1246
  import { distance as distance18 } from "circuit-json";
1218
- import { z as z63 } from "zod";
1219
- var pcbKeepoutProps = z63.union([
1247
+ import { z as z64 } from "zod";
1248
+ var pcbKeepoutProps = z64.union([
1220
1249
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
1221
- shape: z63.literal("circle"),
1250
+ shape: z64.literal("circle"),
1222
1251
  radius: distance18
1223
1252
  }),
1224
1253
  pcbLayoutProps.extend({
1225
- shape: z63.literal("rect"),
1254
+ shape: z64.literal("rect"),
1226
1255
  width: distance18,
1227
1256
  height: distance18
1228
1257
  })
@@ -1236,11 +1265,11 @@ var powerSourceProps = commonComponentProps.extend({
1236
1265
 
1237
1266
  // lib/components/schematic-box.ts
1238
1267
  import { distance as distance19 } from "circuit-json";
1239
- import { z as z65 } from "zod";
1268
+ import { z as z66 } from "zod";
1240
1269
 
1241
1270
  // lib/common/ninePointAnchor.ts
1242
- import { z as z64 } from "zod";
1243
- var ninePointAnchor = z64.enum([
1271
+ import { z as z65 } from "zod";
1272
+ var ninePointAnchor = z65.enum([
1244
1273
  "top_left",
1245
1274
  "top_center",
1246
1275
  "top_right",
@@ -1253,23 +1282,23 @@ var ninePointAnchor = z64.enum([
1253
1282
  ]);
1254
1283
 
1255
1284
  // lib/components/schematic-box.ts
1256
- var schematicBoxProps = z65.object({
1285
+ var schematicBoxProps = z66.object({
1257
1286
  schX: distance19.optional(),
1258
1287
  schY: distance19.optional(),
1259
1288
  width: distance19.optional(),
1260
1289
  height: distance19.optional(),
1261
- overlay: z65.array(z65.string()).optional(),
1290
+ overlay: z66.array(z66.string()).optional(),
1262
1291
  padding: distance19.optional(),
1263
1292
  paddingLeft: distance19.optional(),
1264
1293
  paddingRight: distance19.optional(),
1265
1294
  paddingTop: distance19.optional(),
1266
1295
  paddingBottom: distance19.optional(),
1267
- title: z65.string().optional(),
1296
+ title: z66.string().optional(),
1268
1297
  titleAlignment: ninePointAnchor.default("top_left"),
1269
- titleColor: z65.string().optional(),
1298
+ titleColor: z66.string().optional(),
1270
1299
  titleFontSize: distance19.optional(),
1271
- titleInside: z65.boolean().default(false),
1272
- strokeStyle: z65.enum(["solid", "dashed"]).default("solid")
1300
+ titleInside: z66.boolean().default(false),
1301
+ strokeStyle: z66.enum(["solid", "dashed"]).default("solid")
1273
1302
  }).refine(
1274
1303
  (elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
1275
1304
  {
@@ -1284,8 +1313,8 @@ var schematicBoxProps = z65.object({
1284
1313
 
1285
1314
  // lib/components/schematic-line.ts
1286
1315
  import { distance as distance20 } from "circuit-json";
1287
- import { z as z66 } from "zod";
1288
- var schematicLineProps = z66.object({
1316
+ import { z as z67 } from "zod";
1317
+ var schematicLineProps = z67.object({
1289
1318
  x1: distance20,
1290
1319
  y1: distance20,
1291
1320
  x2: distance20,
@@ -1294,11 +1323,11 @@ var schematicLineProps = z66.object({
1294
1323
 
1295
1324
  // lib/components/schematic-text.ts
1296
1325
  import { distance as distance21, rotation as rotation4 } from "circuit-json";
1297
- import { z as z68 } from "zod";
1326
+ import { z as z69 } from "zod";
1298
1327
 
1299
1328
  // lib/common/fivePointAnchor.ts
1300
- import { z as z67 } from "zod";
1301
- var fivePointAnchor = z67.enum([
1329
+ import { z as z68 } from "zod";
1330
+ var fivePointAnchor = z68.enum([
1302
1331
  "center",
1303
1332
  "left",
1304
1333
  "right",
@@ -1307,40 +1336,40 @@ var fivePointAnchor = z67.enum([
1307
1336
  ]);
1308
1337
 
1309
1338
  // lib/components/schematic-text.ts
1310
- var schematicTextProps = z68.object({
1339
+ var schematicTextProps = z69.object({
1311
1340
  schX: distance21.optional(),
1312
1341
  schY: distance21.optional(),
1313
- text: z68.string(),
1314
- fontSize: z68.number().default(1),
1315
- anchor: z68.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1316
- color: z68.string().default("#000000"),
1342
+ text: z69.string(),
1343
+ fontSize: z69.number().default(1),
1344
+ anchor: z69.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1345
+ color: z69.string().default("#000000"),
1317
1346
  schRotation: rotation4.default(0)
1318
1347
  });
1319
1348
 
1320
1349
  // lib/components/schematic-path.ts
1321
1350
  import { point as point5 } from "circuit-json";
1322
- import { z as z69 } from "zod";
1323
- var schematicPathProps = z69.object({
1324
- points: z69.array(point5),
1325
- isFilled: z69.boolean().optional().default(false),
1326
- fillColor: z69.enum(["red", "blue"]).optional()
1351
+ import { z as z70 } from "zod";
1352
+ var schematicPathProps = z70.object({
1353
+ points: z70.array(point5),
1354
+ isFilled: z70.boolean().optional().default(false),
1355
+ fillColor: z70.enum(["red", "blue"]).optional()
1327
1356
  });
1328
1357
 
1329
1358
  // lib/components/silkscreen-text.ts
1330
1359
  import { length as length5 } from "circuit-json";
1331
- import { z as z70 } from "zod";
1360
+ import { z as z71 } from "zod";
1332
1361
  var silkscreenTextProps = pcbLayoutProps.extend({
1333
- text: z70.string(),
1362
+ text: z71.string(),
1334
1363
  anchorAlignment: ninePointAnchor.default("center"),
1335
- font: z70.enum(["tscircuit2024"]).optional(),
1364
+ font: z71.enum(["tscircuit2024"]).optional(),
1336
1365
  fontSize: length5.optional()
1337
1366
  });
1338
1367
 
1339
1368
  // lib/components/silkscreen-path.ts
1340
1369
  import { length as length6, route_hint_point as route_hint_point5 } from "circuit-json";
1341
- import { z as z71 } from "zod";
1370
+ import { z as z72 } from "zod";
1342
1371
  var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
1343
- route: z71.array(route_hint_point5),
1372
+ route: z72.array(route_hint_point5),
1344
1373
  strokeWidth: length6.optional()
1345
1374
  });
1346
1375
 
@@ -1356,10 +1385,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotat
1356
1385
 
1357
1386
  // lib/components/silkscreen-rect.ts
1358
1387
  import { distance as distance23 } from "circuit-json";
1359
- import { z as z72 } from "zod";
1388
+ import { z as z73 } from "zod";
1360
1389
  var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1361
- filled: z72.boolean().default(true).optional(),
1362
- stroke: z72.enum(["dashed", "solid", "none"]).optional(),
1390
+ filled: z73.boolean().default(true).optional(),
1391
+ stroke: z73.enum(["dashed", "solid", "none"]).optional(),
1363
1392
  strokeWidth: distance23.optional(),
1364
1393
  width: distance23,
1365
1394
  height: distance23
@@ -1367,60 +1396,60 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1367
1396
 
1368
1397
  // lib/components/silkscreen-circle.ts
1369
1398
  import { distance as distance24 } from "circuit-json";
1370
- import { z as z73 } from "zod";
1399
+ import { z as z74 } from "zod";
1371
1400
  var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
1372
- isFilled: z73.boolean().optional(),
1373
- isOutline: z73.boolean().optional(),
1401
+ isFilled: z74.boolean().optional(),
1402
+ isOutline: z74.boolean().optional(),
1374
1403
  strokeWidth: distance24.optional(),
1375
1404
  radius: distance24
1376
1405
  });
1377
1406
 
1378
1407
  // lib/components/trace-hint.ts
1379
1408
  import { distance as distance25, layer_ref as layer_ref6, route_hint_point as route_hint_point6 } from "circuit-json";
1380
- import { z as z74 } from "zod";
1381
- var routeHintPointProps = z74.object({
1409
+ import { z as z75 } from "zod";
1410
+ var routeHintPointProps = z75.object({
1382
1411
  x: distance25,
1383
1412
  y: distance25,
1384
- via: z74.boolean().optional(),
1413
+ via: z75.boolean().optional(),
1385
1414
  toLayer: layer_ref6.optional()
1386
1415
  });
1387
- var traceHintProps = z74.object({
1388
- for: z74.string().optional().describe(
1416
+ var traceHintProps = z75.object({
1417
+ for: z75.string().optional().describe(
1389
1418
  "Selector for the port you're targeting, not required if you're inside a trace"
1390
1419
  ),
1391
- order: z74.number().optional(),
1420
+ order: z75.number().optional(),
1392
1421
  offset: route_hint_point6.or(routeHintPointProps).optional(),
1393
- offsets: z74.array(route_hint_point6).or(z74.array(routeHintPointProps)).optional(),
1394
- traceWidth: z74.number().optional()
1422
+ offsets: z75.array(route_hint_point6).or(z75.array(routeHintPointProps)).optional(),
1423
+ traceWidth: z75.number().optional()
1395
1424
  });
1396
1425
 
1397
1426
  // lib/components/port.ts
1398
- import { z as z75 } from "zod";
1427
+ import { z as z76 } from "zod";
1399
1428
  var portProps = commonLayoutProps.extend({
1400
- name: z75.string(),
1401
- pinNumber: z75.number().optional(),
1402
- aliases: z75.array(z75.string()).optional(),
1429
+ name: z76.string(),
1430
+ pinNumber: z76.number().optional(),
1431
+ aliases: z76.array(z76.string()).optional(),
1403
1432
  direction
1404
1433
  });
1405
1434
 
1406
1435
  // lib/platformConfig.ts
1407
- import { z as z76 } from "zod";
1408
- var unvalidatedCircuitJson = z76.array(z76.any()).describe("Circuit JSON");
1409
- var pathToCircuitJsonFn = z76.function().args(z76.string()).returns(z76.promise(z76.object({ footprintCircuitJson: z76.array(z76.any()) }))).describe("A function that takes a path and returns Circuit JSON");
1410
- var platformConfig = z76.object({
1436
+ import { z as z77 } from "zod";
1437
+ var unvalidatedCircuitJson = z77.array(z77.any()).describe("Circuit JSON");
1438
+ var pathToCircuitJsonFn = z77.function().args(z77.string()).returns(z77.promise(z77.object({ footprintCircuitJson: z77.array(z77.any()) }))).describe("A function that takes a path and returns Circuit JSON");
1439
+ var platformConfig = z77.object({
1411
1440
  partsEngine: partsEngine.optional(),
1412
1441
  autorouter: autorouterProp.optional(),
1413
- registryApiUrl: z76.string().optional(),
1414
- cloudAutorouterUrl: z76.string().optional(),
1415
- localCacheEngine: z76.any().optional(),
1416
- pcbDisabled: z76.boolean().optional(),
1417
- schematicDisabled: z76.boolean().optional(),
1418
- partsEngineDisabled: z76.boolean().optional(),
1419
- footprintLibraryMap: z76.record(
1420
- z76.string(),
1421
- z76.record(
1422
- z76.string(),
1423
- z76.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
1442
+ registryApiUrl: z77.string().optional(),
1443
+ cloudAutorouterUrl: z77.string().optional(),
1444
+ localCacheEngine: z77.any().optional(),
1445
+ pcbDisabled: z77.boolean().optional(),
1446
+ schematicDisabled: z77.boolean().optional(),
1447
+ partsEngineDisabled: z77.boolean().optional(),
1448
+ footprintLibraryMap: z77.record(
1449
+ z77.string(),
1450
+ z77.record(
1451
+ z77.string(),
1452
+ z77.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
1424
1453
  )
1425
1454
  ).optional()
1426
1455
  });
@@ -1532,6 +1561,7 @@ export {
1532
1561
  routeHintPointProps,
1533
1562
  schematicBoxProps,
1534
1563
  schematicLineProps,
1564
+ schematicOrientation,
1535
1565
  schematicPathProps,
1536
1566
  schematicPinArrangement,
1537
1567
  schematicPinStyle,