@tscircuit/props 0.0.437 → 0.0.438

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
@@ -585,6 +585,7 @@ var autorouterConfig = z30.object({
585
585
  "auto",
586
586
  "auto_local",
587
587
  "auto_cloud",
588
+ "tscircuit_beta",
588
589
  "freerouting",
589
590
  "laser_prefab",
590
591
  "sequential-trace",
@@ -599,6 +600,7 @@ var autorouterPreset = z30.union([
599
600
  z30.literal("auto"),
600
601
  z30.literal("auto_local"),
601
602
  z30.literal("auto_cloud"),
603
+ z30.literal("tscircuit_beta"),
602
604
  z30.literal("freerouting"),
603
605
  z30.literal("laser_prefab"),
604
606
  // Prefabricated PCB with laser copper ablation
@@ -1988,58 +1990,85 @@ var voltageSourceProps = commonComponentProps.extend({
1988
1990
  var voltageSourcePins = lrPolarPins;
1989
1991
  expectTypesMatch(true);
1990
1992
 
1991
- // lib/components/voltageprobe.ts
1993
+ // lib/components/currentsource.ts
1994
+ import { frequency as frequency5, rotation as rotation5, current } from "circuit-json";
1992
1995
  import { z as z87 } from "zod";
1996
+ var currentSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
1997
+ var percentage2 = z87.union([z87.string(), z87.number()]).transform((val) => {
1998
+ if (typeof val === "string") {
1999
+ if (val.endsWith("%")) {
2000
+ return parseFloat(val.slice(0, -1)) / 100;
2001
+ }
2002
+ return parseFloat(val);
2003
+ }
2004
+ return val;
2005
+ }).pipe(
2006
+ z87.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2007
+ );
2008
+ var currentSourceProps = commonComponentProps.extend({
2009
+ current: current.optional(),
2010
+ frequency: frequency5.optional(),
2011
+ peakToPeakCurrent: current.optional(),
2012
+ waveShape: z87.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
2013
+ phase: rotation5.optional(),
2014
+ dutyCycle: percentage2.optional(),
2015
+ connections: createConnectionsProp(currentSourcePinLabels).optional()
2016
+ });
2017
+ var currentSourcePins = lrPolarPins;
2018
+ expectTypesMatch(true);
2019
+
2020
+ // lib/components/voltageprobe.ts
2021
+ import { z as z88 } from "zod";
1993
2022
  var voltageProbeProps = commonComponentProps.omit({ name: true }).extend({
1994
- name: z87.string().optional(),
1995
- connectsTo: z87.string(),
1996
- referenceTo: z87.string().optional(),
1997
- color: z87.string().optional()
2023
+ name: z88.string().optional(),
2024
+ connectsTo: z88.string(),
2025
+ referenceTo: z88.string().optional(),
2026
+ color: z88.string().optional()
1998
2027
  });
1999
2028
  expectTypesMatch(true);
2000
2029
 
2001
2030
  // lib/components/schematic-arc.ts
2002
- import { distance as distance25, point as point5, rotation as rotation5 } from "circuit-json";
2003
- import { z as z88 } from "zod";
2004
- var schematicArcProps = z88.object({
2031
+ import { distance as distance25, point as point5, rotation as rotation6 } from "circuit-json";
2032
+ import { z as z89 } from "zod";
2033
+ var schematicArcProps = z89.object({
2005
2034
  center: point5,
2006
2035
  radius: distance25,
2007
- startAngleDegrees: rotation5,
2008
- endAngleDegrees: rotation5,
2009
- direction: z88.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
2036
+ startAngleDegrees: rotation6,
2037
+ endAngleDegrees: rotation6,
2038
+ direction: z89.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
2010
2039
  strokeWidth: distance25.optional(),
2011
- color: z88.string().optional(),
2012
- isDashed: z88.boolean().optional().default(false)
2040
+ color: z89.string().optional(),
2041
+ isDashed: z89.boolean().optional().default(false)
2013
2042
  });
2014
2043
  expectTypesMatch(true);
2015
2044
 
2016
2045
  // lib/components/toolingrail.ts
2017
- import { z as z89 } from "zod";
2018
- var toolingrailProps = z89.object({
2019
- children: z89.any().optional()
2046
+ import { z as z90 } from "zod";
2047
+ var toolingrailProps = z90.object({
2048
+ children: z90.any().optional()
2020
2049
  });
2021
2050
  expectTypesMatch(true);
2022
2051
 
2023
2052
  // lib/components/schematic-box.ts
2024
2053
  import { distance as distance26 } from "circuit-json";
2025
- import { z as z90 } from "zod";
2026
- var schematicBoxProps = z90.object({
2054
+ import { z as z91 } from "zod";
2055
+ var schematicBoxProps = z91.object({
2027
2056
  schX: distance26.optional(),
2028
2057
  schY: distance26.optional(),
2029
2058
  width: distance26.optional(),
2030
2059
  height: distance26.optional(),
2031
- overlay: z90.array(z90.string()).optional(),
2060
+ overlay: z91.array(z91.string()).optional(),
2032
2061
  padding: distance26.optional(),
2033
2062
  paddingLeft: distance26.optional(),
2034
2063
  paddingRight: distance26.optional(),
2035
2064
  paddingTop: distance26.optional(),
2036
2065
  paddingBottom: distance26.optional(),
2037
- title: z90.string().optional(),
2066
+ title: z91.string().optional(),
2038
2067
  titleAlignment: ninePointAnchor.default("top_left"),
2039
- titleColor: z90.string().optional(),
2068
+ titleColor: z91.string().optional(),
2040
2069
  titleFontSize: distance26.optional(),
2041
- titleInside: z90.boolean().default(false),
2042
- strokeStyle: z90.enum(["solid", "dashed"]).default("solid")
2070
+ titleInside: z91.boolean().default(false),
2071
+ strokeStyle: z91.enum(["solid", "dashed"]).default("solid")
2043
2072
  }).refine(
2044
2073
  (elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
2045
2074
  {
@@ -2055,59 +2084,59 @@ expectTypesMatch(true);
2055
2084
 
2056
2085
  // lib/components/schematic-circle.ts
2057
2086
  import { distance as distance27, point as point6 } from "circuit-json";
2058
- import { z as z91 } from "zod";
2059
- var schematicCircleProps = z91.object({
2087
+ import { z as z92 } from "zod";
2088
+ var schematicCircleProps = z92.object({
2060
2089
  center: point6,
2061
2090
  radius: distance27,
2062
2091
  strokeWidth: distance27.optional(),
2063
- color: z91.string().optional(),
2064
- isFilled: z91.boolean().optional().default(false),
2065
- fillColor: z91.string().optional(),
2066
- isDashed: z91.boolean().optional().default(false)
2092
+ color: z92.string().optional(),
2093
+ isFilled: z92.boolean().optional().default(false),
2094
+ fillColor: z92.string().optional(),
2095
+ isDashed: z92.boolean().optional().default(false)
2067
2096
  });
2068
2097
  expectTypesMatch(
2069
2098
  true
2070
2099
  );
2071
2100
 
2072
2101
  // lib/components/schematic-rect.ts
2073
- import { distance as distance28, rotation as rotation6 } from "circuit-json";
2074
- import { z as z92 } from "zod";
2075
- var schematicRectProps = z92.object({
2102
+ import { distance as distance28, rotation as rotation7 } from "circuit-json";
2103
+ import { z as z93 } from "zod";
2104
+ var schematicRectProps = z93.object({
2076
2105
  schX: distance28.optional(),
2077
2106
  schY: distance28.optional(),
2078
2107
  width: distance28,
2079
2108
  height: distance28,
2080
- rotation: rotation6.default(0),
2109
+ rotation: rotation7.default(0),
2081
2110
  strokeWidth: distance28.optional(),
2082
- color: z92.string().optional(),
2083
- isFilled: z92.boolean().optional().default(false),
2084
- fillColor: z92.string().optional(),
2085
- isDashed: z92.boolean().optional().default(false),
2111
+ color: z93.string().optional(),
2112
+ isFilled: z93.boolean().optional().default(false),
2113
+ fillColor: z93.string().optional(),
2114
+ isDashed: z93.boolean().optional().default(false),
2086
2115
  cornerRadius: distance28.optional()
2087
2116
  });
2088
2117
  expectTypesMatch(true);
2089
2118
 
2090
2119
  // lib/components/schematic-line.ts
2091
2120
  import { distance as distance29 } from "circuit-json";
2092
- import { z as z93 } from "zod";
2093
- var schematicLineProps = z93.object({
2121
+ import { z as z94 } from "zod";
2122
+ var schematicLineProps = z94.object({
2094
2123
  x1: distance29,
2095
2124
  y1: distance29,
2096
2125
  x2: distance29,
2097
2126
  y2: distance29,
2098
2127
  strokeWidth: distance29.optional(),
2099
- color: z93.string().optional(),
2100
- isDashed: z93.boolean().optional().default(false)
2128
+ color: z94.string().optional(),
2129
+ isDashed: z94.boolean().optional().default(false)
2101
2130
  });
2102
2131
  expectTypesMatch(true);
2103
2132
 
2104
2133
  // lib/components/schematic-text.ts
2105
- import { distance as distance30, rotation as rotation7 } from "circuit-json";
2106
- import { z as z95 } from "zod";
2134
+ import { distance as distance30, rotation as rotation8 } from "circuit-json";
2135
+ import { z as z96 } from "zod";
2107
2136
 
2108
2137
  // lib/common/fivePointAnchor.ts
2109
- import { z as z94 } from "zod";
2110
- var fivePointAnchor = z94.enum([
2138
+ import { z as z95 } from "zod";
2139
+ var fivePointAnchor = z95.enum([
2111
2140
  "center",
2112
2141
  "left",
2113
2142
  "right",
@@ -2116,34 +2145,34 @@ var fivePointAnchor = z94.enum([
2116
2145
  ]);
2117
2146
 
2118
2147
  // lib/components/schematic-text.ts
2119
- var schematicTextProps = z95.object({
2148
+ var schematicTextProps = z96.object({
2120
2149
  schX: distance30.optional(),
2121
2150
  schY: distance30.optional(),
2122
- text: z95.string(),
2123
- fontSize: z95.number().default(1),
2124
- anchor: z95.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
2125
- color: z95.string().default("#000000"),
2126
- schRotation: rotation7.default(0)
2151
+ text: z96.string(),
2152
+ fontSize: z96.number().default(1),
2153
+ anchor: z96.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
2154
+ color: z96.string().default("#000000"),
2155
+ schRotation: rotation8.default(0)
2127
2156
  });
2128
2157
  expectTypesMatch(true);
2129
2158
 
2130
2159
  // lib/components/schematic-path.ts
2131
2160
  import { point as point8 } from "circuit-json";
2132
- import { z as z96 } from "zod";
2133
- var schematicPathProps = z96.object({
2134
- points: z96.array(point8),
2135
- isFilled: z96.boolean().optional().default(false),
2136
- fillColor: z96.enum(["red", "blue"]).optional()
2161
+ import { z as z97 } from "zod";
2162
+ var schematicPathProps = z97.object({
2163
+ points: z97.array(point8),
2164
+ isFilled: z97.boolean().optional().default(false),
2165
+ fillColor: z97.enum(["red", "blue"]).optional()
2137
2166
  });
2138
2167
  expectTypesMatch(true);
2139
2168
 
2140
2169
  // lib/components/schematic-table.ts
2141
2170
  import { distance as distance31 } from "circuit-json";
2142
- import { z as z97 } from "zod";
2143
- var schematicTableProps = z97.object({
2171
+ import { z as z98 } from "zod";
2172
+ var schematicTableProps = z98.object({
2144
2173
  schX: distance31.optional(),
2145
2174
  schY: distance31.optional(),
2146
- children: z97.any().optional(),
2175
+ children: z98.any().optional(),
2147
2176
  cellPadding: distance31.optional(),
2148
2177
  borderWidth: distance31.optional(),
2149
2178
  anchor: ninePointAnchor.optional(),
@@ -2153,64 +2182,64 @@ expectTypesMatch(true);
2153
2182
 
2154
2183
  // lib/components/schematic-row.ts
2155
2184
  import { distance as distance32 } from "circuit-json";
2156
- import { z as z98 } from "zod";
2157
- var schematicRowProps = z98.object({
2158
- children: z98.any().optional(),
2185
+ import { z as z99 } from "zod";
2186
+ var schematicRowProps = z99.object({
2187
+ children: z99.any().optional(),
2159
2188
  height: distance32.optional()
2160
2189
  });
2161
2190
  expectTypesMatch(true);
2162
2191
 
2163
2192
  // lib/components/schematic-cell.ts
2164
2193
  import { distance as distance33 } from "circuit-json";
2165
- import { z as z99 } from "zod";
2166
- var schematicCellProps = z99.object({
2167
- children: z99.string().optional(),
2168
- horizontalAlign: z99.enum(["left", "center", "right"]).optional(),
2169
- verticalAlign: z99.enum(["top", "middle", "bottom"]).optional(),
2194
+ import { z as z100 } from "zod";
2195
+ var schematicCellProps = z100.object({
2196
+ children: z100.string().optional(),
2197
+ horizontalAlign: z100.enum(["left", "center", "right"]).optional(),
2198
+ verticalAlign: z100.enum(["top", "middle", "bottom"]).optional(),
2170
2199
  fontSize: distance33.optional(),
2171
- rowSpan: z99.number().optional(),
2172
- colSpan: z99.number().optional(),
2200
+ rowSpan: z100.number().optional(),
2201
+ colSpan: z100.number().optional(),
2173
2202
  width: distance33.optional(),
2174
- text: z99.string().optional()
2203
+ text: z100.string().optional()
2175
2204
  });
2176
2205
  expectTypesMatch(true);
2177
2206
 
2178
2207
  // lib/components/copper-text.ts
2179
2208
  import { layer_ref as layer_ref8, length as length7 } from "circuit-json";
2180
- import { z as z100 } from "zod";
2209
+ import { z as z101 } from "zod";
2181
2210
  var copperTextProps = pcbLayoutProps.extend({
2182
- text: z100.string(),
2211
+ text: z101.string(),
2183
2212
  anchorAlignment: ninePointAnchor.default("center"),
2184
- font: z100.enum(["tscircuit2024"]).optional(),
2213
+ font: z101.enum(["tscircuit2024"]).optional(),
2185
2214
  fontSize: length7.optional(),
2186
- layers: z100.array(layer_ref8).optional(),
2187
- knockout: z100.boolean().optional(),
2188
- mirrored: z100.boolean().optional()
2215
+ layers: z101.array(layer_ref8).optional(),
2216
+ knockout: z101.boolean().optional(),
2217
+ mirrored: z101.boolean().optional()
2189
2218
  });
2190
2219
 
2191
2220
  // lib/components/silkscreen-text.ts
2192
2221
  import { layer_ref as layer_ref9, length as length8 } from "circuit-json";
2193
- import { z as z101 } from "zod";
2222
+ import { z as z102 } from "zod";
2194
2223
  var silkscreenTextProps = pcbLayoutProps.extend({
2195
- text: z101.string(),
2224
+ text: z102.string(),
2196
2225
  anchorAlignment: ninePointAnchor.default("center"),
2197
- font: z101.enum(["tscircuit2024"]).optional(),
2226
+ font: z102.enum(["tscircuit2024"]).optional(),
2198
2227
  fontSize: length8.optional(),
2199
2228
  /**
2200
2229
  * If true, text will knock out underlying silkscreen
2201
2230
  */
2202
- isKnockout: z101.boolean().optional(),
2231
+ isKnockout: z102.boolean().optional(),
2203
2232
  knockoutPadding: length8.optional(),
2204
2233
  knockoutPaddingLeft: length8.optional(),
2205
2234
  knockoutPaddingRight: length8.optional(),
2206
2235
  knockoutPaddingTop: length8.optional(),
2207
2236
  knockoutPaddingBottom: length8.optional(),
2208
- layers: z101.array(layer_ref9).optional()
2237
+ layers: z102.array(layer_ref9).optional()
2209
2238
  });
2210
2239
 
2211
2240
  // lib/components/silkscreen-path.ts
2212
2241
  import { length as length9, route_hint_point as route_hint_point5 } from "circuit-json";
2213
- import { z as z102 } from "zod";
2242
+ import { z as z103 } from "zod";
2214
2243
  var silkscreenPathProps = pcbLayoutProps.omit({
2215
2244
  pcbLeftEdgeX: true,
2216
2245
  pcbRightEdgeX: true,
@@ -2222,7 +2251,7 @@ var silkscreenPathProps = pcbLayoutProps.omit({
2222
2251
  pcbOffsetY: true,
2223
2252
  pcbRotation: true
2224
2253
  }).extend({
2225
- route: z102.array(route_hint_point5),
2254
+ route: z103.array(route_hint_point5),
2226
2255
  strokeWidth: length9.optional()
2227
2256
  });
2228
2257
 
@@ -2244,10 +2273,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({
2244
2273
 
2245
2274
  // lib/components/silkscreen-rect.ts
2246
2275
  import { distance as distance35 } from "circuit-json";
2247
- import { z as z103 } from "zod";
2276
+ import { z as z104 } from "zod";
2248
2277
  var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2249
- filled: z103.boolean().default(true).optional(),
2250
- stroke: z103.enum(["dashed", "solid", "none"]).optional(),
2278
+ filled: z104.boolean().default(true).optional(),
2279
+ stroke: z104.enum(["dashed", "solid", "none"]).optional(),
2251
2280
  strokeWidth: distance35.optional(),
2252
2281
  width: distance35,
2253
2282
  height: distance35,
@@ -2256,66 +2285,66 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2256
2285
 
2257
2286
  // lib/components/silkscreen-circle.ts
2258
2287
  import { distance as distance36 } from "circuit-json";
2259
- import { z as z104 } from "zod";
2288
+ import { z as z105 } from "zod";
2260
2289
  var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2261
- isFilled: z104.boolean().optional(),
2262
- isOutline: z104.boolean().optional(),
2290
+ isFilled: z105.boolean().optional(),
2291
+ isOutline: z105.boolean().optional(),
2263
2292
  strokeWidth: distance36.optional(),
2264
2293
  radius: distance36
2265
2294
  });
2266
2295
 
2267
2296
  // lib/components/trace-hint.ts
2268
2297
  import { distance as distance37, layer_ref as layer_ref10, route_hint_point as route_hint_point6 } from "circuit-json";
2269
- import { z as z105 } from "zod";
2270
- var routeHintPointProps = z105.object({
2298
+ import { z as z106 } from "zod";
2299
+ var routeHintPointProps = z106.object({
2271
2300
  x: distance37,
2272
2301
  y: distance37,
2273
- via: z105.boolean().optional(),
2302
+ via: z106.boolean().optional(),
2274
2303
  toLayer: layer_ref10.optional()
2275
2304
  });
2276
- var traceHintProps = z105.object({
2277
- for: z105.string().optional().describe(
2305
+ var traceHintProps = z106.object({
2306
+ for: z106.string().optional().describe(
2278
2307
  "Selector for the port you're targeting, not required if you're inside a trace"
2279
2308
  ),
2280
- order: z105.number().optional(),
2309
+ order: z106.number().optional(),
2281
2310
  offset: route_hint_point6.or(routeHintPointProps).optional(),
2282
- offsets: z105.array(route_hint_point6).or(z105.array(routeHintPointProps)).optional(),
2283
- traceWidth: z105.number().optional()
2311
+ offsets: z106.array(route_hint_point6).or(z106.array(routeHintPointProps)).optional(),
2312
+ traceWidth: z106.number().optional()
2284
2313
  });
2285
2314
 
2286
2315
  // lib/components/port.ts
2287
- import { z as z106 } from "zod";
2316
+ import { z as z107 } from "zod";
2288
2317
  var portProps = commonLayoutProps.extend({
2289
- name: z106.string(),
2290
- pinNumber: z106.number().optional(),
2291
- aliases: z106.array(z106.string()).optional(),
2318
+ name: z107.string(),
2319
+ pinNumber: z107.number().optional(),
2320
+ aliases: z107.array(z107.string()).optional(),
2292
2321
  direction,
2293
- connectsTo: z106.string().or(z106.array(z106.string())).optional()
2322
+ connectsTo: z107.string().or(z107.array(z107.string())).optional()
2294
2323
  });
2295
2324
 
2296
2325
  // lib/components/pcb-note-text.ts
2297
2326
  import { length as length10 } from "circuit-json";
2298
- import { z as z107 } from "zod";
2327
+ import { z as z108 } from "zod";
2299
2328
  var pcbNoteTextProps = pcbLayoutProps.extend({
2300
- text: z107.string(),
2301
- anchorAlignment: z107.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2302
- font: z107.enum(["tscircuit2024"]).optional(),
2329
+ text: z108.string(),
2330
+ anchorAlignment: z108.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2331
+ font: z108.enum(["tscircuit2024"]).optional(),
2303
2332
  fontSize: length10.optional(),
2304
- color: z107.string().optional()
2333
+ color: z108.string().optional()
2305
2334
  });
2306
2335
  expectTypesMatch(true);
2307
2336
 
2308
2337
  // lib/components/pcb-note-rect.ts
2309
2338
  import { distance as distance38 } from "circuit-json";
2310
- import { z as z108 } from "zod";
2339
+ import { z as z109 } from "zod";
2311
2340
  var pcbNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
2312
2341
  width: distance38,
2313
2342
  height: distance38,
2314
2343
  strokeWidth: distance38.optional(),
2315
- isFilled: z108.boolean().optional(),
2316
- hasStroke: z108.boolean().optional(),
2317
- isStrokeDashed: z108.boolean().optional(),
2318
- color: z108.string().optional(),
2344
+ isFilled: z109.boolean().optional(),
2345
+ hasStroke: z109.boolean().optional(),
2346
+ isStrokeDashed: z109.boolean().optional(),
2347
+ color: z109.string().optional(),
2319
2348
  cornerRadius: distance38.optional()
2320
2349
  });
2321
2350
  expectTypesMatch(true);
@@ -2325,7 +2354,7 @@ import {
2325
2354
  length as length11,
2326
2355
  route_hint_point as route_hint_point7
2327
2356
  } from "circuit-json";
2328
- import { z as z109 } from "zod";
2357
+ import { z as z110 } from "zod";
2329
2358
  var pcbNotePathProps = pcbLayoutProps.omit({
2330
2359
  pcbLeftEdgeX: true,
2331
2360
  pcbRightEdgeX: true,
@@ -2337,15 +2366,15 @@ var pcbNotePathProps = pcbLayoutProps.omit({
2337
2366
  pcbOffsetY: true,
2338
2367
  pcbRotation: true
2339
2368
  }).extend({
2340
- route: z109.array(route_hint_point7),
2369
+ route: z110.array(route_hint_point7),
2341
2370
  strokeWidth: length11.optional(),
2342
- color: z109.string().optional()
2371
+ color: z110.string().optional()
2343
2372
  });
2344
2373
  expectTypesMatch(true);
2345
2374
 
2346
2375
  // lib/components/pcb-note-line.ts
2347
2376
  import { distance as distance39 } from "circuit-json";
2348
- import { z as z110 } from "zod";
2377
+ import { z as z111 } from "zod";
2349
2378
  var pcbNoteLineProps = pcbLayoutProps.omit({
2350
2379
  pcbLeftEdgeX: true,
2351
2380
  pcbRightEdgeX: true,
@@ -2362,15 +2391,15 @@ var pcbNoteLineProps = pcbLayoutProps.omit({
2362
2391
  x2: distance39,
2363
2392
  y2: distance39,
2364
2393
  strokeWidth: distance39.optional(),
2365
- color: z110.string().optional(),
2366
- isDashed: z110.boolean().optional()
2394
+ color: z111.string().optional(),
2395
+ isDashed: z111.boolean().optional()
2367
2396
  });
2368
2397
  expectTypesMatch(true);
2369
2398
 
2370
2399
  // lib/components/pcb-note-dimension.ts
2371
2400
  import { distance as distance40, length as length12 } from "circuit-json";
2372
- import { z as z111 } from "zod";
2373
- var dimensionTarget2 = z111.union([z111.string(), point]);
2401
+ import { z as z112 } from "zod";
2402
+ var dimensionTarget2 = z112.union([z112.string(), point]);
2374
2403
  var pcbNoteDimensionProps = pcbLayoutProps.omit({
2375
2404
  pcbLeftEdgeX: true,
2376
2405
  pcbRightEdgeX: true,
@@ -2384,93 +2413,93 @@ var pcbNoteDimensionProps = pcbLayoutProps.omit({
2384
2413
  }).extend({
2385
2414
  from: dimensionTarget2,
2386
2415
  to: dimensionTarget2,
2387
- text: z111.string().optional(),
2416
+ text: z112.string().optional(),
2388
2417
  offset: distance40.optional(),
2389
- font: z111.enum(["tscircuit2024"]).optional(),
2418
+ font: z112.enum(["tscircuit2024"]).optional(),
2390
2419
  fontSize: length12.optional(),
2391
- color: z111.string().optional(),
2420
+ color: z112.string().optional(),
2392
2421
  arrowSize: distance40.optional(),
2393
- units: z111.enum(["in", "mm"]).optional(),
2394
- outerEdgeToEdge: z111.literal(true).optional(),
2395
- centerToCenter: z111.literal(true).optional(),
2396
- innerEdgeToEdge: z111.literal(true).optional()
2422
+ units: z112.enum(["in", "mm"]).optional(),
2423
+ outerEdgeToEdge: z112.literal(true).optional(),
2424
+ centerToCenter: z112.literal(true).optional(),
2425
+ innerEdgeToEdge: z112.literal(true).optional()
2397
2426
  });
2398
2427
  expectTypesMatch(
2399
2428
  true
2400
2429
  );
2401
2430
 
2402
2431
  // lib/platformConfig.ts
2403
- import { z as z112 } from "zod";
2404
- var unvalidatedCircuitJson = z112.array(z112.any()).describe("Circuit JSON");
2405
- var footprintLibraryResult = z112.object({
2406
- footprintCircuitJson: z112.array(z112.any()),
2432
+ import { z as z113 } from "zod";
2433
+ var unvalidatedCircuitJson = z113.array(z113.any()).describe("Circuit JSON");
2434
+ var footprintLibraryResult = z113.object({
2435
+ footprintCircuitJson: z113.array(z113.any()),
2407
2436
  cadModel: cadModelProp.optional()
2408
2437
  });
2409
- var pathToCircuitJsonFn = z112.function().args(z112.string()).returns(z112.promise(footprintLibraryResult)).or(
2410
- z112.function().args(
2411
- z112.string(),
2412
- z112.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
2413
- ).returns(z112.promise(footprintLibraryResult))
2438
+ var pathToCircuitJsonFn = z113.function().args(z113.string()).returns(z113.promise(footprintLibraryResult)).or(
2439
+ z113.function().args(
2440
+ z113.string(),
2441
+ z113.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
2442
+ ).returns(z113.promise(footprintLibraryResult))
2414
2443
  ).describe("A function that takes a path and returns Circuit JSON");
2415
- var footprintFileParserEntry = z112.object({
2416
- loadFromUrl: z112.function().args(z112.string()).returns(z112.promise(footprintLibraryResult)).describe(
2444
+ var footprintFileParserEntry = z113.object({
2445
+ loadFromUrl: z113.function().args(z113.string()).returns(z113.promise(footprintLibraryResult)).describe(
2417
2446
  "A function that takes a footprint file URL and returns Circuit JSON"
2418
2447
  )
2419
2448
  });
2420
- var spiceEngineSimulationResult = z112.object({
2421
- engineVersionString: z112.string().optional(),
2449
+ var spiceEngineSimulationResult = z113.object({
2450
+ engineVersionString: z113.string().optional(),
2422
2451
  simulationResultCircuitJson: unvalidatedCircuitJson
2423
2452
  });
2424
- var spiceEngineZod = z112.object({
2425
- simulate: z112.function().args(z112.string()).returns(z112.promise(spiceEngineSimulationResult)).describe(
2453
+ var spiceEngineZod = z113.object({
2454
+ simulate: z113.function().args(z113.string()).returns(z113.promise(spiceEngineSimulationResult)).describe(
2426
2455
  "A function that takes a SPICE string and returns a simulation result"
2427
2456
  )
2428
2457
  });
2429
- var defaultSpiceEngine = z112.custom(
2458
+ var defaultSpiceEngine = z113.custom(
2430
2459
  (value) => typeof value === "string"
2431
2460
  );
2432
- var autorouterInstance = z112.object({
2433
- run: z112.function().args().returns(z112.promise(z112.unknown())).describe("Run the autorouter"),
2434
- getOutputSimpleRouteJson: z112.function().args().returns(z112.promise(z112.any())).describe("Get the resulting SimpleRouteJson")
2461
+ var autorouterInstance = z113.object({
2462
+ run: z113.function().args().returns(z113.promise(z113.unknown())).describe("Run the autorouter"),
2463
+ getOutputSimpleRouteJson: z113.function().args().returns(z113.promise(z113.any())).describe("Get the resulting SimpleRouteJson")
2435
2464
  });
2436
- var autorouterDefinition = z112.object({
2437
- createAutorouter: z112.function().args(z112.any(), z112.any().optional()).returns(z112.union([autorouterInstance, z112.promise(autorouterInstance)])).describe("Create an autorouter instance")
2465
+ var autorouterDefinition = z113.object({
2466
+ createAutorouter: z113.function().args(z113.any(), z113.any().optional()).returns(z113.union([autorouterInstance, z113.promise(autorouterInstance)])).describe("Create an autorouter instance")
2438
2467
  });
2439
- var platformConfig = z112.object({
2468
+ var platformConfig = z113.object({
2440
2469
  partsEngine: partsEngine.optional(),
2441
2470
  autorouter: autorouterProp.optional(),
2442
- autorouterMap: z112.record(z112.string(), autorouterDefinition).optional(),
2443
- registryApiUrl: z112.string().optional(),
2444
- cloudAutorouterUrl: z112.string().optional(),
2445
- projectName: z112.string().optional(),
2446
- projectBaseUrl: z112.string().optional(),
2447
- version: z112.string().optional(),
2448
- url: z112.string().optional(),
2449
- printBoardInformationToSilkscreen: z112.boolean().optional(),
2450
- includeBoardFiles: z112.array(z112.string()).describe(
2471
+ autorouterMap: z113.record(z113.string(), autorouterDefinition).optional(),
2472
+ registryApiUrl: z113.string().optional(),
2473
+ cloudAutorouterUrl: z113.string().optional(),
2474
+ projectName: z113.string().optional(),
2475
+ projectBaseUrl: z113.string().optional(),
2476
+ version: z113.string().optional(),
2477
+ url: z113.string().optional(),
2478
+ printBoardInformationToSilkscreen: z113.boolean().optional(),
2479
+ includeBoardFiles: z113.array(z113.string()).describe(
2451
2480
  'The board files to automatically build with "tsci build", defaults to ["**/*.circuit.tsx"]. Can be an array of files or globs'
2452
2481
  ).optional(),
2453
- snapshotsDir: z112.string().describe(
2482
+ snapshotsDir: z113.string().describe(
2454
2483
  'The directory where snapshots are stored for "tsci snapshot", defaults to "tests/__snapshots__"'
2455
2484
  ).optional(),
2456
2485
  defaultSpiceEngine: defaultSpiceEngine.optional(),
2457
- localCacheEngine: z112.any().optional(),
2458
- pcbDisabled: z112.boolean().optional(),
2459
- schematicDisabled: z112.boolean().optional(),
2460
- partsEngineDisabled: z112.boolean().optional(),
2461
- spiceEngineMap: z112.record(z112.string(), spiceEngineZod).optional(),
2462
- footprintLibraryMap: z112.record(
2463
- z112.string(),
2464
- z112.union([
2486
+ localCacheEngine: z113.any().optional(),
2487
+ pcbDisabled: z113.boolean().optional(),
2488
+ schematicDisabled: z113.boolean().optional(),
2489
+ partsEngineDisabled: z113.boolean().optional(),
2490
+ spiceEngineMap: z113.record(z113.string(), spiceEngineZod).optional(),
2491
+ footprintLibraryMap: z113.record(
2492
+ z113.string(),
2493
+ z113.union([
2465
2494
  pathToCircuitJsonFn,
2466
- z112.record(
2467
- z112.string(),
2468
- z112.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
2495
+ z113.record(
2496
+ z113.string(),
2497
+ z113.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
2469
2498
  )
2470
2499
  ])
2471
2500
  ).optional(),
2472
- footprintFileParserMap: z112.record(z112.string(), footprintFileParserEntry).optional(),
2473
- resolveProjectStaticFileImportUrl: z112.function().args(z112.string()).returns(z112.promise(z112.string())).describe(
2501
+ footprintFileParserMap: z113.record(z113.string(), footprintFileParserEntry).optional(),
2502
+ resolveProjectStaticFileImportUrl: z113.function().args(z113.string()).returns(z113.promise(z113.string())).describe(
2474
2503
  "A function that returns a string URL for static files for the project"
2475
2504
  ).optional()
2476
2505
  });
@@ -2535,6 +2564,9 @@ export {
2535
2564
  courtyardRectProps,
2536
2565
  crystalPins,
2537
2566
  crystalProps,
2567
+ currentSourcePinLabels,
2568
+ currentSourcePins,
2569
+ currentSourceProps,
2538
2570
  cutoutProps,
2539
2571
  diodePins,
2540
2572
  diodeProps,