@tscircuit/props 0.0.63 → 0.0.65

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,191 @@ 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
+ thickness: import_soup12.distance.optional(),
472
+ schematicRouteHints: import_zod22.z.array(point).optional(),
473
+ pcbRouteHints: import_zod22.z.array(import_soup12.route_hint_point).optional()
474
+ });
475
+ var traceProps = import_zod22.z.union([
476
+ baseTraceProps.extend({
477
+ path: import_zod22.z.array(portRef)
478
+ }),
479
+ baseTraceProps.extend({
480
+ from: portRef,
481
+ to: portRef
482
+ })
483
+ ]);
484
+
450
485
  // lib/index.ts
451
486
  var inductorProps = commonComponentProps.extend({
452
- inductance: import_soup11.inductance
487
+ inductance: import_soup13.inductance
453
488
  });
454
489
  var inductorPins = lrPins;
455
490
  var diodeProps = commonComponentProps.extend({});
456
491
  var diodePins = lrPolarPins;
457
492
  var ledProps = commonComponentProps.extend({
458
- color: import_zod22.z.string().optional()
493
+ color: import_zod23.z.string().optional()
459
494
  });
460
495
  var ledPins = lrPolarPins;
461
496
  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)
497
+ ftype: import_zod23.z.literal("switch"),
498
+ switchType: import_zod23.z.enum(["spst"]).default("spst"),
499
+ isNormallyClosed: import_zod23.z.boolean().default(false)
465
500
  });
466
- var distanceOrMultiplier2 = import_soup11.distance.or(import_zod22.z.enum(["2x", "3x", "4x"]));
501
+ var distanceOrMultiplier2 = import_soup13.distance.or(import_zod23.z.enum(["2x", "3x", "4x"]));
467
502
  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
503
+ fromLayer: import_soup13.layer_ref,
504
+ toLayer: import_soup13.layer_ref,
505
+ holeDiameter: import_soup13.distance,
506
+ outerDiameter: import_soup13.distance
472
507
  });
473
508
  var netAliasProps = commonLayoutProps.extend({
474
- net: import_zod22.z.string().optional()
509
+ net: import_zod23.z.string().optional()
475
510
  });
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([
511
+ var platedHoleProps = import_zod23.z.union([
497
512
  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,
513
+ name: import_zod23.z.string().optional(),
514
+ shape: import_zod23.z.literal("circle"),
515
+ holeDiameter: import_soup13.distance,
516
+ outerDiameter: import_soup13.distance,
502
517
  portHints: portHints.optional()
503
518
  }),
504
519
  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,
520
+ name: import_zod23.z.string().optional(),
521
+ shape: import_zod23.z.literal("oval"),
522
+ outerWidth: import_soup13.distance,
523
+ outerHeight: import_soup13.distance,
524
+ innerWidth: import_soup13.distance,
525
+ innerHeight: import_soup13.distance,
511
526
  portHints: portHints.optional()
512
527
  })
513
528
  ]);
514
- var pcbKeepoutProps = import_zod22.z.union([
529
+ var pcbKeepoutProps = import_zod23.z.union([
515
530
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
516
- shape: import_zod22.z.literal("circle"),
517
- radius: import_soup11.distance
531
+ shape: import_zod23.z.literal("circle"),
532
+ radius: import_soup13.distance
518
533
  }),
519
534
  pcbLayoutProps.extend({
520
- shape: import_zod22.z.literal("rect"),
521
- width: import_soup11.distance,
522
- height: import_soup11.distance
535
+ shape: import_zod23.z.literal("rect"),
536
+ width: import_soup13.distance,
537
+ height: import_soup13.distance
523
538
  })
524
539
  ]);
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({});
540
+ var schematicBoxProps = import_zod23.z.object({
541
+ schX: import_soup13.distance,
542
+ schY: import_soup13.distance,
543
+ width: import_soup13.distance,
544
+ height: import_soup13.distance
545
+ });
546
+ var schematicTextProps = import_zod23.z.object({
547
+ schX: import_soup13.distance,
548
+ schY: import_soup13.distance,
549
+ text: import_zod23.z.string()
550
+ });
551
+ var schematicLineProps = import_zod23.z.object({
552
+ x1: import_soup13.distance,
553
+ y1: import_soup13.distance,
554
+ x2: import_soup13.distance,
555
+ y2: import_soup13.distance
556
+ });
557
+ var schematicPathProps = import_zod23.z.object({
558
+ points: import_zod23.z.array(import_soup13.point),
559
+ isFilled: import_zod23.z.boolean().optional().default(false),
560
+ fillColor: import_zod23.z.enum(["red", "blue"]).optional()
561
+ });
562
+ var footprintProps = import_zod23.z.object({});
548
563
  var componentProps = commonComponentProps;
549
564
  var powerSourceProps = commonComponentProps.extend({
550
- voltage: import_soup11.voltage
565
+ voltage: import_soup13.voltage
551
566
  });
552
567
  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(),
568
+ name: import_zod23.z.string(),
569
+ pinNumber: import_zod23.z.number().optional(),
570
+ aliases: import_zod23.z.array(import_zod23.z.string()).optional(),
556
571
  direction
557
572
  });
558
573
  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()
574
+ text: import_zod23.z.string(),
575
+ anchorAlignment: import_zod23.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
576
+ font: import_zod23.z.enum(["tscircuit2024"]).optional(),
577
+ fontSize: import_soup13.length.optional()
563
578
  });
564
579
  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()
580
+ route: import_zod23.z.array(import_soup13.route_hint_point),
581
+ strokeWidth: import_soup13.length.optional()
567
582
  });
568
583
  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
584
+ strokeWidth: import_soup13.distance,
585
+ x1: import_soup13.distance,
586
+ y1: import_soup13.distance,
587
+ x2: import_soup13.distance,
588
+ y2: import_soup13.distance
574
589
  });
575
590
  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
591
+ isFilled: import_zod23.z.boolean().optional(),
592
+ isOutline: import_zod23.z.boolean().optional(),
593
+ strokeWidth: import_soup13.distance.optional(),
594
+ width: import_soup13.distance,
595
+ height: import_soup13.distance
581
596
  });
582
597
  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(
598
+ isFilled: import_zod23.z.boolean().optional(),
599
+ isOutline: import_zod23.z.boolean().optional(),
600
+ strokeWidth: import_soup13.distance.optional(),
601
+ radius: import_soup13.distance
602
+ });
603
+ var routeHintPointProps = import_zod23.z.object({
604
+ x: import_soup13.distance,
605
+ y: import_soup13.distance,
606
+ via: import_zod23.z.boolean().optional(),
607
+ toLayer: import_soup13.layer_ref.optional()
608
+ });
609
+ var traceHintProps = import_zod23.z.object({
610
+ for: import_zod23.z.string().optional().describe(
596
611
  "Selector for the port you're targeting, not required if you're inside a trace"
597
612
  ),
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()
613
+ order: import_zod23.z.number().optional(),
614
+ offset: import_soup13.route_hint_point.or(routeHintPointProps).optional(),
615
+ offsets: import_zod23.z.array(import_soup13.route_hint_point).or(import_zod23.z.array(routeHintPointProps)).optional(),
616
+ traceWidth: import_zod23.z.number().optional()
602
617
  });
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)
618
+ var pcbTraceProps = import_zod23.z.object({
619
+ layer: import_zod23.z.string().optional(),
620
+ thickness: import_soup13.distance.optional(),
621
+ route: import_zod23.z.array(import_soup13.route_hint_point)
607
622
  });
608
623
  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()
624
+ text: import_zod23.z.string(),
625
+ anchorAlignment: import_zod23.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
626
+ font: import_zod23.z.enum(["tscircuit2024"]).optional(),
627
+ fontSize: import_soup13.length.optional(),
628
+ color: import_zod23.z.string().optional()
614
629
  });
615
630
  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()
631
+ route: import_zod23.z.array(import_soup13.route_hint_point),
632
+ strokeWidth: import_soup13.length.optional(),
633
+ color: import_zod23.z.string().optional()
619
634
  });
620
635
  // Annotate the CommonJS export names for ESM import in node:
621
636
  0 && (module.exports = {
622
637
  baseGroupProps,
623
638
  boardProps,
624
639
  bugProps,
640
+ cadModelBase,
641
+ cadModelJscad,
642
+ cadModelObj,
643
+ cadModelProp,
644
+ cadModelStl,
625
645
  capacitorPins,
626
646
  capacitorProps,
627
647
  chipProps,
@@ -668,6 +688,7 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
668
688
  rectSmtPadProps,
669
689
  resistorPins,
670
690
  resistorProps,
691
+ rotationPoint3,
671
692
  routeHintPointProps,
672
693
  schematicBoxProps,
673
694
  schematicLineProps,