@tscircuit/props 0.0.47 → 0.0.48
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.d.ts +660 -123
- package/dist/index.js +198 -149
- package/dist/index.js.map +1 -1
- package/lib/common/cadModel.ts +38 -1
- package/lib/common/layout.ts +54 -6
- package/lib/common/schematicPinStyle.ts +24 -0
- package/lib/components/capacitor.ts +32 -0
- package/lib/components/chip.ts +2 -10
- package/lib/components/jumper.ts +32 -0
- package/lib/components/resistor.ts +30 -0
- package/lib/index.ts +3 -16
- package/lib/typecheck.ts +4 -2
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -44,6 +44,7 @@ __export(lib_exports, {
|
|
|
44
44
|
holeProps: () => holeProps,
|
|
45
45
|
inductorPins: () => inductorPins,
|
|
46
46
|
inductorProps: () => inductorProps,
|
|
47
|
+
jumperProps: () => jumperProps,
|
|
47
48
|
ledPins: () => ledPins,
|
|
48
49
|
ledProps: () => ledProps,
|
|
49
50
|
lrPins: () => lrPins,
|
|
@@ -71,15 +72,15 @@ __export(lib_exports, {
|
|
|
71
72
|
silkscreenRectProps: () => silkscreenRectProps,
|
|
72
73
|
silkscreenTextProps: () => silkscreenTextProps,
|
|
73
74
|
smtPadProps: () => smtPadProps,
|
|
74
|
-
supplierProps: () =>
|
|
75
|
+
supplierProps: () => supplierProps,
|
|
75
76
|
switchProps: () => switchProps,
|
|
76
77
|
traceHintProps: () => traceHintProps,
|
|
77
78
|
traceProps: () => traceProps,
|
|
78
79
|
viaProps: () => viaProps
|
|
79
80
|
});
|
|
80
81
|
module.exports = __toCommonJS(lib_exports);
|
|
81
|
-
var
|
|
82
|
-
var
|
|
82
|
+
var import_soup10 = require("@tscircuit/soup");
|
|
83
|
+
var import_zod15 = require("zod");
|
|
83
84
|
|
|
84
85
|
// lib/typecheck.ts
|
|
85
86
|
var expectTypesMatch = (shouldBe) => {
|
|
@@ -127,6 +128,7 @@ var cadModelBase = import_zod4.z.object({
|
|
|
127
128
|
positionOffset: point3.optional(),
|
|
128
129
|
size: point3.optional()
|
|
129
130
|
});
|
|
131
|
+
expectTypesMatch(true);
|
|
130
132
|
var cadModelStl = cadModelBase.extend({
|
|
131
133
|
stlUrl: import_zod4.z.string()
|
|
132
134
|
});
|
|
@@ -135,8 +137,15 @@ var cadModelObj = cadModelBase.extend({
|
|
|
135
137
|
mtlUrl: import_zod4.z.string().optional()
|
|
136
138
|
});
|
|
137
139
|
var cadModelJscad = cadModelBase.extend({
|
|
138
|
-
jscad: import_zod4.z.any()
|
|
140
|
+
jscad: import_zod4.z.record(import_zod4.z.any())
|
|
139
141
|
});
|
|
142
|
+
var cadModelProp = import_zod4.z.union([
|
|
143
|
+
import_zod4.z.string(),
|
|
144
|
+
cadModelStl,
|
|
145
|
+
cadModelObj,
|
|
146
|
+
cadModelJscad
|
|
147
|
+
]);
|
|
148
|
+
expectTypesMatch(true);
|
|
140
149
|
|
|
141
150
|
// lib/common/footprintProp.ts
|
|
142
151
|
var import_zod5 = require("zod");
|
|
@@ -159,15 +168,18 @@ var commonLayoutProps = import_zod6.z.object({
|
|
|
159
168
|
layer: import_soup2.layer_ref.optional(),
|
|
160
169
|
footprint: footprintProp.optional()
|
|
161
170
|
});
|
|
171
|
+
expectTypesMatch(true);
|
|
162
172
|
var supplierProps = import_zod6.z.object({
|
|
163
173
|
supplierPartNumbers: import_zod6.z.record(import_soup2.supplier_name, import_zod6.z.array(import_zod6.z.string())).optional()
|
|
164
174
|
});
|
|
175
|
+
expectTypesMatch(true);
|
|
165
176
|
var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
|
|
166
177
|
name: import_zod6.z.string(),
|
|
167
|
-
cadModel:
|
|
178
|
+
cadModel: cadModelProp.optional(),
|
|
168
179
|
children: import_zod6.z.any().optional(),
|
|
169
180
|
symbolName: import_zod6.z.string().optional()
|
|
170
181
|
});
|
|
182
|
+
expectTypesMatch(true);
|
|
171
183
|
var lrPins = ["pin1", "left", "pin2", "right"];
|
|
172
184
|
var lrPolarPins = [
|
|
173
185
|
"pin1",
|
|
@@ -239,228 +251,264 @@ var boardProps = import_zod9.z.object({
|
|
|
239
251
|
expectTypesMatch(true);
|
|
240
252
|
|
|
241
253
|
// lib/components/chip.ts
|
|
254
|
+
var import_zod11 = require("zod");
|
|
255
|
+
var import_soup6 = require("@tscircuit/soup");
|
|
256
|
+
|
|
257
|
+
// lib/common/schematicPinStyle.ts
|
|
242
258
|
var import_zod10 = require("zod");
|
|
243
259
|
var import_soup5 = require("@tscircuit/soup");
|
|
260
|
+
var schematicPinStyle = import_zod10.z.record(
|
|
261
|
+
import_zod10.z.object({
|
|
262
|
+
leftMargin: import_soup5.distance.optional(),
|
|
263
|
+
rightMargin: import_soup5.distance.optional(),
|
|
264
|
+
topMargin: import_soup5.distance.optional(),
|
|
265
|
+
bottomMargin: import_soup5.distance.optional()
|
|
266
|
+
})
|
|
267
|
+
);
|
|
268
|
+
expectTypesMatch(true);
|
|
269
|
+
|
|
270
|
+
// lib/components/chip.ts
|
|
244
271
|
var chipProps = commonComponentProps.extend({
|
|
245
|
-
manufacturerPartNumber:
|
|
246
|
-
pinLabels:
|
|
272
|
+
manufacturerPartNumber: import_zod11.z.string().optional(),
|
|
273
|
+
pinLabels: import_zod11.z.record(import_zod11.z.number().or(import_zod11.z.string()), import_zod11.z.string()).optional(),
|
|
247
274
|
schPortArrangement: schematicPortArrangement.optional(),
|
|
248
|
-
schPinStyle:
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
topMargin: import_soup5.distance.optional(),
|
|
253
|
-
bottomMargin: import_soup5.distance.optional()
|
|
254
|
-
})
|
|
255
|
-
).optional(),
|
|
256
|
-
schPinSpacing: import_soup5.distance.optional(),
|
|
257
|
-
schWidth: import_soup5.distance.optional(),
|
|
258
|
-
schHeight: import_soup5.distance.optional()
|
|
275
|
+
schPinStyle: schematicPinStyle.optional(),
|
|
276
|
+
schPinSpacing: import_soup6.distance.optional(),
|
|
277
|
+
schWidth: import_soup6.distance.optional(),
|
|
278
|
+
schHeight: import_soup6.distance.optional()
|
|
259
279
|
});
|
|
260
280
|
var bugProps = chipProps;
|
|
261
281
|
|
|
262
|
-
// lib/
|
|
263
|
-
var
|
|
264
|
-
|
|
282
|
+
// lib/components/jumper.ts
|
|
283
|
+
var import_zod12 = require("zod");
|
|
284
|
+
var import_soup7 = require("@tscircuit/soup");
|
|
285
|
+
var jumperProps = commonComponentProps.extend({
|
|
286
|
+
manufacturerPartNumber: import_zod12.z.string().optional(),
|
|
287
|
+
pinLabels: import_zod12.z.record(import_zod12.z.number().or(import_zod12.z.string()), import_zod12.z.string()).optional(),
|
|
288
|
+
schPinStyle: schematicPinStyle.optional(),
|
|
289
|
+
schPinSpacing: import_soup7.distance.optional(),
|
|
290
|
+
schWidth: import_soup7.distance.optional(),
|
|
291
|
+
schHeight: import_soup7.distance.optional()
|
|
265
292
|
});
|
|
293
|
+
expectTypesMatch(true);
|
|
294
|
+
|
|
295
|
+
// lib/components/resistor.ts
|
|
296
|
+
var import_zod13 = require("zod");
|
|
297
|
+
var import_soup8 = require("@tscircuit/soup");
|
|
266
298
|
var resistorProps = commonComponentProps.extend({
|
|
267
|
-
resistance:
|
|
299
|
+
resistance: import_soup8.resistance,
|
|
300
|
+
pullupFor: import_zod13.z.string().optional(),
|
|
301
|
+
pullupTo: import_zod13.z.string().optional(),
|
|
302
|
+
pulldownFor: import_zod13.z.string().optional(),
|
|
303
|
+
pulldownTo: import_zod13.z.string().optional()
|
|
268
304
|
});
|
|
269
305
|
var resistorPins = lrPins;
|
|
306
|
+
expectTypesMatch(true);
|
|
307
|
+
|
|
308
|
+
// lib/components/capacitor.ts
|
|
309
|
+
var import_zod14 = require("zod");
|
|
310
|
+
var import_soup9 = require("@tscircuit/soup");
|
|
270
311
|
var capacitorProps = commonComponentProps.extend({
|
|
271
|
-
capacitance:
|
|
312
|
+
capacitance: import_soup9.capacitance,
|
|
313
|
+
decouplingFor: import_zod14.z.string().optional(),
|
|
314
|
+
decouplingTo: import_zod14.z.string().optional(),
|
|
315
|
+
bypassFor: import_zod14.z.string().optional(),
|
|
316
|
+
bypassTo: import_zod14.z.string().optional()
|
|
272
317
|
});
|
|
273
318
|
var capacitorPins = lrPolarPins;
|
|
319
|
+
expectTypesMatch(true);
|
|
320
|
+
|
|
321
|
+
// lib/index.ts
|
|
274
322
|
var inductorProps = commonComponentProps.extend({
|
|
275
|
-
inductance:
|
|
323
|
+
inductance: import_soup10.inductance
|
|
276
324
|
});
|
|
277
325
|
var inductorPins = lrPins;
|
|
278
326
|
var diodeProps = commonComponentProps.extend({});
|
|
279
327
|
var diodePins = lrPolarPins;
|
|
280
328
|
var ledProps = commonComponentProps.extend({
|
|
281
|
-
color:
|
|
329
|
+
color: import_zod15.z.string().optional()
|
|
282
330
|
});
|
|
283
331
|
var ledPins = lrPolarPins;
|
|
284
332
|
var switchProps = commonComponentProps.extend({
|
|
285
|
-
ftype:
|
|
286
|
-
switchType:
|
|
287
|
-
isNormallyClosed:
|
|
333
|
+
ftype: import_zod15.z.literal("switch"),
|
|
334
|
+
switchType: import_zod15.z.enum(["spst"]).default("spst"),
|
|
335
|
+
isNormallyClosed: import_zod15.z.boolean().default(false)
|
|
288
336
|
});
|
|
289
|
-
var distanceOrMultiplier2 =
|
|
337
|
+
var distanceOrMultiplier2 = import_soup10.distance.or(import_zod15.z.enum(["2x", "3x", "4x"]));
|
|
290
338
|
var viaProps = commonLayoutProps.extend({
|
|
291
|
-
fromLayer:
|
|
292
|
-
toLayer:
|
|
293
|
-
holeDiameter:
|
|
294
|
-
outerDiameter:
|
|
339
|
+
fromLayer: import_soup10.layer_ref,
|
|
340
|
+
toLayer: import_soup10.layer_ref,
|
|
341
|
+
holeDiameter: import_soup10.distance,
|
|
342
|
+
outerDiameter: import_soup10.distance
|
|
295
343
|
});
|
|
296
344
|
var netAliasProps = commonLayoutProps.extend({
|
|
297
|
-
net:
|
|
345
|
+
net: import_zod15.z.string().optional()
|
|
298
346
|
});
|
|
299
|
-
var portRef =
|
|
300
|
-
|
|
301
|
-
|
|
347
|
+
var portRef = import_zod15.z.union([
|
|
348
|
+
import_zod15.z.string(),
|
|
349
|
+
import_zod15.z.custom(
|
|
302
350
|
(v) => Boolean(v.getPortSelector)
|
|
303
351
|
)
|
|
304
352
|
]);
|
|
305
|
-
var traceProps =
|
|
306
|
-
path:
|
|
307
|
-
thickness:
|
|
308
|
-
schematicRouteHints:
|
|
309
|
-
pcbRouteHints:
|
|
353
|
+
var traceProps = import_zod15.z.object({
|
|
354
|
+
path: import_zod15.z.array(portRef),
|
|
355
|
+
thickness: import_soup10.distance.optional(),
|
|
356
|
+
schematicRouteHints: import_zod15.z.array(import_soup10.point).optional(),
|
|
357
|
+
pcbRouteHints: import_zod15.z.array(import_soup10.route_hint_point).optional()
|
|
310
358
|
}).or(
|
|
311
|
-
|
|
359
|
+
import_zod15.z.object({
|
|
312
360
|
from: portRef,
|
|
313
361
|
to: portRef,
|
|
314
|
-
thickness:
|
|
315
|
-
schematicRouteHints:
|
|
316
|
-
pcbRouteHints:
|
|
362
|
+
thickness: import_soup10.distance.optional(),
|
|
363
|
+
schematicRouteHints: import_zod15.z.array(import_soup10.point).optional(),
|
|
364
|
+
pcbRouteHints: import_zod15.z.array(import_soup10.route_hint_point).optional()
|
|
317
365
|
})
|
|
318
366
|
);
|
|
319
|
-
var smtPadProps =
|
|
367
|
+
var smtPadProps = import_zod15.z.union([
|
|
320
368
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
321
|
-
shape:
|
|
322
|
-
radius:
|
|
369
|
+
shape: import_zod15.z.literal("circle"),
|
|
370
|
+
radius: import_soup10.distance.optional(),
|
|
323
371
|
portHints: portHints.optional()
|
|
324
372
|
}),
|
|
325
373
|
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
326
|
-
shape:
|
|
327
|
-
width:
|
|
328
|
-
height:
|
|
374
|
+
shape: import_zod15.z.literal("rect"),
|
|
375
|
+
width: import_soup10.distance.optional(),
|
|
376
|
+
height: import_soup10.distance.optional(),
|
|
329
377
|
portHints: portHints.optional()
|
|
330
378
|
})
|
|
331
379
|
]);
|
|
332
|
-
var platedHoleProps =
|
|
380
|
+
var platedHoleProps = import_zod15.z.union([
|
|
333
381
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
334
|
-
shape:
|
|
335
|
-
holeDiameter:
|
|
336
|
-
outerDiameter:
|
|
382
|
+
shape: import_zod15.z.literal("circle"),
|
|
383
|
+
holeDiameter: import_soup10.distance,
|
|
384
|
+
outerDiameter: import_soup10.distance,
|
|
337
385
|
portHints: portHints.optional()
|
|
338
386
|
}),
|
|
339
387
|
pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
340
|
-
shape:
|
|
341
|
-
outerWidth:
|
|
342
|
-
outerHeight:
|
|
343
|
-
innerWidth:
|
|
344
|
-
innerHeight:
|
|
388
|
+
shape: import_zod15.z.literal("oval"),
|
|
389
|
+
outerWidth: import_soup10.distance,
|
|
390
|
+
outerHeight: import_soup10.distance,
|
|
391
|
+
innerWidth: import_soup10.distance,
|
|
392
|
+
innerHeight: import_soup10.distance,
|
|
345
393
|
portHints: portHints.optional()
|
|
346
394
|
})
|
|
347
395
|
]);
|
|
348
396
|
var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
349
|
-
holeDiameter:
|
|
350
|
-
});
|
|
351
|
-
var schematicBoxProps =
|
|
352
|
-
schX:
|
|
353
|
-
schY:
|
|
354
|
-
width:
|
|
355
|
-
height:
|
|
356
|
-
});
|
|
357
|
-
var schematicTextProps =
|
|
358
|
-
schX:
|
|
359
|
-
schY:
|
|
360
|
-
text:
|
|
361
|
-
});
|
|
362
|
-
var schematicLineProps =
|
|
363
|
-
x1:
|
|
364
|
-
y1:
|
|
365
|
-
x2:
|
|
366
|
-
y2:
|
|
367
|
-
});
|
|
368
|
-
var schematicPathProps =
|
|
369
|
-
points:
|
|
370
|
-
isFilled:
|
|
371
|
-
fillColor:
|
|
372
|
-
});
|
|
373
|
-
var constraintProps =
|
|
374
|
-
|
|
375
|
-
type:
|
|
376
|
-
dist:
|
|
377
|
-
left:
|
|
378
|
-
right:
|
|
397
|
+
holeDiameter: import_soup10.distance
|
|
398
|
+
});
|
|
399
|
+
var schematicBoxProps = import_zod15.z.object({
|
|
400
|
+
schX: import_soup10.distance,
|
|
401
|
+
schY: import_soup10.distance,
|
|
402
|
+
width: import_soup10.distance,
|
|
403
|
+
height: import_soup10.distance
|
|
404
|
+
});
|
|
405
|
+
var schematicTextProps = import_zod15.z.object({
|
|
406
|
+
schX: import_soup10.distance,
|
|
407
|
+
schY: import_soup10.distance,
|
|
408
|
+
text: import_zod15.z.string()
|
|
409
|
+
});
|
|
410
|
+
var schematicLineProps = import_zod15.z.object({
|
|
411
|
+
x1: import_soup10.distance,
|
|
412
|
+
y1: import_soup10.distance,
|
|
413
|
+
x2: import_soup10.distance,
|
|
414
|
+
y2: import_soup10.distance
|
|
415
|
+
});
|
|
416
|
+
var schematicPathProps = import_zod15.z.object({
|
|
417
|
+
points: import_zod15.z.array(import_soup10.point),
|
|
418
|
+
isFilled: import_zod15.z.boolean().optional().default(false),
|
|
419
|
+
fillColor: import_zod15.z.enum(["red", "blue"]).optional()
|
|
420
|
+
});
|
|
421
|
+
var constraintProps = import_zod15.z.union([
|
|
422
|
+
import_zod15.z.object({
|
|
423
|
+
type: import_zod15.z.literal("xdist"),
|
|
424
|
+
dist: import_soup10.distance,
|
|
425
|
+
left: import_zod15.z.string(),
|
|
426
|
+
right: import_zod15.z.string()
|
|
379
427
|
}),
|
|
380
|
-
|
|
381
|
-
type:
|
|
382
|
-
dist:
|
|
383
|
-
top:
|
|
384
|
-
bottom:
|
|
428
|
+
import_zod15.z.object({
|
|
429
|
+
type: import_zod15.z.literal("ydist"),
|
|
430
|
+
dist: import_soup10.distance,
|
|
431
|
+
top: import_zod15.z.string(),
|
|
432
|
+
bottom: import_zod15.z.string()
|
|
385
433
|
})
|
|
386
434
|
]);
|
|
387
|
-
var constrainedLayoutProps =
|
|
388
|
-
var footprintProps =
|
|
435
|
+
var constrainedLayoutProps = import_zod15.z.object({});
|
|
436
|
+
var footprintProps = import_zod15.z.object({});
|
|
389
437
|
var componentProps = commonComponentProps;
|
|
390
438
|
var groupProps = commonLayoutProps.extend({
|
|
391
|
-
name:
|
|
392
|
-
layout:
|
|
393
|
-
children:
|
|
394
|
-
routingDisabled:
|
|
439
|
+
name: import_zod15.z.string().optional(),
|
|
440
|
+
layout: import_zod15.z.custom((v) => true).optional(),
|
|
441
|
+
children: import_zod15.z.any().optional(),
|
|
442
|
+
routingDisabled: import_zod15.z.boolean().optional()
|
|
395
443
|
});
|
|
396
444
|
var powerSourceProps = commonComponentProps.extend({
|
|
397
|
-
voltage:
|
|
445
|
+
voltage: import_soup10.voltage
|
|
398
446
|
});
|
|
399
447
|
var portProps = commonLayoutProps.extend({
|
|
400
|
-
name:
|
|
401
|
-
pinNumber:
|
|
402
|
-
aliases:
|
|
448
|
+
name: import_zod15.z.string(),
|
|
449
|
+
pinNumber: import_zod15.z.number().optional(),
|
|
450
|
+
aliases: import_zod15.z.array(import_zod15.z.string()).optional(),
|
|
403
451
|
direction
|
|
404
452
|
});
|
|
405
453
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
406
|
-
text:
|
|
407
|
-
anchorAlignment:
|
|
408
|
-
font:
|
|
409
|
-
fontSize:
|
|
454
|
+
text: import_zod15.z.string(),
|
|
455
|
+
anchorAlignment: import_zod15.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
456
|
+
font: import_zod15.z.enum(["tscircuit2024"]).optional(),
|
|
457
|
+
fontSize: import_soup10.length.optional()
|
|
410
458
|
});
|
|
411
459
|
var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
412
|
-
route:
|
|
413
|
-
strokeWidth:
|
|
460
|
+
route: import_zod15.z.array(import_soup10.route_hint_point),
|
|
461
|
+
strokeWidth: import_soup10.length.optional()
|
|
414
462
|
});
|
|
415
463
|
var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
416
|
-
strokeWidth:
|
|
417
|
-
x1:
|
|
418
|
-
y1:
|
|
419
|
-
x2:
|
|
420
|
-
y2:
|
|
464
|
+
strokeWidth: import_soup10.distance,
|
|
465
|
+
x1: import_soup10.distance,
|
|
466
|
+
y1: import_soup10.distance,
|
|
467
|
+
x2: import_soup10.distance,
|
|
468
|
+
y2: import_soup10.distance
|
|
421
469
|
});
|
|
422
470
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
423
|
-
isFilled:
|
|
424
|
-
isOutline:
|
|
425
|
-
strokeWidth:
|
|
426
|
-
width:
|
|
427
|
-
height:
|
|
471
|
+
isFilled: import_zod15.z.boolean().optional(),
|
|
472
|
+
isOutline: import_zod15.z.boolean().optional(),
|
|
473
|
+
strokeWidth: import_soup10.distance.optional(),
|
|
474
|
+
width: import_soup10.distance,
|
|
475
|
+
height: import_soup10.distance
|
|
428
476
|
});
|
|
429
477
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
430
|
-
isFilled:
|
|
431
|
-
isOutline:
|
|
432
|
-
strokeWidth:
|
|
433
|
-
radius:
|
|
434
|
-
});
|
|
435
|
-
var routeHintPointProps =
|
|
436
|
-
x:
|
|
437
|
-
y:
|
|
438
|
-
via:
|
|
439
|
-
toLayer:
|
|
440
|
-
});
|
|
441
|
-
var traceHintProps =
|
|
442
|
-
for:
|
|
478
|
+
isFilled: import_zod15.z.boolean().optional(),
|
|
479
|
+
isOutline: import_zod15.z.boolean().optional(),
|
|
480
|
+
strokeWidth: import_soup10.distance.optional(),
|
|
481
|
+
radius: import_soup10.distance
|
|
482
|
+
});
|
|
483
|
+
var routeHintPointProps = import_zod15.z.object({
|
|
484
|
+
x: import_soup10.distance,
|
|
485
|
+
y: import_soup10.distance,
|
|
486
|
+
via: import_zod15.z.boolean().optional(),
|
|
487
|
+
toLayer: import_soup10.layer_ref.optional()
|
|
488
|
+
});
|
|
489
|
+
var traceHintProps = import_zod15.z.object({
|
|
490
|
+
for: import_zod15.z.string().optional().describe(
|
|
443
491
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
444
492
|
),
|
|
445
|
-
order:
|
|
446
|
-
offset:
|
|
447
|
-
offsets:
|
|
448
|
-
traceWidth:
|
|
493
|
+
order: import_zod15.z.number().optional(),
|
|
494
|
+
offset: import_soup10.route_hint_point.or(routeHintPointProps).optional(),
|
|
495
|
+
offsets: import_zod15.z.array(import_soup10.route_hint_point).or(import_zod15.z.array(routeHintPointProps)).optional(),
|
|
496
|
+
traceWidth: import_zod15.z.number().optional()
|
|
449
497
|
});
|
|
450
|
-
var pcbTraceProps =
|
|
451
|
-
layer:
|
|
452
|
-
thickness:
|
|
453
|
-
route:
|
|
498
|
+
var pcbTraceProps = import_zod15.z.object({
|
|
499
|
+
layer: import_zod15.z.string().optional(),
|
|
500
|
+
thickness: import_soup10.distance.optional(),
|
|
501
|
+
route: import_zod15.z.array(import_soup10.route_hint_point)
|
|
454
502
|
});
|
|
455
503
|
var fabricationNoteTextProps = pcbLayoutProps.extend({
|
|
456
|
-
text:
|
|
457
|
-
anchorAlignment:
|
|
458
|
-
font:
|
|
459
|
-
fontSize:
|
|
504
|
+
text: import_zod15.z.string(),
|
|
505
|
+
anchorAlignment: import_zod15.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
506
|
+
font: import_zod15.z.enum(["tscircuit2024"]).optional(),
|
|
507
|
+
fontSize: import_soup10.length.optional()
|
|
460
508
|
});
|
|
461
509
|
var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
|
|
462
|
-
route:
|
|
463
|
-
strokeWidth:
|
|
510
|
+
route: import_zod15.z.array(import_soup10.route_hint_point),
|
|
511
|
+
strokeWidth: import_soup10.length.optional()
|
|
464
512
|
});
|
|
465
513
|
// Annotate the CommonJS export names for ESM import in node:
|
|
466
514
|
0 && (module.exports = {
|
|
@@ -488,6 +536,7 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
|
|
|
488
536
|
holeProps,
|
|
489
537
|
inductorPins,
|
|
490
538
|
inductorProps,
|
|
539
|
+
jumperProps,
|
|
491
540
|
ledPins,
|
|
492
541
|
ledProps,
|
|
493
542
|
lrPins,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/index.ts","../lib/typecheck.ts","../lib/common/direction.ts","../lib/common/portHints.ts","../lib/common/layout.ts","../lib/common/point3.ts","../lib/common/cadModel.ts","../lib/common/footprintProp.ts","../lib/common/schematicPinDefinitions.ts","../lib/components/board.ts","../lib/common/point.ts","../lib/components/chip.ts"],"sourcesContent":["/**\n * THINKING ABOUT ADDING SOMETHING TO THIS FILE?\n *\n * THINK AGAIN!\n *\n * This file is TOO BIG! Create files using the pattern in the surrounding\n * directories, then export from this file.\n */\nimport type { LayoutBuilder } from \"@tscircuit/layout\"\nimport {\n type AnySoupElementInput,\n capacitance,\n distance,\n inductance,\n layer_ref,\n length,\n type PCBPlatedHoleInput,\n type PCBSMTPadInput,\n point,\n resistance,\n rotation,\n route_hint_point,\n supplier_name,\n voltage,\n} from \"@tscircuit/soup\"\nimport type { ReactElement } from \"react\"\nimport { z } from \"zod\"\nimport { direction } from \"./common/direction\"\nimport { portHints } from \"./common/portHints\"\nimport {\n commonComponentProps,\n commonLayoutProps,\n lrPins,\n lrPolarPins,\n pcbLayoutProps,\n} from \"./common/layout\"\nimport { explicitPinSideDefinition } from \"./common/schematicPinDefinitions\"\n\nexport * from \"./common/direction\"\nexport * from \"./common/portHints\"\nexport * from \"./common/layout\"\nexport * from \"./common/point3\"\nexport * from \"./common/portHints\"\nexport * from \"./common/footprintProp\"\nexport * from \"./common/schematicPinDefinitions\"\n\nexport * from \"./components/board\"\nexport * from \"./components/chip\"\n\nexport const supplierProps = z.object({\n supplierPartNumbers: z.record(supplier_name, z.array(z.string())).optional(),\n})\nexport type SupplierProps = z.input<typeof supplierProps>\n\nexport const resistorProps = commonComponentProps.extend({\n resistance,\n})\nexport const resistorPins = lrPins\nexport type ResistorProps = z.input<typeof resistorProps>\n\nexport const capacitorProps = commonComponentProps.extend({\n capacitance,\n})\nexport const capacitorPins = lrPolarPins\nexport type CapacitorProps = z.input<typeof capacitorProps>\n\nexport const inductorProps = commonComponentProps.extend({\n inductance,\n})\nexport const inductorPins = lrPins\nexport type InductorProps = z.input<typeof inductorProps>\n\nexport const diodeProps = commonComponentProps.extend({})\nexport const diodePins = lrPolarPins\nexport type DiodeProps = z.input<typeof diodeProps>\n\nexport const ledProps = commonComponentProps.extend({\n color: z.string().optional(),\n})\nexport const ledPins = lrPolarPins\nexport type LedProps = z.input<typeof ledProps>\n\nexport const switchProps = commonComponentProps.extend({\n ftype: z.literal(\"switch\"),\n switchType: z.enum([\"spst\"]).default(\"spst\"),\n isNormallyClosed: z.boolean().default(false),\n})\nexport type SwitchProps = z.input<typeof switchProps>\n\nexport const distanceOrMultiplier = distance.or(z.enum([\"2x\", \"3x\", \"4x\"]))\n\nexport const viaProps = commonLayoutProps.extend({\n fromLayer: layer_ref,\n toLayer: layer_ref,\n holeDiameter: distance,\n outerDiameter: distance,\n})\nexport type ViaProps = z.input<typeof viaProps>\n\nexport const netAliasProps = commonLayoutProps.extend({\n net: z.string().optional(),\n})\nexport type NetAliasProps = z.input<typeof netAliasProps>\n\nexport const portRef = z.union([\n z.string(),\n z.custom<{ getPortSelector: () => string }>((v) =>\n Boolean(v.getPortSelector),\n ),\n])\n\nexport const traceProps = z\n .object({\n path: z.array(portRef),\n thickness: distance.optional(),\n schematicRouteHints: z.array(point).optional(),\n pcbRouteHints: z.array(route_hint_point).optional(),\n })\n .or(\n z.object({\n from: portRef,\n to: portRef,\n thickness: distance.optional(),\n schematicRouteHints: z.array(point).optional(),\n pcbRouteHints: z.array(route_hint_point).optional(),\n }),\n )\nexport type TraceProps = z.input<typeof traceProps>\n\nexport const smtPadProps = z.union([\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"circle\"),\n radius: distance.optional(),\n portHints: portHints.optional(),\n }),\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"rect\"),\n width: distance.optional(),\n height: distance.optional(),\n portHints: portHints.optional(),\n }),\n])\nexport type SmtPadProps = z.input<typeof smtPadProps>\n\nexport const platedHoleProps = z.union([\n pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({\n shape: z.literal(\"circle\"),\n holeDiameter: distance,\n outerDiameter: distance,\n portHints: portHints.optional(),\n }),\n pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({\n shape: z.literal(\"oval\"),\n outerWidth: distance,\n outerHeight: distance,\n innerWidth: distance,\n innerHeight: distance,\n portHints: portHints.optional(),\n }),\n])\nexport type PlatedHoleProps = z.input<typeof platedHoleProps>\n\nexport const holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({\n holeDiameter: distance,\n})\nexport type HoleProps = z.input<typeof holeProps>\n\nexport const schematicBoxProps = z.object({\n schX: distance,\n schY: distance,\n width: distance,\n height: distance,\n})\nexport type SchematicBoxProps = z.input<typeof schematicBoxProps>\n\nexport const schematicTextProps = z.object({\n schX: distance,\n schY: distance,\n text: z.string(),\n})\nexport type SchematicTextProps = z.input<typeof schematicTextProps>\n\nexport const schematicLineProps = z.object({\n x1: distance,\n y1: distance,\n x2: distance,\n y2: distance,\n})\nexport type SchematicLineProps = z.input<typeof schematicLineProps>\n\nexport const schematicPathProps = z.object({\n points: z.array(point),\n isFilled: z.boolean().optional().default(false),\n fillColor: z.enum([\"red\", \"blue\"]).optional(),\n})\nexport type SchematicPathProps = z.input<typeof schematicPathProps>\n\nexport const constraintProps = z.union([\n z.object({\n type: z.literal(\"xdist\"),\n dist: distance,\n left: z.string(),\n right: z.string(),\n }),\n z.object({\n type: z.literal(\"ydist\"),\n dist: distance,\n top: z.string(),\n bottom: z.string(),\n }),\n])\nexport type ConstraintProps = z.input<typeof constraintProps>\n\nexport const constrainedLayoutProps = z.object({})\nexport type ConstrainedLayoutProps = z.input<typeof constrainedLayoutProps>\n\nexport const footprintProps = z.object({})\nexport type FootprintProps = z.input<typeof footprintProps>\n\nexport const componentProps = commonComponentProps\nexport type ComponentProps = z.input<typeof componentProps>\n\nexport const groupProps = commonLayoutProps.extend({\n name: z.string().optional(),\n layout: z.custom<LayoutBuilder>((v) => true).optional(),\n children: z.any().optional(),\n routingDisabled: z.boolean().optional(),\n})\nexport type GroupProps = z.input<typeof groupProps>\n\nexport const powerSourceProps = commonComponentProps.extend({\n voltage,\n})\nexport type PowerSourceProps = z.input<typeof powerSourceProps>\n\nexport const portProps = commonLayoutProps.extend({\n name: z.string(),\n pinNumber: z.number().optional(),\n aliases: z.array(z.string()).optional(),\n direction: direction,\n})\nexport type PortProps = z.input<typeof portProps>\n\nexport const silkscreenTextProps = pcbLayoutProps.extend({\n text: z.string(),\n anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: length.optional(),\n})\nexport type SilkscreenTextProps = z.input<typeof silkscreenTextProps>\n\nexport const silkscreenPathProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n route: z.array(route_hint_point),\n strokeWidth: length.optional(),\n })\nexport type SilkscreenPathProps = z.input<typeof silkscreenPathProps>\n\nexport const silkscreenLineProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n strokeWidth: distance,\n x1: distance,\n y1: distance,\n x2: distance,\n y2: distance,\n })\nexport type SilkscreenLineProps = z.input<typeof silkscreenLineProps>\n\nexport const silkscreenRectProps = pcbLayoutProps\n .omit({ pcbRotation: true })\n .extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n width: distance,\n height: distance,\n })\nexport type SilkscreenRectProps = z.input<typeof silkscreenRectProps>\n\nexport const silkscreenCircleProps = pcbLayoutProps\n .omit({ pcbRotation: true })\n .extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n radius: distance,\n })\nexport type SilkscreenCircleProps = z.input<typeof silkscreenCircleProps>\n\nexport const routeHintPointProps = z.object({\n x: distance,\n y: distance,\n via: z.boolean().optional(),\n toLayer: layer_ref.optional(),\n})\n\nexport const traceHintProps = z.object({\n for: z\n .string()\n .optional()\n .describe(\n \"Selector for the port you're targeting, not required if you're inside a trace\",\n ),\n order: z.number().optional(),\n offset: route_hint_point.or(routeHintPointProps).optional(),\n offsets: z\n .array(route_hint_point)\n .or(z.array(routeHintPointProps))\n .optional(),\n traceWidth: z.number().optional(),\n})\n\nexport type TraceHintProps = z.input<typeof traceHintProps>\n\nexport const pcbTraceProps = z.object({\n layer: z.string().optional(),\n thickness: distance.optional(),\n route: z.array(route_hint_point),\n})\nexport type PcbTraceProps = z.input<typeof pcbTraceProps>\n\nexport const fabricationNoteTextProps = pcbLayoutProps.extend({\n text: z.string(),\n anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: length.optional(),\n})\nexport type FabricationNoteTextProps = z.input<typeof fabricationNoteTextProps>\n\nexport const fabricationNotePathProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n route: z.array(route_hint_point),\n strokeWidth: length.optional(),\n })\nexport type FabricationNotePathProps = z.input<typeof fabricationNotePathProps>\n","export const expectTypesMatch = <T1, T2>(\n shouldBe: T1 extends T2 ? (T2 extends T1 ? true : false) : false,\n): void => {}\n","import { expectTypesMatch } from \"lib/typecheck\"\nimport { z } from \"zod\"\nexport const direction = z.enum([\"up\", \"down\", \"left\", \"right\"])\nexport type Direction = \"up\" | \"down\" | \"left\" | \"right\"\n\nexport type DirectionAlongEdge =\n | \"top-to-bottom\"\n | \"left-to-right\"\n | \"bottom-to-top\"\n | \"right-to-left\"\n\nexport const directionAlongEdge = z.enum([\n \"top-to-bottom\",\n \"left-to-right\",\n \"bottom-to-top\",\n \"right-to-left\",\n])\n\nexpectTypesMatch<Direction, z.infer<typeof direction>>(true)\nexpectTypesMatch<DirectionAlongEdge, z.infer<typeof directionAlongEdge>>(true)\n","import { z } from \"zod\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport const portHints = z.array(z.string().or(z.number()))\nexport type PortHints = (string | number)[]\n\nexpectTypesMatch<PortHints, z.infer<typeof portHints>>(true)\n","import { z } from \"zod\"\nimport {\n type AnySoupElementInput,\n distance,\n layer_ref,\n rotation,\n supplier_name,\n} from \"@tscircuit/soup\"\nimport { point3 } from \"./point3\"\nimport { cadModelJscad, cadModelObj, cadModelStl } from \"./cadModel\"\nimport { footprintProp } from \"./footprintProp\"\n\nexport const pcbLayoutProps = z.object({\n pcbX: distance,\n pcbY: distance,\n pcbRotation: rotation.optional(),\n layer: layer_ref.optional(),\n})\n\nexport const commonLayoutProps = z.object({\n pcbX: distance.optional(),\n pcbY: distance.optional(),\n pcbRotation: rotation.optional(),\n schX: distance.optional(),\n schY: distance.optional(),\n schRotation: rotation.optional(),\n layer: layer_ref.optional(),\n footprint: footprintProp.optional(),\n})\nexport type CommonLayoutProps = z.input<typeof commonLayoutProps>\n\nexport const supplierProps = z.object({\n supplierPartNumbers: z.record(supplier_name, z.array(z.string())).optional(),\n})\nexport type SupplierProps = z.input<typeof supplierProps>\n\nexport const commonComponentProps = commonLayoutProps\n .merge(supplierProps)\n .extend({\n name: z.string(),\n cadModel: z.union([cadModelStl, cadModelObj, cadModelJscad]).optional(),\n children: z.any().optional(),\n symbolName: z.string().optional(),\n })\nexport type CommonComponentProps = z.input<typeof commonComponentProps>\n\nexport const lrPins = [\"pin1\", \"left\", \"pin2\", \"right\"] as const\nexport const lrPolarPins = [\n \"pin1\",\n \"left\",\n \"anode\",\n \"pos\",\n \"pin2\",\n \"right\",\n \"cathode\",\n \"neg\",\n] as const\n\nexport const distanceOrMultiplier = distance.or(z.enum([\"2x\", \"3x\", \"4x\"]))\n","import { distance } from \"@tscircuit/soup\"\nimport { z } from \"zod\"\n\nexport const point3 = z.object({\n x: distance,\n y: distance,\n z: distance,\n})\n","import { z } from \"zod\"\nimport { point3 } from \"./point3\"\n\nexport const rotationPoint3 = z.object({\n x: z.union([z.number(), z.string()]),\n y: z.union([z.number(), z.string()]),\n z: z.union([z.number(), z.string()]),\n})\n\nexport const cadModelBase = z.object({\n rotationOffset: z.number().or(rotationPoint3).optional(),\n positionOffset: point3.optional(),\n size: point3.optional(),\n})\n\nexport const cadModelStl = cadModelBase.extend({\n stlUrl: z.string(),\n})\n\nexport const cadModelObj = cadModelBase.extend({\n objUrl: z.string(),\n mtlUrl: z.string().optional(),\n})\n\nexport const cadModelJscad = cadModelBase.extend({\n jscad: z.any(),\n})\n","import type { LayerRef } from \"@tscircuit/soup\"\nimport type { ReactElement } from \"react\"\nimport { z } from \"zod\"\n\n/**\n * This is an abbreviated definition of the soup elements that you can find here:\n * https://docs.tscircuit.com/api-reference/advanced/soup#pcb-smtpad\n */\nexport type FootprintSoupElements = {\n type: \"pcb_smtpad\" | \"pcb_plated_hole\"\n x: string | number\n y: string | number\n layer?: LayerRef\n holeDiameter?: string | number\n outerDiameter?: string | number\n shape?: \"circle\" | \"rect\"\n width?: string | number\n height?: string | number\n portHints?: string[]\n}\n\nexport type Footprint = string | ReactElement | FootprintSoupElements[]\nexport const footprintProp = z.custom<Footprint>((v) => true)\n","import { z } from \"zod\"\n\nexport const explicitPinSideDefinition = z.object({\n pins: z.array(z.number()),\n direction: z.union([\n z.literal(\"top-to-bottom\"),\n z.literal(\"left-to-right\"),\n z.literal(\"bottom-to-top\"),\n z.literal(\"right-to-left\"),\n ]),\n})\n\nexport const schematicPortArrangement = z\n .object({\n leftSize: z.number().optional().describe(\"@deprecated, use leftPinCount\"),\n topSize: z.number().optional().describe(\"@deprecated, use topPinCount\"),\n rightSize: z.number().optional().describe(\"@deprecated, use rightPinCount\"),\n bottomSize: z\n .number()\n .optional()\n .describe(\"@deprecated, use bottomPinCount\"),\n })\n .or(\n z.object({\n leftPinCount: z.number().optional(),\n rightPinCount: z.number().optional(),\n topPinCount: z.number().optional(),\n bottomPinCount: z.number().optional(),\n }),\n )\n .or(\n z.object({\n leftSide: explicitPinSideDefinition.optional(),\n rightSide: explicitPinSideDefinition.optional(),\n topSide: explicitPinSideDefinition.optional(),\n bottomSide: explicitPinSideDefinition.optional(),\n }),\n )\n","import { z } from \"zod\"\nimport { distance } from \"@tscircuit/soup\"\nimport { point, type Point } from \"lib/common/point\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport interface BoardProps {\n width?: number | string\n height?: number | string\n outline?: Point[]\n pcbX?: number | string\n pcbY?: number | string\n layout?: any\n routingDisabled?: boolean\n children?: any\n}\n\nexport const boardProps = z.object({\n width: distance.optional(),\n height: distance.optional(),\n outline: z.array(point).optional(),\n pcbX: distance.optional().default(0),\n pcbY: distance.optional().default(0),\n layout: z.any().optional(),\n routingDisabled: z.boolean().optional(),\n children: z.any(),\n})\n\nexpectTypesMatch<BoardProps, z.input<typeof boardProps>>(true)\n","import { distance } from \"@tscircuit/soup\"\nimport { z } from \"zod\"\n\nexport const point = z.object({\n x: distance,\n y: distance,\n})\n\nexport type Point = { x: number | string; y: number | string }\n","import { z } from \"zod\"\nimport { distance } from \"@tscircuit/soup\"\nimport { commonComponentProps } from \"lib/common/layout\"\nimport { schematicPortArrangement } from \"lib/common/schematicPinDefinitions\"\n\nexport const chipProps = commonComponentProps.extend({\n manufacturerPartNumber: z.string().optional(),\n pinLabels: z.record(z.number().or(z.string()), z.string()).optional(),\n\n schPortArrangement: schematicPortArrangement.optional(),\n schPinStyle: z\n .record(\n z.object({\n leftMargin: distance.optional(),\n rightMargin: distance.optional(),\n topMargin: distance.optional(),\n bottomMargin: distance.optional(),\n }),\n )\n .optional(),\n schPinSpacing: distance.optional(),\n schWidth: distance.optional(),\n schHeight: distance.optional(),\n})\n\nexport type SchematicPinStyle = {\n leftMargin?: number | string\n rightMargin?: number | string\n topMargin?: number | string\n bottomMargin?: number | string\n}\nexport type SchematicPinStyles = Record<string, SchematicPinStyle>\n\n/**\n * @deprecated Use ChipProps instead.\n */\nexport const bugProps = chipProps\nexport type ChipProps = z.input<typeof chipProps>\n"],"mappings":"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","names":["distanceOrMultiplier","supplierProps","import_soup","import_zod","import_zod","import_zod","import_soup","import_zod","import_zod","import_zod","import_zod","import_zod","import_soup","import_soup","import_zod","import_zod","import_soup","supplierProps","distanceOrMultiplier"]}
|
|
1
|
+
{"version":3,"sources":["../lib/index.ts","../lib/typecheck.ts","../lib/common/direction.ts","../lib/common/portHints.ts","../lib/common/layout.ts","../lib/common/point3.ts","../lib/common/cadModel.ts","../lib/common/footprintProp.ts","../lib/common/schematicPinDefinitions.ts","../lib/components/board.ts","../lib/common/point.ts","../lib/components/chip.ts","../lib/common/schematicPinStyle.ts","../lib/components/jumper.ts","../lib/components/resistor.ts","../lib/components/capacitor.ts"],"sourcesContent":["/**\n * THINKING ABOUT ADDING SOMETHING TO THIS FILE?\n *\n * THINK AGAIN!\n *\n * This file is TOO BIG! Create files using the pattern in the surrounding\n * directories, then export from this file.\n */\nimport type { LayoutBuilder } from \"@tscircuit/layout\"\nimport {\n type AnySoupElementInput,\n capacitance,\n distance,\n inductance,\n layer_ref,\n length,\n type PCBPlatedHoleInput,\n type PCBSMTPadInput,\n point,\n resistance,\n rotation,\n route_hint_point,\n supplier_name,\n voltage,\n} from \"@tscircuit/soup\"\nimport type { ReactElement } from \"react\"\nimport { z } from \"zod\"\nimport { direction } from \"./common/direction\"\nimport { portHints } from \"./common/portHints\"\nimport {\n commonComponentProps,\n commonLayoutProps,\n lrPins,\n lrPolarPins,\n pcbLayoutProps,\n} from \"./common/layout\"\nimport { explicitPinSideDefinition } from \"./common/schematicPinDefinitions\"\n\nexport * from \"./common/direction\"\nexport * from \"./common/portHints\"\nexport * from \"./common/layout\"\nexport * from \"./common/point3\"\nexport * from \"./common/portHints\"\nexport * from \"./common/footprintProp\"\nexport * from \"./common/schematicPinDefinitions\"\n\nexport * from \"./components/board\"\nexport * from \"./components/chip\"\nexport * from \"./components/jumper\"\n\nexport * from \"./components/resistor\"\nexport * from \"./components/capacitor\"\n\nexport const inductorProps = commonComponentProps.extend({\n inductance,\n})\nexport const inductorPins = lrPins\nexport type InductorProps = z.input<typeof inductorProps>\n\nexport const diodeProps = commonComponentProps.extend({})\nexport const diodePins = lrPolarPins\nexport type DiodeProps = z.input<typeof diodeProps>\n\nexport const ledProps = commonComponentProps.extend({\n color: z.string().optional(),\n})\nexport const ledPins = lrPolarPins\nexport type LedProps = z.input<typeof ledProps>\n\nexport const switchProps = commonComponentProps.extend({\n ftype: z.literal(\"switch\"),\n switchType: z.enum([\"spst\"]).default(\"spst\"),\n isNormallyClosed: z.boolean().default(false),\n})\nexport type SwitchProps = z.input<typeof switchProps>\n\nexport const distanceOrMultiplier = distance.or(z.enum([\"2x\", \"3x\", \"4x\"]))\n\nexport const viaProps = commonLayoutProps.extend({\n fromLayer: layer_ref,\n toLayer: layer_ref,\n holeDiameter: distance,\n outerDiameter: distance,\n})\nexport type ViaProps = z.input<typeof viaProps>\n\nexport const netAliasProps = commonLayoutProps.extend({\n net: z.string().optional(),\n})\nexport type NetAliasProps = z.input<typeof netAliasProps>\n\nexport const portRef = z.union([\n z.string(),\n z.custom<{ getPortSelector: () => string }>((v) =>\n Boolean(v.getPortSelector),\n ),\n])\n\nexport const traceProps = z\n .object({\n path: z.array(portRef),\n thickness: distance.optional(),\n schematicRouteHints: z.array(point).optional(),\n pcbRouteHints: z.array(route_hint_point).optional(),\n })\n .or(\n z.object({\n from: portRef,\n to: portRef,\n thickness: distance.optional(),\n schematicRouteHints: z.array(point).optional(),\n pcbRouteHints: z.array(route_hint_point).optional(),\n }),\n )\nexport type TraceProps = z.input<typeof traceProps>\n\nexport const smtPadProps = z.union([\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"circle\"),\n radius: distance.optional(),\n portHints: portHints.optional(),\n }),\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"rect\"),\n width: distance.optional(),\n height: distance.optional(),\n portHints: portHints.optional(),\n }),\n])\nexport type SmtPadProps = z.input<typeof smtPadProps>\n\nexport const platedHoleProps = z.union([\n pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({\n shape: z.literal(\"circle\"),\n holeDiameter: distance,\n outerDiameter: distance,\n portHints: portHints.optional(),\n }),\n pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({\n shape: z.literal(\"oval\"),\n outerWidth: distance,\n outerHeight: distance,\n innerWidth: distance,\n innerHeight: distance,\n portHints: portHints.optional(),\n }),\n])\nexport type PlatedHoleProps = z.input<typeof platedHoleProps>\n\nexport const holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({\n holeDiameter: distance,\n})\nexport type HoleProps = z.input<typeof holeProps>\n\nexport const schematicBoxProps = z.object({\n schX: distance,\n schY: distance,\n width: distance,\n height: distance,\n})\nexport type SchematicBoxProps = z.input<typeof schematicBoxProps>\n\nexport const schematicTextProps = z.object({\n schX: distance,\n schY: distance,\n text: z.string(),\n})\nexport type SchematicTextProps = z.input<typeof schematicTextProps>\n\nexport const schematicLineProps = z.object({\n x1: distance,\n y1: distance,\n x2: distance,\n y2: distance,\n})\nexport type SchematicLineProps = z.input<typeof schematicLineProps>\n\nexport const schematicPathProps = z.object({\n points: z.array(point),\n isFilled: z.boolean().optional().default(false),\n fillColor: z.enum([\"red\", \"blue\"]).optional(),\n})\nexport type SchematicPathProps = z.input<typeof schematicPathProps>\n\nexport const constraintProps = z.union([\n z.object({\n type: z.literal(\"xdist\"),\n dist: distance,\n left: z.string(),\n right: z.string(),\n }),\n z.object({\n type: z.literal(\"ydist\"),\n dist: distance,\n top: z.string(),\n bottom: z.string(),\n }),\n])\nexport type ConstraintProps = z.input<typeof constraintProps>\n\nexport const constrainedLayoutProps = z.object({})\nexport type ConstrainedLayoutProps = z.input<typeof constrainedLayoutProps>\n\nexport const footprintProps = z.object({})\nexport type FootprintProps = z.input<typeof footprintProps>\n\nexport const componentProps = commonComponentProps\nexport type ComponentProps = z.input<typeof componentProps>\n\nexport const groupProps = commonLayoutProps.extend({\n name: z.string().optional(),\n layout: z.custom<LayoutBuilder>((v) => true).optional(),\n children: z.any().optional(),\n routingDisabled: z.boolean().optional(),\n})\nexport type GroupProps = z.input<typeof groupProps>\n\nexport const powerSourceProps = commonComponentProps.extend({\n voltage,\n})\nexport type PowerSourceProps = z.input<typeof powerSourceProps>\n\nexport const portProps = commonLayoutProps.extend({\n name: z.string(),\n pinNumber: z.number().optional(),\n aliases: z.array(z.string()).optional(),\n direction: direction,\n})\nexport type PortProps = z.input<typeof portProps>\n\nexport const silkscreenTextProps = pcbLayoutProps.extend({\n text: z.string(),\n anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: length.optional(),\n})\nexport type SilkscreenTextProps = z.input<typeof silkscreenTextProps>\n\nexport const silkscreenPathProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n route: z.array(route_hint_point),\n strokeWidth: length.optional(),\n })\nexport type SilkscreenPathProps = z.input<typeof silkscreenPathProps>\n\nexport const silkscreenLineProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n strokeWidth: distance,\n x1: distance,\n y1: distance,\n x2: distance,\n y2: distance,\n })\nexport type SilkscreenLineProps = z.input<typeof silkscreenLineProps>\n\nexport const silkscreenRectProps = pcbLayoutProps\n .omit({ pcbRotation: true })\n .extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n width: distance,\n height: distance,\n })\nexport type SilkscreenRectProps = z.input<typeof silkscreenRectProps>\n\nexport const silkscreenCircleProps = pcbLayoutProps\n .omit({ pcbRotation: true })\n .extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n radius: distance,\n })\nexport type SilkscreenCircleProps = z.input<typeof silkscreenCircleProps>\n\nexport const routeHintPointProps = z.object({\n x: distance,\n y: distance,\n via: z.boolean().optional(),\n toLayer: layer_ref.optional(),\n})\n\nexport const traceHintProps = z.object({\n for: z\n .string()\n .optional()\n .describe(\n \"Selector for the port you're targeting, not required if you're inside a trace\",\n ),\n order: z.number().optional(),\n offset: route_hint_point.or(routeHintPointProps).optional(),\n offsets: z\n .array(route_hint_point)\n .or(z.array(routeHintPointProps))\n .optional(),\n traceWidth: z.number().optional(),\n})\n\nexport type TraceHintProps = z.input<typeof traceHintProps>\n\nexport const pcbTraceProps = z.object({\n layer: z.string().optional(),\n thickness: distance.optional(),\n route: z.array(route_hint_point),\n})\nexport type PcbTraceProps = z.input<typeof pcbTraceProps>\n\nexport const fabricationNoteTextProps = pcbLayoutProps.extend({\n text: z.string(),\n anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: length.optional(),\n})\nexport type FabricationNoteTextProps = z.input<typeof fabricationNoteTextProps>\n\nexport const fabricationNotePathProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n route: z.array(route_hint_point),\n strokeWidth: length.optional(),\n })\nexport type FabricationNotePathProps = z.input<typeof fabricationNotePathProps>\n","import type { TypeEqual } from \"ts-expect\"\n\nexport const expectTypesMatch = <const T1, const T2>(\n shouldBe: TypeEqual<T1, T2>,\n): void => {}\n","import { expectTypesMatch } from \"lib/typecheck\"\nimport { z } from \"zod\"\nexport const direction = z.enum([\"up\", \"down\", \"left\", \"right\"])\nexport type Direction = \"up\" | \"down\" | \"left\" | \"right\"\n\nexport type DirectionAlongEdge =\n | \"top-to-bottom\"\n | \"left-to-right\"\n | \"bottom-to-top\"\n | \"right-to-left\"\n\nexport const directionAlongEdge = z.enum([\n \"top-to-bottom\",\n \"left-to-right\",\n \"bottom-to-top\",\n \"right-to-left\",\n])\n\nexpectTypesMatch<Direction, z.infer<typeof direction>>(true)\nexpectTypesMatch<DirectionAlongEdge, z.infer<typeof directionAlongEdge>>(true)\n","import { z } from \"zod\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport const portHints = z.array(z.string().or(z.number()))\nexport type PortHints = (string | number)[]\n\nexpectTypesMatch<PortHints, z.infer<typeof portHints>>(true)\n","import { z } from \"zod\"\nimport {\n type AnySoupElementInput,\n distance,\n layer_ref,\n type LayerRef,\n type LayerRefInput,\n rotation,\n supplier_name,\n} from \"@tscircuit/soup\"\nimport { point3 } from \"./point3\"\nimport {\n cadModelJscad,\n cadModelObj,\n cadModelProp,\n cadModelStl,\n type CadModelJscad,\n type CadModelObj,\n type CadModelProp,\n type CadModelStl,\n} from \"./cadModel\"\nimport { footprintProp, type Footprint } from \"./footprintProp\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport const pcbLayoutProps = z.object({\n pcbX: distance,\n pcbY: distance,\n pcbRotation: rotation.optional(),\n layer: layer_ref.optional(),\n})\n\nexport interface CommonLayoutProps {\n pcbX?: string | number\n pcbY?: string | number\n pcbRotation?: string | number\n\n schX?: string | number\n schY?: string | number\n schRotation?: string | number\n\n layer?: LayerRefInput\n footprint?: Footprint\n}\n\nexport const commonLayoutProps = z.object({\n pcbX: distance.optional(),\n pcbY: distance.optional(),\n pcbRotation: rotation.optional(),\n schX: distance.optional(),\n schY: distance.optional(),\n schRotation: rotation.optional(),\n layer: layer_ref.optional(),\n footprint: footprintProp.optional(),\n})\n\ntype InferredCommonLayoutProps = z.input<typeof commonLayoutProps>\nexpectTypesMatch<CommonLayoutProps, InferredCommonLayoutProps>(true)\n\nexport type SupplierName =\n | \"jlcpcb\"\n | \"macrofab\"\n | \"pcbway\"\n | \"digikey\"\n | \"mouser\"\n | \"lcsc\"\nexport interface SupplierProps {\n supplierPartNumbers?: { [k in SupplierName]?: string[] }\n}\nexport const supplierProps = z.object({\n supplierPartNumbers: z.record(supplier_name, z.array(z.string())).optional(),\n})\n\nexpectTypesMatch<SupplierProps, z.input<typeof supplierProps>>(true)\n\nexport interface CommonComponentProps extends CommonLayoutProps {\n name: string\n supplierPartNumbers?: SupplierProps[\"supplierPartNumbers\"]\n cadModel?: CadModelProp\n children?: any\n symbolName?: string\n}\n\nexport const commonComponentProps = commonLayoutProps\n .merge(supplierProps)\n .extend({\n name: z.string(),\n cadModel: cadModelProp.optional(),\n children: z.any().optional(),\n symbolName: z.string().optional(),\n })\n\ntype InferredCommonComponentProps = z.input<typeof commonComponentProps>\nexpectTypesMatch<CommonComponentProps, InferredCommonComponentProps>(true)\n\nexport const lrPins = [\"pin1\", \"left\", \"pin2\", \"right\"] as const\nexport const lrPolarPins = [\n \"pin1\",\n \"left\",\n \"anode\",\n \"pos\",\n \"pin2\",\n \"right\",\n \"cathode\",\n \"neg\",\n] as const\n\nexport const distanceOrMultiplier = distance.or(z.enum([\"2x\", \"3x\", \"4x\"]))\n","import { distance } from \"@tscircuit/soup\"\nimport { z } from \"zod\"\n\nexport const point3 = z.object({\n x: distance,\n y: distance,\n z: distance,\n})\n","import { z } from \"zod\"\nimport { point3 } from \"./point3\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport const rotationPoint3 = z.object({\n x: z.union([z.number(), z.string()]),\n y: z.union([z.number(), z.string()]),\n z: z.union([z.number(), z.string()]),\n})\n\nexport interface CadModelBase {\n rotationOffset?:\n | number\n | { x: number | string; y: number | string; z: number | string }\n positionOffset?: {\n x: number | string\n y: number | string\n z: number | string\n }\n size?: { x: number | string; y: number | string; z: number | string }\n}\n\nexport const cadModelBase = z.object({\n rotationOffset: z.number().or(rotationPoint3).optional(),\n positionOffset: point3.optional(),\n size: point3.optional(),\n})\n\nexpectTypesMatch<CadModelBase, z.input<typeof cadModelBase>>(true)\n\nexport interface CadModelStl extends CadModelBase {\n stlUrl: string\n}\nexport const cadModelStl = cadModelBase.extend({\n stlUrl: z.string(),\n})\n\nexport interface CadModelObj extends CadModelBase {\n objUrl: string\n mtlUrl?: string\n}\nexport const cadModelObj = cadModelBase.extend({\n objUrl: z.string(),\n mtlUrl: z.string().optional(),\n})\n\nexport interface CadModelJscad extends CadModelBase {\n jscad: Record<string, any>\n}\nexport const cadModelJscad = cadModelBase.extend({\n jscad: z.record(z.any()),\n})\n\nexport type CadModelProp = string | CadModelStl | CadModelObj | CadModelJscad\n\nexport const cadModelProp = z.union([\n z.string(),\n cadModelStl,\n cadModelObj,\n cadModelJscad,\n])\n\ntype InferredCadModelProp = z.input<typeof cadModelProp>\nexpectTypesMatch<CadModelProp, InferredCadModelProp>(true)\n","import type { LayerRef } from \"@tscircuit/soup\"\nimport type { ReactElement } from \"react\"\nimport { z } from \"zod\"\n\n/**\n * This is an abbreviated definition of the soup elements that you can find here:\n * https://docs.tscircuit.com/api-reference/advanced/soup#pcb-smtpad\n */\nexport type FootprintSoupElements = {\n type: \"pcb_smtpad\" | \"pcb_plated_hole\"\n x: string | number\n y: string | number\n layer?: LayerRef\n holeDiameter?: string | number\n outerDiameter?: string | number\n shape?: \"circle\" | \"rect\"\n width?: string | number\n height?: string | number\n portHints?: string[]\n}\n\nexport type Footprint = string | ReactElement | FootprintSoupElements[]\nexport const footprintProp = z.custom<Footprint>((v) => true)\n","import { z } from \"zod\"\n\nexport const explicitPinSideDefinition = z.object({\n pins: z.array(z.number()),\n direction: z.union([\n z.literal(\"top-to-bottom\"),\n z.literal(\"left-to-right\"),\n z.literal(\"bottom-to-top\"),\n z.literal(\"right-to-left\"),\n ]),\n})\n\nexport const schematicPortArrangement = z\n .object({\n leftSize: z.number().optional().describe(\"@deprecated, use leftPinCount\"),\n topSize: z.number().optional().describe(\"@deprecated, use topPinCount\"),\n rightSize: z.number().optional().describe(\"@deprecated, use rightPinCount\"),\n bottomSize: z\n .number()\n .optional()\n .describe(\"@deprecated, use bottomPinCount\"),\n })\n .or(\n z.object({\n leftPinCount: z.number().optional(),\n rightPinCount: z.number().optional(),\n topPinCount: z.number().optional(),\n bottomPinCount: z.number().optional(),\n }),\n )\n .or(\n z.object({\n leftSide: explicitPinSideDefinition.optional(),\n rightSide: explicitPinSideDefinition.optional(),\n topSide: explicitPinSideDefinition.optional(),\n bottomSide: explicitPinSideDefinition.optional(),\n }),\n )\n","import { z } from \"zod\"\nimport { distance } from \"@tscircuit/soup\"\nimport { point, type Point } from \"lib/common/point\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport interface BoardProps {\n width?: number | string\n height?: number | string\n outline?: Point[]\n pcbX?: number | string\n pcbY?: number | string\n layout?: any\n routingDisabled?: boolean\n children?: any\n}\n\nexport const boardProps = z.object({\n width: distance.optional(),\n height: distance.optional(),\n outline: z.array(point).optional(),\n pcbX: distance.optional().default(0),\n pcbY: distance.optional().default(0),\n layout: z.any().optional(),\n routingDisabled: z.boolean().optional(),\n children: z.any(),\n})\n\nexpectTypesMatch<BoardProps, z.input<typeof boardProps>>(true)\n","import { distance } from \"@tscircuit/soup\"\nimport { z } from \"zod\"\n\nexport const point = z.object({\n x: distance,\n y: distance,\n})\n\nexport type Point = { x: number | string; y: number | string }\n","import { z } from \"zod\"\nimport { distance } from \"@tscircuit/soup\"\nimport { commonComponentProps } from \"lib/common/layout\"\nimport { schematicPortArrangement } from \"lib/common/schematicPinDefinitions\"\nimport { schematicPinStyle } from \"lib/common/schematicPinStyle\"\n\nexport const chipProps = commonComponentProps.extend({\n manufacturerPartNumber: z.string().optional(),\n pinLabels: z.record(z.number().or(z.string()), z.string()).optional(),\n\n schPortArrangement: schematicPortArrangement.optional(),\n schPinStyle: schematicPinStyle.optional(),\n schPinSpacing: distance.optional(),\n schWidth: distance.optional(),\n schHeight: distance.optional(),\n})\n\nexport type SchematicPinStyle = {\n leftMargin?: number | string\n rightMargin?: number | string\n topMargin?: number | string\n bottomMargin?: number | string\n}\nexport type SchematicPinStyles = Record<string, SchematicPinStyle>\n\n/**\n * @deprecated Use ChipProps instead.\n */\nexport const bugProps = chipProps\nexport type ChipProps = z.input<typeof chipProps>\n","import { z } from \"zod\"\nimport { distance } from \"@tscircuit/soup\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport type SchematicPinStyle = Record<\n string,\n {\n leftMargin?: number | string\n rightMargin?: number | string\n topMargin?: number | string\n bottomMargin?: number | string\n }\n>\n\nexport const schematicPinStyle = z.record(\n z.object({\n leftMargin: distance.optional(),\n rightMargin: distance.optional(),\n topMargin: distance.optional(),\n bottomMargin: distance.optional(),\n }),\n)\n\nexpectTypesMatch<SchematicPinStyle, z.input<typeof schematicPinStyle>>(true)\n","import { z } from \"zod\"\nimport {\n commonComponentProps,\n type CommonComponentProps,\n} from \"lib/common/layout\"\nimport {\n schematicPinStyle,\n type SchematicPinStyle,\n} from \"lib/common/schematicPinStyle\"\nimport { distance } from \"@tscircuit/soup\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport interface JumperProps extends CommonComponentProps {\n manufacturerPartNumber?: string\n pinLabels?: Record<number | string, string>\n schPinStyle?: SchematicPinStyle\n schPinSpacing?: number | string\n schWidth?: number | string\n schHeight?: number | string\n}\n\nexport const jumperProps = commonComponentProps.extend({\n manufacturerPartNumber: z.string().optional(),\n pinLabels: z.record(z.number().or(z.string()), z.string()).optional(),\n schPinStyle: schematicPinStyle.optional(),\n schPinSpacing: distance.optional(),\n schWidth: distance.optional(),\n schHeight: distance.optional(),\n})\n\ntype InferredJumperProps = z.input<typeof jumperProps>\nexpectTypesMatch<JumperProps, InferredJumperProps>(true)\n","import { z } from \"zod\"\nimport { resistance } from \"@tscircuit/soup\"\nimport {\n commonComponentProps,\n lrPins,\n type CommonComponentProps,\n} from \"lib/common/layout\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport interface ResistorProps extends CommonComponentProps {\n resistance: number | string\n pullupFor?: string\n pullupTo?: string\n pulldownFor?: string\n pulldownTo?: string\n}\n\nexport const resistorProps = commonComponentProps.extend({\n resistance,\n\n pullupFor: z.string().optional(),\n pullupTo: z.string().optional(),\n\n pulldownFor: z.string().optional(),\n pulldownTo: z.string().optional(),\n})\nexport const resistorPins = lrPins\n\ntype InferredResistorProps = z.input<typeof resistorProps>\nexpectTypesMatch<ResistorProps, InferredResistorProps>(true)\n","import { z } from \"zod\"\nimport { capacitance } from \"@tscircuit/soup\"\nimport {\n commonComponentProps,\n lrPins,\n lrPolarPins,\n type CommonComponentProps,\n} from \"lib/common/layout\"\nimport { expectTypesMatch } from \"lib/typecheck\"\n\nexport interface CapacitorProps extends CommonComponentProps {\n capacitance: number | string\n\n decouplingFor?: string\n decouplingTo?: string\n\n bypassFor?: string\n bypassTo?: string\n}\n\nexport const capacitorProps = commonComponentProps.extend({\n capacitance,\n\n decouplingFor: z.string().optional(),\n decouplingTo: z.string().optional(),\n\n bypassFor: z.string().optional(),\n bypassTo: z.string().optional(),\n})\nexport const capacitorPins = lrPolarPins\n\nexpectTypesMatch<CapacitorProps, z.input<typeof capacitorProps>>(true)\n"],"mappings":"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","names":["distanceOrMultiplier","import_soup","import_zod","import_zod","import_zod","import_soup","import_zod","import_zod","import_zod","import_zod","import_zod","import_soup","import_soup","import_zod","import_zod","import_soup","import_zod","import_soup","import_zod","import_soup","import_zod","import_soup","import_zod","import_soup","distanceOrMultiplier"]}
|