@tscircuit/props 0.0.63 → 0.0.64

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
@@ -23,6 +23,11 @@ __export(lib_exports, {
23
23
  baseGroupProps: () => baseGroupProps,
24
24
  boardProps: () => boardProps,
25
25
  bugProps: () => bugProps,
26
+ cadModelBase: () => cadModelBase,
27
+ cadModelJscad: () => cadModelJscad,
28
+ cadModelObj: () => cadModelObj,
29
+ cadModelProp: () => cadModelProp,
30
+ cadModelStl: () => cadModelStl,
26
31
  capacitorPins: () => capacitorPins,
27
32
  capacitorProps: () => capacitorProps,
28
33
  chipProps: () => chipProps,
@@ -69,6 +74,7 @@ __export(lib_exports, {
69
74
  rectSmtPadProps: () => rectSmtPadProps,
70
75
  resistorPins: () => resistorPins,
71
76
  resistorProps: () => resistorProps,
77
+ rotationPoint3: () => rotationPoint3,
72
78
  routeHintPointProps: () => routeHintPointProps,
73
79
  schematicBoxProps: () => schematicBoxProps,
74
80
  schematicLineProps: () => schematicLineProps,
@@ -90,8 +96,8 @@ __export(lib_exports, {
90
96
  viaProps: () => viaProps
91
97
  });
92
98
  module.exports = __toCommonJS(lib_exports);
93
- var import_soup11 = require("@tscircuit/soup");
94
- var import_zod22 = require("zod");
99
+ var import_soup13 = require("@tscircuit/soup");
100
+ var import_zod23 = require("zod");
95
101
 
96
102
  // lib/typecheck.ts
97
103
  var expectTypesMatch = (shouldBe) => {
@@ -186,6 +192,7 @@ var supplierProps = import_zod6.z.object({
186
192
  });
187
193
  expectTypesMatch(true);
188
194
  var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
195
+ key: import_zod6.z.any().optional(),
189
196
  name: import_zod6.z.string(),
190
197
  cadModel: cadModelProp.optional(),
191
198
  children: import_zod6.z.any().optional(),
@@ -272,7 +279,8 @@ var boardProps = import_zod10.z.object({
272
279
  pcbY: import_soup5.distance.optional().default(0),
273
280
  layout: import_zod10.z.any().optional(),
274
281
  routingDisabled: import_zod10.z.boolean().optional(),
275
- children: import_zod10.z.any()
282
+ children: import_zod10.z.any(),
283
+ defaultTraceWidth: import_soup5.distance.optional()
276
284
  });
277
285
  expectTypesMatch(true);
278
286
 
@@ -334,6 +342,7 @@ expectTypesMatch(true);
334
342
 
335
343
  // lib/components/group.ts
336
344
  var import_zod15 = require("zod");
345
+ var import_soup10 = require("@tscircuit/soup");
337
346
  var baseGroupProps = commonLayoutProps.extend({
338
347
  name: import_zod15.z.string().optional(),
339
348
  children: import_zod15.z.any().optional()
@@ -341,7 +350,8 @@ var baseGroupProps = commonLayoutProps.extend({
341
350
  var subcircuitGroupProps = baseGroupProps.extend({
342
351
  subcircuit: import_zod15.z.literal(true),
343
352
  layout: import_zod15.z.custom((v) => true).optional(),
344
- routingDisabled: import_zod15.z.boolean().optional()
353
+ routingDisabled: import_zod15.z.boolean().optional(),
354
+ defaultTraceWidth: import_soup10.length.optional()
345
355
  });
346
356
  var groupProps = import_zod15.z.union([baseGroupProps, subcircuitGroupProps]);
347
357
  expectTypesMatch(true);
@@ -366,13 +376,13 @@ expectTypesMatch(true);
366
376
 
367
377
  // lib/common/distance.ts
368
378
  var import_zod18 = require("zod");
369
- var import_soup10 = require("@tscircuit/soup");
379
+ var import_soup11 = require("@tscircuit/soup");
370
380
 
371
381
  // lib/components/constraint.ts
372
382
  var import_zod19 = require("zod");
373
383
  var pcbXDistConstraintProps = import_zod19.z.object({
374
384
  pcb: import_zod19.z.literal(true).optional(),
375
- xDist: import_soup10.distance,
385
+ xDist: import_soup11.distance,
376
386
  left: import_zod19.z.string(),
377
387
  right: import_zod19.z.string(),
378
388
  edgeToEdge: import_zod19.z.literal(true).optional(),
@@ -383,7 +393,7 @@ expectTypesMatch(
383
393
  );
384
394
  var pcbYDistConstraintProps = import_zod19.z.object({
385
395
  pcb: import_zod19.z.literal(true).optional(),
386
- yDist: import_soup10.distance,
396
+ yDist: import_soup11.distance,
387
397
  top: import_zod19.z.string(),
388
398
  bottom: import_zod19.z.string(),
389
399
  edgeToEdge: import_zod19.z.literal(true).optional(),
@@ -420,14 +430,14 @@ expectTypesMatch(true);
420
430
  var import_zod20 = require("zod");
421
431
  var rectSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
422
432
  shape: import_zod20.z.literal("rect"),
423
- width: import_soup10.distance,
424
- height: import_soup10.distance,
433
+ width: import_soup11.distance,
434
+ height: import_soup11.distance,
425
435
  portHints: portHints.optional()
426
436
  });
427
437
  expectTypesMatch(true);
428
438
  var circleSmtPadProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
429
439
  shape: import_zod20.z.literal("circle"),
430
- radius: import_soup10.distance,
440
+ radius: import_soup11.distance,
431
441
  portHints: portHints.optional()
432
442
  });
433
443
  expectTypesMatch(true);
@@ -438,8 +448,8 @@ expectTypesMatch(true);
438
448
  var import_zod21 = require("zod");
439
449
  var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
440
450
  name: import_zod21.z.string().optional(),
441
- diameter: import_soup10.distance.optional(),
442
- radius: import_soup10.distance.optional()
451
+ diameter: import_soup11.distance.optional(),
452
+ radius: import_soup11.distance.optional()
443
453
  }).transform((d) => ({
444
454
  ...d,
445
455
  diameter: d.diameter ?? 2 * d.radius,
@@ -447,181 +457,192 @@ var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
447
457
  }));
448
458
  expectTypesMatch(true);
449
459
 
460
+ // lib/components/trace.ts
461
+ var import_zod22 = require("zod");
462
+ var import_soup12 = require("@tscircuit/soup");
463
+ var portRef = import_zod22.z.union([
464
+ import_zod22.z.string(),
465
+ import_zod22.z.custom(
466
+ (v) => Boolean(v.getPortSelector)
467
+ )
468
+ ]);
469
+ var baseTraceProps = import_zod22.z.object({
470
+ key: import_zod22.z.string().optional(),
471
+ path: import_zod22.z.array(portRef),
472
+ thickness: import_soup12.distance.optional(),
473
+ schematicRouteHints: import_zod22.z.array(point).optional(),
474
+ pcbRouteHints: import_zod22.z.array(import_soup12.route_hint_point).optional()
475
+ });
476
+ var traceProps = import_zod22.z.union([
477
+ baseTraceProps.extend({
478
+ path: import_zod22.z.array(portRef)
479
+ }),
480
+ baseTraceProps.extend({
481
+ from: portRef,
482
+ to: portRef
483
+ })
484
+ ]);
485
+
450
486
  // lib/index.ts
451
487
  var inductorProps = commonComponentProps.extend({
452
- inductance: import_soup11.inductance
488
+ inductance: import_soup13.inductance
453
489
  });
454
490
  var inductorPins = lrPins;
455
491
  var diodeProps = commonComponentProps.extend({});
456
492
  var diodePins = lrPolarPins;
457
493
  var ledProps = commonComponentProps.extend({
458
- color: import_zod22.z.string().optional()
494
+ color: import_zod23.z.string().optional()
459
495
  });
460
496
  var ledPins = lrPolarPins;
461
497
  var switchProps = commonComponentProps.extend({
462
- ftype: import_zod22.z.literal("switch"),
463
- switchType: import_zod22.z.enum(["spst"]).default("spst"),
464
- isNormallyClosed: import_zod22.z.boolean().default(false)
498
+ ftype: import_zod23.z.literal("switch"),
499
+ switchType: import_zod23.z.enum(["spst"]).default("spst"),
500
+ isNormallyClosed: import_zod23.z.boolean().default(false)
465
501
  });
466
- var distanceOrMultiplier2 = import_soup11.distance.or(import_zod22.z.enum(["2x", "3x", "4x"]));
502
+ var distanceOrMultiplier2 = import_soup13.distance.or(import_zod23.z.enum(["2x", "3x", "4x"]));
467
503
  var viaProps = commonLayoutProps.extend({
468
- fromLayer: import_soup11.layer_ref,
469
- toLayer: import_soup11.layer_ref,
470
- holeDiameter: import_soup11.distance,
471
- outerDiameter: import_soup11.distance
504
+ fromLayer: import_soup13.layer_ref,
505
+ toLayer: import_soup13.layer_ref,
506
+ holeDiameter: import_soup13.distance,
507
+ outerDiameter: import_soup13.distance
472
508
  });
473
509
  var netAliasProps = commonLayoutProps.extend({
474
- net: import_zod22.z.string().optional()
510
+ net: import_zod23.z.string().optional()
475
511
  });
476
- var portRef = import_zod22.z.union([
477
- import_zod22.z.string(),
478
- import_zod22.z.custom(
479
- (v) => Boolean(v.getPortSelector)
480
- )
481
- ]);
482
- var traceProps = import_zod22.z.object({
483
- path: import_zod22.z.array(portRef),
484
- thickness: import_soup11.distance.optional(),
485
- schematicRouteHints: import_zod22.z.array(import_soup11.point).optional(),
486
- pcbRouteHints: import_zod22.z.array(import_soup11.route_hint_point).optional()
487
- }).or(
488
- import_zod22.z.object({
489
- from: portRef,
490
- to: portRef,
491
- thickness: import_soup11.distance.optional(),
492
- schematicRouteHints: import_zod22.z.array(import_soup11.point).optional(),
493
- pcbRouteHints: import_zod22.z.array(import_soup11.route_hint_point).optional()
494
- })
495
- );
496
- var platedHoleProps = import_zod22.z.union([
512
+ var platedHoleProps = import_zod23.z.union([
497
513
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
498
- name: import_zod22.z.string().optional(),
499
- shape: import_zod22.z.literal("circle"),
500
- holeDiameter: import_soup11.distance,
501
- outerDiameter: import_soup11.distance,
514
+ name: import_zod23.z.string().optional(),
515
+ shape: import_zod23.z.literal("circle"),
516
+ holeDiameter: import_soup13.distance,
517
+ outerDiameter: import_soup13.distance,
502
518
  portHints: portHints.optional()
503
519
  }),
504
520
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
505
- name: import_zod22.z.string().optional(),
506
- shape: import_zod22.z.literal("oval"),
507
- outerWidth: import_soup11.distance,
508
- outerHeight: import_soup11.distance,
509
- innerWidth: import_soup11.distance,
510
- innerHeight: import_soup11.distance,
521
+ name: import_zod23.z.string().optional(),
522
+ shape: import_zod23.z.literal("oval"),
523
+ outerWidth: import_soup13.distance,
524
+ outerHeight: import_soup13.distance,
525
+ innerWidth: import_soup13.distance,
526
+ innerHeight: import_soup13.distance,
511
527
  portHints: portHints.optional()
512
528
  })
513
529
  ]);
514
- var pcbKeepoutProps = import_zod22.z.union([
530
+ var pcbKeepoutProps = import_zod23.z.union([
515
531
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
516
- shape: import_zod22.z.literal("circle"),
517
- radius: import_soup11.distance
532
+ shape: import_zod23.z.literal("circle"),
533
+ radius: import_soup13.distance
518
534
  }),
519
535
  pcbLayoutProps.extend({
520
- shape: import_zod22.z.literal("rect"),
521
- width: import_soup11.distance,
522
- height: import_soup11.distance
536
+ shape: import_zod23.z.literal("rect"),
537
+ width: import_soup13.distance,
538
+ height: import_soup13.distance
523
539
  })
524
540
  ]);
525
- var schematicBoxProps = import_zod22.z.object({
526
- schX: import_soup11.distance,
527
- schY: import_soup11.distance,
528
- width: import_soup11.distance,
529
- height: import_soup11.distance
530
- });
531
- var schematicTextProps = import_zod22.z.object({
532
- schX: import_soup11.distance,
533
- schY: import_soup11.distance,
534
- text: import_zod22.z.string()
535
- });
536
- var schematicLineProps = import_zod22.z.object({
537
- x1: import_soup11.distance,
538
- y1: import_soup11.distance,
539
- x2: import_soup11.distance,
540
- y2: import_soup11.distance
541
- });
542
- var schematicPathProps = import_zod22.z.object({
543
- points: import_zod22.z.array(import_soup11.point),
544
- isFilled: import_zod22.z.boolean().optional().default(false),
545
- fillColor: import_zod22.z.enum(["red", "blue"]).optional()
546
- });
547
- var footprintProps = import_zod22.z.object({});
541
+ var schematicBoxProps = import_zod23.z.object({
542
+ schX: import_soup13.distance,
543
+ schY: import_soup13.distance,
544
+ width: import_soup13.distance,
545
+ height: import_soup13.distance
546
+ });
547
+ var schematicTextProps = import_zod23.z.object({
548
+ schX: import_soup13.distance,
549
+ schY: import_soup13.distance,
550
+ text: import_zod23.z.string()
551
+ });
552
+ var schematicLineProps = import_zod23.z.object({
553
+ x1: import_soup13.distance,
554
+ y1: import_soup13.distance,
555
+ x2: import_soup13.distance,
556
+ y2: import_soup13.distance
557
+ });
558
+ var schematicPathProps = import_zod23.z.object({
559
+ points: import_zod23.z.array(import_soup13.point),
560
+ isFilled: import_zod23.z.boolean().optional().default(false),
561
+ fillColor: import_zod23.z.enum(["red", "blue"]).optional()
562
+ });
563
+ var footprintProps = import_zod23.z.object({});
548
564
  var componentProps = commonComponentProps;
549
565
  var powerSourceProps = commonComponentProps.extend({
550
- voltage: import_soup11.voltage
566
+ voltage: import_soup13.voltage
551
567
  });
552
568
  var portProps = commonLayoutProps.extend({
553
- name: import_zod22.z.string(),
554
- pinNumber: import_zod22.z.number().optional(),
555
- aliases: import_zod22.z.array(import_zod22.z.string()).optional(),
569
+ name: import_zod23.z.string(),
570
+ pinNumber: import_zod23.z.number().optional(),
571
+ aliases: import_zod23.z.array(import_zod23.z.string()).optional(),
556
572
  direction
557
573
  });
558
574
  var silkscreenTextProps = pcbLayoutProps.extend({
559
- text: import_zod22.z.string(),
560
- anchorAlignment: import_zod22.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
561
- font: import_zod22.z.enum(["tscircuit2024"]).optional(),
562
- fontSize: import_soup11.length.optional()
575
+ text: import_zod23.z.string(),
576
+ anchorAlignment: import_zod23.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
577
+ font: import_zod23.z.enum(["tscircuit2024"]).optional(),
578
+ fontSize: import_soup13.length.optional()
563
579
  });
564
580
  var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
565
- route: import_zod22.z.array(import_soup11.route_hint_point),
566
- strokeWidth: import_soup11.length.optional()
581
+ route: import_zod23.z.array(import_soup13.route_hint_point),
582
+ strokeWidth: import_soup13.length.optional()
567
583
  });
568
584
  var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
569
- strokeWidth: import_soup11.distance,
570
- x1: import_soup11.distance,
571
- y1: import_soup11.distance,
572
- x2: import_soup11.distance,
573
- y2: import_soup11.distance
585
+ strokeWidth: import_soup13.distance,
586
+ x1: import_soup13.distance,
587
+ y1: import_soup13.distance,
588
+ x2: import_soup13.distance,
589
+ y2: import_soup13.distance
574
590
  });
575
591
  var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
576
- isFilled: import_zod22.z.boolean().optional(),
577
- isOutline: import_zod22.z.boolean().optional(),
578
- strokeWidth: import_soup11.distance.optional(),
579
- width: import_soup11.distance,
580
- height: import_soup11.distance
592
+ isFilled: import_zod23.z.boolean().optional(),
593
+ isOutline: import_zod23.z.boolean().optional(),
594
+ strokeWidth: import_soup13.distance.optional(),
595
+ width: import_soup13.distance,
596
+ height: import_soup13.distance
581
597
  });
582
598
  var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
583
- isFilled: import_zod22.z.boolean().optional(),
584
- isOutline: import_zod22.z.boolean().optional(),
585
- strokeWidth: import_soup11.distance.optional(),
586
- radius: import_soup11.distance
587
- });
588
- var routeHintPointProps = import_zod22.z.object({
589
- x: import_soup11.distance,
590
- y: import_soup11.distance,
591
- via: import_zod22.z.boolean().optional(),
592
- toLayer: import_soup11.layer_ref.optional()
593
- });
594
- var traceHintProps = import_zod22.z.object({
595
- for: import_zod22.z.string().optional().describe(
599
+ isFilled: import_zod23.z.boolean().optional(),
600
+ isOutline: import_zod23.z.boolean().optional(),
601
+ strokeWidth: import_soup13.distance.optional(),
602
+ radius: import_soup13.distance
603
+ });
604
+ var routeHintPointProps = import_zod23.z.object({
605
+ x: import_soup13.distance,
606
+ y: import_soup13.distance,
607
+ via: import_zod23.z.boolean().optional(),
608
+ toLayer: import_soup13.layer_ref.optional()
609
+ });
610
+ var traceHintProps = import_zod23.z.object({
611
+ for: import_zod23.z.string().optional().describe(
596
612
  "Selector for the port you're targeting, not required if you're inside a trace"
597
613
  ),
598
- order: import_zod22.z.number().optional(),
599
- offset: import_soup11.route_hint_point.or(routeHintPointProps).optional(),
600
- offsets: import_zod22.z.array(import_soup11.route_hint_point).or(import_zod22.z.array(routeHintPointProps)).optional(),
601
- traceWidth: import_zod22.z.number().optional()
614
+ order: import_zod23.z.number().optional(),
615
+ offset: import_soup13.route_hint_point.or(routeHintPointProps).optional(),
616
+ offsets: import_zod23.z.array(import_soup13.route_hint_point).or(import_zod23.z.array(routeHintPointProps)).optional(),
617
+ traceWidth: import_zod23.z.number().optional()
602
618
  });
603
- var pcbTraceProps = import_zod22.z.object({
604
- layer: import_zod22.z.string().optional(),
605
- thickness: import_soup11.distance.optional(),
606
- route: import_zod22.z.array(import_soup11.route_hint_point)
619
+ var pcbTraceProps = import_zod23.z.object({
620
+ layer: import_zod23.z.string().optional(),
621
+ thickness: import_soup13.distance.optional(),
622
+ route: import_zod23.z.array(import_soup13.route_hint_point)
607
623
  });
608
624
  var fabricationNoteTextProps = pcbLayoutProps.extend({
609
- text: import_zod22.z.string(),
610
- anchorAlignment: import_zod22.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
611
- font: import_zod22.z.enum(["tscircuit2024"]).optional(),
612
- fontSize: import_soup11.length.optional(),
613
- color: import_zod22.z.string().optional()
625
+ text: import_zod23.z.string(),
626
+ anchorAlignment: import_zod23.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
627
+ font: import_zod23.z.enum(["tscircuit2024"]).optional(),
628
+ fontSize: import_soup13.length.optional(),
629
+ color: import_zod23.z.string().optional()
614
630
  });
615
631
  var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
616
- route: import_zod22.z.array(import_soup11.route_hint_point),
617
- strokeWidth: import_soup11.length.optional(),
618
- color: import_zod22.z.string().optional()
632
+ route: import_zod23.z.array(import_soup13.route_hint_point),
633
+ strokeWidth: import_soup13.length.optional(),
634
+ color: import_zod23.z.string().optional()
619
635
  });
620
636
  // Annotate the CommonJS export names for ESM import in node:
621
637
  0 && (module.exports = {
622
638
  baseGroupProps,
623
639
  boardProps,
624
640
  bugProps,
641
+ cadModelBase,
642
+ cadModelJscad,
643
+ cadModelObj,
644
+ cadModelProp,
645
+ cadModelStl,
625
646
  capacitorPins,
626
647
  capacitorProps,
627
648
  chipProps,
@@ -668,6 +689,7 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
668
689
  rectSmtPadProps,
669
690
  resistorPins,
670
691
  resistorProps,
692
+ rotationPoint3,
671
693
  routeHintPointProps,
672
694
  schematicBoxProps,
673
695
  schematicLineProps,