@tscircuit/props 0.0.41 → 0.0.43

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
@@ -22,10 +22,6 @@ var lib_exports = {};
22
22
  __export(lib_exports, {
23
23
  boardProps: () => boardProps,
24
24
  bugProps: () => bugProps,
25
- cadModelBase: () => cadModelBase,
26
- cadModelJscad: () => cadModelJscad,
27
- cadModelObj: () => cadModelObj,
28
- cadModelStl: () => cadModelStl,
29
25
  capacitorPins: () => capacitorPins,
30
26
  capacitorProps: () => capacitorProps,
31
27
  chipProps: () => chipProps,
@@ -37,10 +33,12 @@ __export(lib_exports, {
37
33
  diodePins: () => diodePins,
38
34
  diodeProps: () => diodeProps,
39
35
  direction: () => direction,
40
- distanceOrMultiplier: () => distanceOrMultiplier,
36
+ directionAlongEdge: () => directionAlongEdge,
37
+ distanceOrMultiplier: () => distanceOrMultiplier2,
41
38
  explicitPinSideDefinition: () => explicitPinSideDefinition,
42
39
  fabricationNotePathProps: () => fabricationNotePathProps,
43
40
  fabricationNoteTextProps: () => fabricationNoteTextProps,
41
+ footprintProp: () => footprintProp,
44
42
  footprintProps: () => footprintProps,
45
43
  groupProps: () => groupProps,
46
44
  holeProps: () => holeProps,
@@ -54,11 +52,11 @@ __export(lib_exports, {
54
52
  pcbLayoutProps: () => pcbLayoutProps,
55
53
  pcbTraceProps: () => pcbTraceProps,
56
54
  platedHoleProps: () => platedHoleProps,
55
+ point3: () => point3,
57
56
  portHints: () => portHints,
58
57
  portProps: () => portProps,
59
58
  portRef: () => portRef,
60
59
  powerSourceProps: () => powerSourceProps,
61
- relativeDirection: () => relativeDirection,
62
60
  resistorPins: () => resistorPins,
63
61
  resistorProps: () => resistorProps,
64
62
  routeHintPointProps: () => routeHintPointProps,
@@ -73,77 +71,101 @@ __export(lib_exports, {
73
71
  silkscreenRectProps: () => silkscreenRectProps,
74
72
  silkscreenTextProps: () => silkscreenTextProps,
75
73
  smtPadProps: () => smtPadProps,
76
- supplierProps: () => supplierProps,
74
+ supplierProps: () => supplierProps2,
77
75
  switchProps: () => switchProps,
78
76
  traceHintProps: () => traceHintProps,
79
77
  traceProps: () => traceProps,
80
78
  viaProps: () => viaProps
81
79
  });
82
80
  module.exports = __toCommonJS(lib_exports);
83
- var import_soup = require("@tscircuit/soup");
81
+ var import_soup6 = require("@tscircuit/soup");
82
+ var import_zod11 = require("zod");
83
+
84
+ // lib/typecheck.ts
85
+ var expectTypesMatch = (shouldBe) => {
86
+ };
87
+
88
+ // lib/common/direction.ts
84
89
  var import_zod = require("zod");
85
- var portHints = import_zod.z.array(import_zod.z.string().or(import_zod.z.number()));
86
90
  var direction = import_zod.z.enum(["up", "down", "left", "right"]);
87
- var relativeDirection = import_zod.z.enum([
91
+ var directionAlongEdge = import_zod.z.enum([
88
92
  "top-to-bottom",
89
93
  "left-to-right",
90
94
  "bottom-to-top",
91
95
  "right-to-left"
92
96
  ]);
93
- var explicitPinSideDefinition = import_zod.z.object({
94
- pins: import_zod.z.array(import_zod.z.number()),
95
- direction: import_zod.z.union([
96
- import_zod.z.literal("top-to-bottom"),
97
- import_zod.z.literal("left-to-right"),
98
- import_zod.z.literal("bottom-to-top"),
99
- import_zod.z.literal("right-to-left")
100
- ])
97
+ expectTypesMatch(true);
98
+ expectTypesMatch(true);
99
+
100
+ // lib/common/portHints.ts
101
+ var import_zod2 = require("zod");
102
+ var portHints = import_zod2.z.array(import_zod2.z.string().or(import_zod2.z.number()));
103
+ expectTypesMatch(true);
104
+
105
+ // lib/common/layout.ts
106
+ var import_zod6 = require("zod");
107
+ var import_soup2 = require("@tscircuit/soup");
108
+
109
+ // lib/common/point3.ts
110
+ var import_soup = require("@tscircuit/soup");
111
+ var import_zod3 = require("zod");
112
+ var point3 = import_zod3.z.object({
113
+ x: import_soup.distance,
114
+ y: import_soup.distance,
115
+ z: import_soup.distance
101
116
  });
102
- var pcbLayoutProps = import_zod.z.object({
103
- pcbX: import_soup.distance,
104
- pcbY: import_soup.distance,
105
- pcbRotation: import_soup.rotation.optional(),
106
- layer: import_soup.layer_ref.optional()
107
- });
108
- var commonLayoutProps = import_zod.z.object({
109
- pcbX: import_soup.distance.optional(),
110
- pcbY: import_soup.distance.optional(),
111
- pcbRotation: import_soup.rotation.optional(),
112
- schX: import_soup.distance.optional(),
113
- schY: import_soup.distance.optional(),
114
- schRotation: import_soup.rotation.optional(),
115
- layer: import_soup.layer_ref.optional(),
116
- // TODO pull in literals from @tscircuit/footprint
117
- // TODO footprint can be a string or react child
118
- footprint: import_zod.z.custom((v) => true).optional()
119
- });
120
- var supplierProps = import_zod.z.object({
121
- supplierPartNumbers: import_zod.z.record(import_soup.supplier_name, import_zod.z.array(import_zod.z.string())).optional()
122
- });
123
- var point3 = import_zod.z.object({
124
- x: import_zod.z.union([import_zod.z.number(), import_zod.z.string()]),
125
- y: import_zod.z.union([import_zod.z.number(), import_zod.z.string()]),
126
- z: import_zod.z.union([import_zod.z.number(), import_zod.z.string()])
127
- });
128
- var cadModelBase = import_zod.z.object({
129
- rotationOffset: import_zod.z.number().or(point3).optional(),
117
+
118
+ // lib/common/cadModel.ts
119
+ var import_zod4 = require("zod");
120
+ var rotationPoint3 = import_zod4.z.object({
121
+ x: import_zod4.z.union([import_zod4.z.number(), import_zod4.z.string()]),
122
+ y: import_zod4.z.union([import_zod4.z.number(), import_zod4.z.string()]),
123
+ z: import_zod4.z.union([import_zod4.z.number(), import_zod4.z.string()])
124
+ });
125
+ var cadModelBase = import_zod4.z.object({
126
+ rotationOffset: import_zod4.z.number().or(rotationPoint3).optional(),
130
127
  positionOffset: point3.optional(),
131
128
  size: point3.optional()
132
129
  });
133
130
  var cadModelStl = cadModelBase.extend({
134
- stlUrl: import_zod.z.string()
131
+ stlUrl: import_zod4.z.string()
135
132
  });
136
133
  var cadModelObj = cadModelBase.extend({
137
- objUrl: import_zod.z.string(),
138
- mtlUrl: import_zod.z.string().optional()
134
+ objUrl: import_zod4.z.string(),
135
+ mtlUrl: import_zod4.z.string().optional()
139
136
  });
140
137
  var cadModelJscad = cadModelBase.extend({
141
- jscad: import_zod.z.any()
138
+ jscad: import_zod4.z.any()
139
+ });
140
+
141
+ // lib/common/footprintProp.ts
142
+ var import_zod5 = require("zod");
143
+ var footprintProp = import_zod5.z.custom((v) => true);
144
+
145
+ // lib/common/layout.ts
146
+ var pcbLayoutProps = import_zod6.z.object({
147
+ pcbX: import_soup2.distance,
148
+ pcbY: import_soup2.distance,
149
+ pcbRotation: import_soup2.rotation.optional(),
150
+ layer: import_soup2.layer_ref.optional()
151
+ });
152
+ var commonLayoutProps = import_zod6.z.object({
153
+ pcbX: import_soup2.distance.optional(),
154
+ pcbY: import_soup2.distance.optional(),
155
+ pcbRotation: import_soup2.rotation.optional(),
156
+ schX: import_soup2.distance.optional(),
157
+ schY: import_soup2.distance.optional(),
158
+ schRotation: import_soup2.rotation.optional(),
159
+ layer: import_soup2.layer_ref.optional(),
160
+ footprint: footprintProp.optional()
161
+ });
162
+ var supplierProps = import_zod6.z.object({
163
+ supplierPartNumbers: import_zod6.z.record(import_soup2.supplier_name, import_zod6.z.array(import_zod6.z.string())).optional()
142
164
  });
143
165
  var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
144
- name: import_zod.z.string(),
145
- cadModel: import_zod.z.union([cadModelStl, cadModelObj, cadModelJscad]).optional(),
146
- children: import_zod.z.any().optional()
166
+ name: import_zod6.z.string(),
167
+ cadModel: import_zod6.z.union([cadModelStl, cadModelObj, cadModelJscad]).optional(),
168
+ children: import_zod6.z.any().optional()
147
169
  });
148
170
  var lrPins = ["pin1", "left", "pin2", "right"];
149
171
  var lrPolarPins = [
@@ -156,260 +178,293 @@ var lrPolarPins = [
156
178
  "cathode",
157
179
  "neg"
158
180
  ];
159
- var resistorProps = commonComponentProps.extend({
160
- resistance: import_soup.resistance
161
- });
162
- var resistorPins = lrPins;
163
- var capacitorProps = commonComponentProps.extend({
164
- capacitance: import_soup.capacitance
165
- });
166
- var capacitorPins = lrPolarPins;
167
- var inductorProps = commonComponentProps.extend({
168
- inductance: import_soup.inductance
169
- });
170
- var inductorPins = lrPins;
171
- var diodeProps = commonComponentProps.extend({});
172
- var diodePins = lrPolarPins;
173
- var ledProps = commonComponentProps.extend({
174
- color: import_zod.z.string().optional()
181
+ var distanceOrMultiplier = import_soup2.distance.or(import_zod6.z.enum(["2x", "3x", "4x"]));
182
+
183
+ // lib/common/schematicPinDefinitions.ts
184
+ var import_zod7 = require("zod");
185
+ var explicitPinSideDefinition = import_zod7.z.object({
186
+ pins: import_zod7.z.array(import_zod7.z.number()),
187
+ direction: import_zod7.z.union([
188
+ import_zod7.z.literal("top-to-bottom"),
189
+ import_zod7.z.literal("left-to-right"),
190
+ import_zod7.z.literal("bottom-to-top"),
191
+ import_zod7.z.literal("right-to-left")
192
+ ])
175
193
  });
176
- var ledPins = lrPolarPins;
177
- var switchProps = commonComponentProps.extend({
178
- ftype: import_zod.z.literal("switch"),
179
- switchType: import_zod.z.enum(["spst"]).default("spst"),
180
- isNormallyClosed: import_zod.z.boolean().default(false)
181
- });
182
- var boardProps = import_zod.z.object({
183
- width: import_soup.distance,
184
- height: import_soup.distance,
185
- outline: import_zod.z.array(import_soup.point).optional(),
186
- pcbX: import_soup.distance.optional().default(0),
187
- pcbY: import_soup.distance.optional().default(0),
188
- layout: import_zod.z.any().optional(),
189
- routingDisabled: import_zod.z.boolean().optional(),
190
- children: import_zod.z.any()
191
- });
192
- var distanceOrMultiplier = import_soup.distance.or(import_zod.z.enum(["2x", "3x", "4x"]));
193
- var schematicPortArrangement = import_zod.z.object({
194
- leftSize: import_zod.z.number().optional().describe("@deprecated, use leftPinCount"),
195
- topSize: import_zod.z.number().optional().describe("@deprecated, use topPinCount"),
196
- rightSize: import_zod.z.number().optional().describe("@deprecated, use rightPinCount"),
197
- bottomSize: import_zod.z.number().optional().describe("@deprecated, use bottomPinCount")
194
+ var schematicPortArrangement = import_zod7.z.object({
195
+ leftSize: import_zod7.z.number().optional().describe("@deprecated, use leftPinCount"),
196
+ topSize: import_zod7.z.number().optional().describe("@deprecated, use topPinCount"),
197
+ rightSize: import_zod7.z.number().optional().describe("@deprecated, use rightPinCount"),
198
+ bottomSize: import_zod7.z.number().optional().describe("@deprecated, use bottomPinCount")
198
199
  }).or(
199
- import_zod.z.object({
200
- leftPinCount: import_zod.z.number().optional(),
201
- rightPinCount: import_zod.z.number().optional(),
202
- topPinCount: import_zod.z.number().optional(),
203
- bottomPinCount: import_zod.z.number().optional()
200
+ import_zod7.z.object({
201
+ leftPinCount: import_zod7.z.number().optional(),
202
+ rightPinCount: import_zod7.z.number().optional(),
203
+ topPinCount: import_zod7.z.number().optional(),
204
+ bottomPinCount: import_zod7.z.number().optional()
204
205
  })
205
206
  ).or(
206
- import_zod.z.object({
207
+ import_zod7.z.object({
207
208
  leftSide: explicitPinSideDefinition.optional(),
208
209
  rightSide: explicitPinSideDefinition.optional(),
209
210
  topSide: explicitPinSideDefinition.optional(),
210
211
  bottomSide: explicitPinSideDefinition.optional()
211
212
  })
212
213
  );
214
+
215
+ // lib/components/board.ts
216
+ var import_zod9 = require("zod");
217
+ var import_soup4 = require("@tscircuit/soup");
218
+
219
+ // lib/common/point.ts
220
+ var import_soup3 = require("@tscircuit/soup");
221
+ var import_zod8 = require("zod");
222
+ var point = import_zod8.z.object({
223
+ x: import_soup3.distance,
224
+ y: import_soup3.distance
225
+ });
226
+
227
+ // lib/components/board.ts
228
+ var boardProps = import_zod9.z.object({
229
+ width: import_soup4.distance.optional(),
230
+ height: import_soup4.distance.optional(),
231
+ outline: import_zod9.z.array(point).optional(),
232
+ pcbX: import_soup4.distance.optional().default(0),
233
+ pcbY: import_soup4.distance.optional().default(0),
234
+ layout: import_zod9.z.any().optional(),
235
+ routingDisabled: import_zod9.z.boolean().optional(),
236
+ children: import_zod9.z.any()
237
+ });
238
+ expectTypesMatch(true);
239
+
240
+ // lib/components/chip.ts
241
+ var import_zod10 = require("zod");
242
+ var import_soup5 = require("@tscircuit/soup");
213
243
  var chipProps = commonComponentProps.extend({
214
- manufacturerPartNumber: import_zod.z.string().optional(),
215
- pinLabels: import_zod.z.record(import_zod.z.number().or(import_zod.z.string()), import_zod.z.string()).optional(),
244
+ manufacturerPartNumber: import_zod10.z.string().optional(),
245
+ pinLabels: import_zod10.z.record(import_zod10.z.number().or(import_zod10.z.string()), import_zod10.z.string()).optional(),
216
246
  schPortArrangement: schematicPortArrangement.optional(),
217
- schPinStyle: import_zod.z.record(
218
- import_zod.z.object({
219
- leftMargin: import_soup.distance.optional(),
220
- rightMargin: import_soup.distance.optional(),
221
- topMargin: import_soup.distance.optional(),
222
- bottomMargin: import_soup.distance.optional()
247
+ schPinStyle: import_zod10.z.record(
248
+ import_zod10.z.object({
249
+ leftMargin: import_soup5.distance.optional(),
250
+ rightMargin: import_soup5.distance.optional(),
251
+ topMargin: import_soup5.distance.optional(),
252
+ bottomMargin: import_soup5.distance.optional()
223
253
  })
224
254
  ).optional(),
225
- schPinSpacing: distanceOrMultiplier.or(import_zod.z.literal("auto")).optional().default("auto"),
226
- schWidth: import_soup.distance.or(import_zod.z.literal("auto")).optional().default("auto"),
227
- schHeight: import_soup.distance.or(import_zod.z.literal("auto")).optional().default("auto")
255
+ schPinSpacing: import_soup5.distance.or(import_zod10.z.literal("auto")).optional().default("auto"),
256
+ schWidth: import_soup5.distance.or(import_zod10.z.literal("auto")).optional().default("auto"),
257
+ schHeight: import_soup5.distance.or(import_zod10.z.literal("auto")).optional().default("auto")
228
258
  });
229
259
  var bugProps = chipProps;
260
+
261
+ // lib/index.ts
262
+ var supplierProps2 = import_zod11.z.object({
263
+ supplierPartNumbers: import_zod11.z.record(import_soup6.supplier_name, import_zod11.z.array(import_zod11.z.string())).optional()
264
+ });
265
+ var resistorProps = commonComponentProps.extend({
266
+ resistance: import_soup6.resistance
267
+ });
268
+ var resistorPins = lrPins;
269
+ var capacitorProps = commonComponentProps.extend({
270
+ capacitance: import_soup6.capacitance
271
+ });
272
+ var capacitorPins = lrPolarPins;
273
+ var inductorProps = commonComponentProps.extend({
274
+ inductance: import_soup6.inductance
275
+ });
276
+ var inductorPins = lrPins;
277
+ var diodeProps = commonComponentProps.extend({});
278
+ var diodePins = lrPolarPins;
279
+ var ledProps = commonComponentProps.extend({
280
+ color: import_zod11.z.string().optional()
281
+ });
282
+ var ledPins = lrPolarPins;
283
+ var switchProps = commonComponentProps.extend({
284
+ ftype: import_zod11.z.literal("switch"),
285
+ switchType: import_zod11.z.enum(["spst"]).default("spst"),
286
+ isNormallyClosed: import_zod11.z.boolean().default(false)
287
+ });
288
+ var distanceOrMultiplier2 = import_soup6.distance.or(import_zod11.z.enum(["2x", "3x", "4x"]));
230
289
  var viaProps = commonLayoutProps.extend({
231
- fromLayer: import_soup.layer_ref,
232
- toLayer: import_soup.layer_ref,
233
- holeDiameter: import_soup.distance,
234
- outerDiameter: import_soup.distance
290
+ fromLayer: import_soup6.layer_ref,
291
+ toLayer: import_soup6.layer_ref,
292
+ holeDiameter: import_soup6.distance,
293
+ outerDiameter: import_soup6.distance
235
294
  });
236
295
  var netAliasProps = commonLayoutProps.extend({
237
- net: import_zod.z.string().optional()
296
+ net: import_zod11.z.string().optional()
238
297
  });
239
- var portRef = import_zod.z.union([
240
- import_zod.z.string(),
241
- import_zod.z.custom(
298
+ var portRef = import_zod11.z.union([
299
+ import_zod11.z.string(),
300
+ import_zod11.z.custom(
242
301
  (v) => Boolean(v.getPortSelector)
243
302
  )
244
303
  ]);
245
- var traceProps = import_zod.z.object({
246
- path: import_zod.z.array(portRef),
247
- thickness: import_soup.distance.optional(),
248
- schematicRouteHints: import_zod.z.array(import_soup.point).optional(),
249
- pcbRouteHints: import_zod.z.array(import_soup.route_hint_point).optional()
304
+ var traceProps = import_zod11.z.object({
305
+ path: import_zod11.z.array(portRef),
306
+ thickness: import_soup6.distance.optional(),
307
+ schematicRouteHints: import_zod11.z.array(import_soup6.point).optional(),
308
+ pcbRouteHints: import_zod11.z.array(import_soup6.route_hint_point).optional()
250
309
  }).or(
251
- import_zod.z.object({
310
+ import_zod11.z.object({
252
311
  from: portRef,
253
312
  to: portRef,
254
- thickness: import_soup.distance.optional(),
255
- schematicRouteHints: import_zod.z.array(import_soup.point).optional(),
256
- pcbRouteHints: import_zod.z.array(import_soup.route_hint_point).optional()
313
+ thickness: import_soup6.distance.optional(),
314
+ schematicRouteHints: import_zod11.z.array(import_soup6.point).optional(),
315
+ pcbRouteHints: import_zod11.z.array(import_soup6.route_hint_point).optional()
257
316
  })
258
317
  );
259
- var smtPadProps = import_zod.z.union([
318
+ var smtPadProps = import_zod11.z.union([
260
319
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
261
- shape: import_zod.z.literal("circle"),
262
- radius: import_soup.distance.optional(),
320
+ shape: import_zod11.z.literal("circle"),
321
+ radius: import_soup6.distance.optional(),
263
322
  portHints: portHints.optional()
264
323
  }),
265
324
  pcbLayoutProps.omit({ pcbRotation: true }).extend({
266
- shape: import_zod.z.literal("rect"),
267
- width: import_soup.distance.optional(),
268
- height: import_soup.distance.optional(),
325
+ shape: import_zod11.z.literal("rect"),
326
+ width: import_soup6.distance.optional(),
327
+ height: import_soup6.distance.optional(),
269
328
  portHints: portHints.optional()
270
329
  })
271
330
  ]);
272
- var platedHoleProps = import_zod.z.union([
331
+ var platedHoleProps = import_zod11.z.union([
273
332
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
274
- shape: import_zod.z.literal("circle"),
275
- holeDiameter: import_soup.distance,
276
- outerDiameter: import_soup.distance,
333
+ shape: import_zod11.z.literal("circle"),
334
+ holeDiameter: import_soup6.distance,
335
+ outerDiameter: import_soup6.distance,
277
336
  portHints: portHints.optional()
278
337
  }),
279
338
  pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
280
- shape: import_zod.z.literal("oval"),
281
- outerWidth: import_soup.distance,
282
- outerHeight: import_soup.distance,
283
- innerWidth: import_soup.distance,
284
- innerHeight: import_soup.distance,
339
+ shape: import_zod11.z.literal("oval"),
340
+ outerWidth: import_soup6.distance,
341
+ outerHeight: import_soup6.distance,
342
+ innerWidth: import_soup6.distance,
343
+ innerHeight: import_soup6.distance,
285
344
  portHints: portHints.optional()
286
345
  })
287
346
  ]);
288
347
  var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
289
- holeDiameter: import_soup.distance
290
- });
291
- var schematicBoxProps = import_zod.z.object({
292
- schX: import_soup.distance,
293
- schY: import_soup.distance,
294
- width: import_soup.distance,
295
- height: import_soup.distance
296
- });
297
- var schematicTextProps = import_zod.z.object({
298
- schX: import_soup.distance,
299
- schY: import_soup.distance,
300
- text: import_zod.z.string()
301
- });
302
- var schematicLineProps = import_zod.z.object({
303
- x1: import_soup.distance,
304
- y1: import_soup.distance,
305
- x2: import_soup.distance,
306
- y2: import_soup.distance
307
- });
308
- var schematicPathProps = import_zod.z.object({
309
- points: import_zod.z.array(import_soup.point),
310
- isFilled: import_zod.z.boolean().optional().default(false),
311
- fillColor: import_zod.z.enum(["red", "blue"]).optional()
312
- });
313
- var constraintProps = import_zod.z.union([
314
- import_zod.z.object({
315
- type: import_zod.z.literal("xdist"),
316
- dist: import_soup.distance,
317
- left: import_zod.z.string(),
318
- right: import_zod.z.string()
348
+ holeDiameter: import_soup6.distance
349
+ });
350
+ var schematicBoxProps = import_zod11.z.object({
351
+ schX: import_soup6.distance,
352
+ schY: import_soup6.distance,
353
+ width: import_soup6.distance,
354
+ height: import_soup6.distance
355
+ });
356
+ var schematicTextProps = import_zod11.z.object({
357
+ schX: import_soup6.distance,
358
+ schY: import_soup6.distance,
359
+ text: import_zod11.z.string()
360
+ });
361
+ var schematicLineProps = import_zod11.z.object({
362
+ x1: import_soup6.distance,
363
+ y1: import_soup6.distance,
364
+ x2: import_soup6.distance,
365
+ y2: import_soup6.distance
366
+ });
367
+ var schematicPathProps = import_zod11.z.object({
368
+ points: import_zod11.z.array(import_soup6.point),
369
+ isFilled: import_zod11.z.boolean().optional().default(false),
370
+ fillColor: import_zod11.z.enum(["red", "blue"]).optional()
371
+ });
372
+ var constraintProps = import_zod11.z.union([
373
+ import_zod11.z.object({
374
+ type: import_zod11.z.literal("xdist"),
375
+ dist: import_soup6.distance,
376
+ left: import_zod11.z.string(),
377
+ right: import_zod11.z.string()
319
378
  }),
320
- import_zod.z.object({
321
- type: import_zod.z.literal("ydist"),
322
- dist: import_soup.distance,
323
- top: import_zod.z.string(),
324
- bottom: import_zod.z.string()
379
+ import_zod11.z.object({
380
+ type: import_zod11.z.literal("ydist"),
381
+ dist: import_soup6.distance,
382
+ top: import_zod11.z.string(),
383
+ bottom: import_zod11.z.string()
325
384
  })
326
385
  ]);
327
- var constrainedLayoutProps = import_zod.z.object({});
328
- var footprintProps = import_zod.z.object({});
386
+ var constrainedLayoutProps = import_zod11.z.object({});
387
+ var footprintProps = import_zod11.z.object({});
329
388
  var componentProps = commonComponentProps;
330
389
  var groupProps = commonLayoutProps.extend({
331
- name: import_zod.z.string().optional(),
332
- layout: import_zod.z.custom((v) => true).optional(),
333
- children: import_zod.z.any().optional(),
334
- routingDisabled: import_zod.z.boolean().optional()
390
+ name: import_zod11.z.string().optional(),
391
+ layout: import_zod11.z.custom((v) => true).optional(),
392
+ children: import_zod11.z.any().optional(),
393
+ routingDisabled: import_zod11.z.boolean().optional()
335
394
  });
336
395
  var powerSourceProps = commonComponentProps.extend({
337
- voltage: import_soup.voltage
396
+ voltage: import_soup6.voltage
338
397
  });
339
398
  var portProps = commonLayoutProps.extend({
340
- name: import_zod.z.string(),
341
- pinNumber: import_zod.z.number().optional(),
342
- aliases: import_zod.z.array(import_zod.z.string()).optional(),
399
+ name: import_zod11.z.string(),
400
+ pinNumber: import_zod11.z.number().optional(),
401
+ aliases: import_zod11.z.array(import_zod11.z.string()).optional(),
343
402
  direction
344
403
  });
345
404
  var silkscreenTextProps = pcbLayoutProps.extend({
346
- text: import_zod.z.string(),
347
- anchorAlignment: import_zod.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
348
- font: import_zod.z.enum(["tscircuit2024"]).optional(),
349
- fontSize: import_soup.length.optional()
405
+ text: import_zod11.z.string(),
406
+ anchorAlignment: import_zod11.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
407
+ font: import_zod11.z.enum(["tscircuit2024"]).optional(),
408
+ fontSize: import_soup6.length.optional()
350
409
  });
351
410
  var silkscreenPathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
352
- route: import_zod.z.array(import_soup.route_hint_point),
353
- strokeWidth: import_soup.length.optional()
411
+ route: import_zod11.z.array(import_soup6.route_hint_point),
412
+ strokeWidth: import_soup6.length.optional()
354
413
  });
355
414
  var silkscreenLineProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
356
- strokeWidth: import_soup.distance,
357
- x1: import_soup.distance,
358
- y1: import_soup.distance,
359
- x2: import_soup.distance,
360
- y2: import_soup.distance
415
+ strokeWidth: import_soup6.distance,
416
+ x1: import_soup6.distance,
417
+ y1: import_soup6.distance,
418
+ x2: import_soup6.distance,
419
+ y2: import_soup6.distance
361
420
  });
362
421
  var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
363
- isFilled: import_zod.z.boolean().optional(),
364
- isOutline: import_zod.z.boolean().optional(),
365
- strokeWidth: import_soup.distance.optional(),
366
- width: import_soup.distance,
367
- height: import_soup.distance
422
+ isFilled: import_zod11.z.boolean().optional(),
423
+ isOutline: import_zod11.z.boolean().optional(),
424
+ strokeWidth: import_soup6.distance.optional(),
425
+ width: import_soup6.distance,
426
+ height: import_soup6.distance
368
427
  });
369
428
  var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
370
- isFilled: import_zod.z.boolean().optional(),
371
- isOutline: import_zod.z.boolean().optional(),
372
- strokeWidth: import_soup.distance.optional(),
373
- radius: import_soup.distance
374
- });
375
- var routeHintPointProps = import_zod.z.object({
376
- x: import_soup.distance,
377
- y: import_soup.distance,
378
- via: import_zod.z.boolean().optional(),
379
- toLayer: import_soup.layer_ref.optional()
380
- });
381
- var traceHintProps = import_zod.z.object({
382
- for: import_zod.z.string().optional().describe(
429
+ isFilled: import_zod11.z.boolean().optional(),
430
+ isOutline: import_zod11.z.boolean().optional(),
431
+ strokeWidth: import_soup6.distance.optional(),
432
+ radius: import_soup6.distance
433
+ });
434
+ var routeHintPointProps = import_zod11.z.object({
435
+ x: import_soup6.distance,
436
+ y: import_soup6.distance,
437
+ via: import_zod11.z.boolean().optional(),
438
+ toLayer: import_soup6.layer_ref.optional()
439
+ });
440
+ var traceHintProps = import_zod11.z.object({
441
+ for: import_zod11.z.string().optional().describe(
383
442
  "Selector for the port you're targeting, not required if you're inside a trace"
384
443
  ),
385
- order: import_zod.z.number().optional(),
386
- offset: import_soup.route_hint_point.or(routeHintPointProps).optional(),
387
- offsets: import_zod.z.array(import_soup.route_hint_point).or(import_zod.z.array(routeHintPointProps)).optional(),
388
- traceWidth: import_zod.z.number().optional()
444
+ order: import_zod11.z.number().optional(),
445
+ offset: import_soup6.route_hint_point.or(routeHintPointProps).optional(),
446
+ offsets: import_zod11.z.array(import_soup6.route_hint_point).or(import_zod11.z.array(routeHintPointProps)).optional(),
447
+ traceWidth: import_zod11.z.number().optional()
389
448
  });
390
- var pcbTraceProps = import_zod.z.object({
391
- layer: import_zod.z.string().optional(),
392
- thickness: import_soup.distance.optional(),
393
- route: import_zod.z.array(import_soup.route_hint_point)
449
+ var pcbTraceProps = import_zod11.z.object({
450
+ layer: import_zod11.z.string().optional(),
451
+ thickness: import_soup6.distance.optional(),
452
+ route: import_zod11.z.array(import_soup6.route_hint_point)
394
453
  });
395
454
  var fabricationNoteTextProps = pcbLayoutProps.extend({
396
- text: import_zod.z.string(),
397
- anchorAlignment: import_zod.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
398
- font: import_zod.z.enum(["tscircuit2024"]).optional(),
399
- fontSize: import_soup.length.optional()
455
+ text: import_zod11.z.string(),
456
+ anchorAlignment: import_zod11.z.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
457
+ font: import_zod11.z.enum(["tscircuit2024"]).optional(),
458
+ fontSize: import_soup6.length.optional()
400
459
  });
401
460
  var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcbRotation: true }).extend({
402
- route: import_zod.z.array(import_soup.route_hint_point),
403
- strokeWidth: import_soup.length.optional()
461
+ route: import_zod11.z.array(import_soup6.route_hint_point),
462
+ strokeWidth: import_soup6.length.optional()
404
463
  });
405
464
  // Annotate the CommonJS export names for ESM import in node:
406
465
  0 && (module.exports = {
407
466
  boardProps,
408
467
  bugProps,
409
- cadModelBase,
410
- cadModelJscad,
411
- cadModelObj,
412
- cadModelStl,
413
468
  capacitorPins,
414
469
  capacitorProps,
415
470
  chipProps,
@@ -421,10 +476,12 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
421
476
  diodePins,
422
477
  diodeProps,
423
478
  direction,
479
+ directionAlongEdge,
424
480
  distanceOrMultiplier,
425
481
  explicitPinSideDefinition,
426
482
  fabricationNotePathProps,
427
483
  fabricationNoteTextProps,
484
+ footprintProp,
428
485
  footprintProps,
429
486
  groupProps,
430
487
  holeProps,
@@ -438,11 +495,11 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
438
495
  pcbLayoutProps,
439
496
  pcbTraceProps,
440
497
  platedHoleProps,
498
+ point3,
441
499
  portHints,
442
500
  portProps,
443
501
  portRef,
444
502
  powerSourceProps,
445
- relativeDirection,
446
503
  resistorPins,
447
504
  resistorProps,
448
505
  routeHintPointProps,