@tscircuit/props 0.0.1
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/README.md +30 -0
- package/dist/index.d.ts +1565 -0
- package/dist/index.js +324 -0
- package/dist/index.js.map +1 -0
- package/package.json +32 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// lib/index.ts
|
|
21
|
+
var lib_exports = {};
|
|
22
|
+
__export(lib_exports, {
|
|
23
|
+
boardProps: () => boardProps,
|
|
24
|
+
bugProps: () => bugProps,
|
|
25
|
+
capacitorPins: () => capacitorPins,
|
|
26
|
+
capacitorProps: () => capacitorProps,
|
|
27
|
+
commonComponentProps: () => commonComponentProps,
|
|
28
|
+
commonLayoutProps: () => commonLayoutProps,
|
|
29
|
+
componentProps: () => componentProps,
|
|
30
|
+
constrainedLayoutProps: () => constrainedLayoutProps,
|
|
31
|
+
constraintProps: () => constraintProps,
|
|
32
|
+
diodePins: () => diodePins,
|
|
33
|
+
diodeProps: () => diodeProps,
|
|
34
|
+
direction: () => direction,
|
|
35
|
+
explicitPinSideDefinition: () => explicitPinSideDefinition,
|
|
36
|
+
footprintProps: () => footprintProps,
|
|
37
|
+
groupProps: () => groupProps,
|
|
38
|
+
holeProps: () => holeProps,
|
|
39
|
+
inductorPins: () => inductorPins,
|
|
40
|
+
inductorProps: () => inductorProps,
|
|
41
|
+
ledPins: () => ledPins,
|
|
42
|
+
ledProps: () => ledProps,
|
|
43
|
+
lrPins: () => lrPins,
|
|
44
|
+
lrPolarPins: () => lrPolarPins,
|
|
45
|
+
netAliasProps: () => netAliasProps,
|
|
46
|
+
pcbLayoutProps: () => pcbLayoutProps,
|
|
47
|
+
platedHoleProps: () => platedHoleProps,
|
|
48
|
+
portProps: () => portProps,
|
|
49
|
+
powerSourceProps: () => powerSourceProps,
|
|
50
|
+
relativeDirection: () => relativeDirection,
|
|
51
|
+
resistorPins: () => resistorPins,
|
|
52
|
+
resistorProps: () => resistorProps,
|
|
53
|
+
schematicBoxProps: () => schematicBoxProps,
|
|
54
|
+
schematicLineProps: () => schematicLineProps,
|
|
55
|
+
schematicPathProps: () => schematicPathProps,
|
|
56
|
+
schematicTextProps: () => schematicTextProps,
|
|
57
|
+
silkscreenLineProps: () => silkscreenLineProps,
|
|
58
|
+
silkscreenPathProps: () => silkscreenPathProps,
|
|
59
|
+
silkscreenTextProps: () => silkscreenTextProps,
|
|
60
|
+
smtPadProps: () => smtPadProps,
|
|
61
|
+
supplierProps: () => supplierProps,
|
|
62
|
+
traceHintProps: () => traceHintProps,
|
|
63
|
+
traceProps: () => traceProps,
|
|
64
|
+
viaProps: () => viaProps
|
|
65
|
+
});
|
|
66
|
+
module.exports = __toCommonJS(lib_exports);
|
|
67
|
+
var import_zod = require("zod");
|
|
68
|
+
var import_soup = require("@tscircuit/soup");
|
|
69
|
+
var direction = import_zod.z.enum(["up", "down", "left", "right"]);
|
|
70
|
+
var relativeDirection = import_zod.z.enum([
|
|
71
|
+
"top-to-bottom",
|
|
72
|
+
"left-to-right",
|
|
73
|
+
"bottom-to-top",
|
|
74
|
+
"right-to-left"
|
|
75
|
+
]);
|
|
76
|
+
var explicitPinSideDefinition = import_zod.z.object({
|
|
77
|
+
pins: import_zod.z.array(import_zod.z.number()),
|
|
78
|
+
direction: import_zod.z.union([
|
|
79
|
+
import_zod.z.literal("top-to-bottom"),
|
|
80
|
+
import_zod.z.literal("left-to-right"),
|
|
81
|
+
import_zod.z.literal("bottom-to-top"),
|
|
82
|
+
import_zod.z.literal("right-to-left")
|
|
83
|
+
])
|
|
84
|
+
});
|
|
85
|
+
var pcbLayoutProps = import_zod.z.object({
|
|
86
|
+
pcbX: import_soup.distance,
|
|
87
|
+
pcbY: import_soup.distance,
|
|
88
|
+
pcbRotation: import_soup.rotation.optional(),
|
|
89
|
+
layer: import_soup.layer_ref.optional()
|
|
90
|
+
});
|
|
91
|
+
var commonLayoutProps = import_zod.z.object({
|
|
92
|
+
pcbX: import_soup.distance.optional(),
|
|
93
|
+
pcbY: import_soup.distance.optional(),
|
|
94
|
+
pcbRotation: import_soup.rotation.optional(),
|
|
95
|
+
schX: import_soup.distance.optional(),
|
|
96
|
+
schY: import_soup.distance.optional(),
|
|
97
|
+
schRotation: import_soup.rotation.optional(),
|
|
98
|
+
layer: import_soup.layer_ref.optional(),
|
|
99
|
+
// TODO pull in literals from @tscircuit/footprint
|
|
100
|
+
// TODO footprint can be a string or react child
|
|
101
|
+
footprint: import_zod.z.custom((v) => true).optional()
|
|
102
|
+
});
|
|
103
|
+
var supplierProps = import_zod.z.object({
|
|
104
|
+
supplierPartNumbers: import_zod.z.record(import_soup.supplier_name, import_zod.z.array(import_zod.z.string())).optional()
|
|
105
|
+
});
|
|
106
|
+
var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
|
|
107
|
+
name: import_zod.z.string(),
|
|
108
|
+
children: import_zod.z.any().optional()
|
|
109
|
+
});
|
|
110
|
+
var lrPins = ["pin1", "left", "pin2", "right"];
|
|
111
|
+
var lrPolarPins = [
|
|
112
|
+
"pin1",
|
|
113
|
+
"left",
|
|
114
|
+
"anode",
|
|
115
|
+
"pos",
|
|
116
|
+
"pin2",
|
|
117
|
+
"right",
|
|
118
|
+
"cathode",
|
|
119
|
+
"neg"
|
|
120
|
+
];
|
|
121
|
+
var resistorProps = commonComponentProps.extend({
|
|
122
|
+
resistance: import_soup.resistance
|
|
123
|
+
});
|
|
124
|
+
var resistorPins = lrPins;
|
|
125
|
+
var capacitorProps = commonComponentProps.extend({
|
|
126
|
+
capacitance: import_soup.capacitance
|
|
127
|
+
});
|
|
128
|
+
var capacitorPins = lrPolarPins;
|
|
129
|
+
var inductorProps = commonComponentProps.extend({
|
|
130
|
+
inductance: import_soup.inductance
|
|
131
|
+
});
|
|
132
|
+
var inductorPins = lrPins;
|
|
133
|
+
var diodeProps = commonComponentProps.extend({});
|
|
134
|
+
var diodePins = lrPolarPins;
|
|
135
|
+
var ledProps = commonComponentProps.extend({
|
|
136
|
+
color: import_zod.z.string().optional()
|
|
137
|
+
});
|
|
138
|
+
var ledPins = lrPolarPins;
|
|
139
|
+
var boardProps = import_zod.z.object({
|
|
140
|
+
width: import_soup.distance,
|
|
141
|
+
height: import_soup.distance,
|
|
142
|
+
pcbCenterX: import_soup.distance.optional().default(0),
|
|
143
|
+
pcbCenterY: import_soup.distance.optional().default(0),
|
|
144
|
+
layout: import_zod.z.any().optional(),
|
|
145
|
+
children: import_zod.z.any()
|
|
146
|
+
});
|
|
147
|
+
var bugProps = commonComponentProps.extend({
|
|
148
|
+
pinLabels: import_zod.z.record(import_zod.z.number(), import_zod.z.string()),
|
|
149
|
+
schPortArrangement: import_zod.z.object({
|
|
150
|
+
leftSize: import_zod.z.number().optional(),
|
|
151
|
+
topSize: import_zod.z.number().optional(),
|
|
152
|
+
rightSize: import_zod.z.number().optional(),
|
|
153
|
+
bottomSize: import_zod.z.number().optional()
|
|
154
|
+
}).or(
|
|
155
|
+
import_zod.z.object({
|
|
156
|
+
leftSide: explicitPinSideDefinition.optional(),
|
|
157
|
+
rightSide: explicitPinSideDefinition.optional(),
|
|
158
|
+
topSide: explicitPinSideDefinition.optional(),
|
|
159
|
+
bottomSide: explicitPinSideDefinition.optional()
|
|
160
|
+
})
|
|
161
|
+
)
|
|
162
|
+
});
|
|
163
|
+
var viaProps = commonLayoutProps.extend({
|
|
164
|
+
fromLayer: import_soup.layer_ref,
|
|
165
|
+
toLayer: import_soup.layer_ref,
|
|
166
|
+
holeDiameter: import_soup.distance,
|
|
167
|
+
outerDiameter: import_soup.distance
|
|
168
|
+
});
|
|
169
|
+
var netAliasProps = commonLayoutProps.extend({
|
|
170
|
+
net: import_zod.z.string().optional()
|
|
171
|
+
});
|
|
172
|
+
var traceProps = import_zod.z.object({
|
|
173
|
+
path: import_zod.z.array(import_zod.z.string()),
|
|
174
|
+
thickness: import_soup.distance.optional(),
|
|
175
|
+
schematicRouteHints: import_zod.z.array(import_soup.point).optional(),
|
|
176
|
+
pcbRouteHints: import_zod.z.array(import_soup.route_hint_point).optional()
|
|
177
|
+
}).or(
|
|
178
|
+
import_zod.z.object({
|
|
179
|
+
from: import_zod.z.string(),
|
|
180
|
+
to: import_zod.z.string(),
|
|
181
|
+
thickness: import_soup.distance.optional(),
|
|
182
|
+
schematicRouteHints: import_zod.z.array(import_soup.point).optional(),
|
|
183
|
+
pcbRouteHints: import_zod.z.array(import_soup.route_hint_point).optional()
|
|
184
|
+
})
|
|
185
|
+
);
|
|
186
|
+
var smtPadProps = import_zod.z.union([
|
|
187
|
+
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
188
|
+
shape: import_zod.z.literal("circle"),
|
|
189
|
+
radius: import_soup.distance.optional(),
|
|
190
|
+
portHints: import_zod.z.array(import_zod.z.string()).optional()
|
|
191
|
+
}),
|
|
192
|
+
pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
193
|
+
shape: import_zod.z.literal("rect"),
|
|
194
|
+
width: import_soup.distance.optional(),
|
|
195
|
+
height: import_soup.distance.optional(),
|
|
196
|
+
portHints: import_zod.z.array(import_zod.z.string()).optional()
|
|
197
|
+
})
|
|
198
|
+
]);
|
|
199
|
+
var platedHoleProps = pcbLayoutProps.omit({ pcbRotation: true, layer: true }).extend({
|
|
200
|
+
holeDiameter: import_soup.distance,
|
|
201
|
+
outerDiameter: import_soup.distance
|
|
202
|
+
});
|
|
203
|
+
var holeProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
204
|
+
holeDiameter: import_soup.distance
|
|
205
|
+
});
|
|
206
|
+
var schematicBoxProps = import_zod.z.object({
|
|
207
|
+
schX: import_soup.distance,
|
|
208
|
+
schY: import_soup.distance,
|
|
209
|
+
width: import_soup.distance,
|
|
210
|
+
height: import_soup.distance
|
|
211
|
+
});
|
|
212
|
+
var schematicTextProps = import_zod.z.object({
|
|
213
|
+
schX: import_soup.distance,
|
|
214
|
+
schY: import_soup.distance,
|
|
215
|
+
text: import_zod.z.string()
|
|
216
|
+
});
|
|
217
|
+
var schematicLineProps = import_zod.z.object({
|
|
218
|
+
x1: import_soup.distance,
|
|
219
|
+
y1: import_soup.distance,
|
|
220
|
+
x2: import_soup.distance,
|
|
221
|
+
y2: import_soup.distance
|
|
222
|
+
});
|
|
223
|
+
var schematicPathProps = import_zod.z.object({
|
|
224
|
+
points: import_zod.z.array(import_soup.point),
|
|
225
|
+
isFilled: import_zod.z.boolean().optional().default(false),
|
|
226
|
+
fillColor: import_zod.z.enum(["red", "blue"]).optional()
|
|
227
|
+
});
|
|
228
|
+
var constraintProps = import_zod.z.union([
|
|
229
|
+
import_zod.z.object({
|
|
230
|
+
type: import_zod.z.literal("xdist"),
|
|
231
|
+
dist: import_soup.distance,
|
|
232
|
+
left: import_zod.z.string(),
|
|
233
|
+
right: import_zod.z.string()
|
|
234
|
+
}),
|
|
235
|
+
import_zod.z.object({
|
|
236
|
+
type: import_zod.z.literal("ydist"),
|
|
237
|
+
dist: import_soup.distance,
|
|
238
|
+
top: import_zod.z.string(),
|
|
239
|
+
bottom: import_zod.z.string()
|
|
240
|
+
})
|
|
241
|
+
]);
|
|
242
|
+
var constrainedLayoutProps = import_zod.z.object({});
|
|
243
|
+
var footprintProps = import_zod.z.object({});
|
|
244
|
+
var componentProps = commonComponentProps;
|
|
245
|
+
var groupProps = commonLayoutProps.extend({
|
|
246
|
+
name: import_zod.z.string().optional(),
|
|
247
|
+
layout: import_zod.z.custom((v) => true).optional(),
|
|
248
|
+
children: import_zod.z.any().optional()
|
|
249
|
+
});
|
|
250
|
+
var powerSourceProps = commonComponentProps.extend({
|
|
251
|
+
voltage: import_soup.voltage
|
|
252
|
+
});
|
|
253
|
+
var portProps = commonLayoutProps.extend({
|
|
254
|
+
name: import_zod.z.string(),
|
|
255
|
+
pinNumber: import_zod.z.number().optional(),
|
|
256
|
+
aliases: import_zod.z.array(import_zod.z.string()).optional(),
|
|
257
|
+
direction
|
|
258
|
+
});
|
|
259
|
+
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
260
|
+
text: import_zod.z.string(),
|
|
261
|
+
font: import_zod.z.enum(["tscircuit2024"]).optional()
|
|
262
|
+
});
|
|
263
|
+
var silkscreenPathProps = pcbLayoutProps.extend({
|
|
264
|
+
route: import_zod.z.array(import_soup.route_hint_point)
|
|
265
|
+
});
|
|
266
|
+
var silkscreenLineProps = pcbLayoutProps.extend({
|
|
267
|
+
strokeWidth: import_soup.distance,
|
|
268
|
+
x1: import_soup.distance,
|
|
269
|
+
y1: import_soup.distance,
|
|
270
|
+
x2: import_soup.distance,
|
|
271
|
+
y2: import_soup.distance
|
|
272
|
+
});
|
|
273
|
+
var traceHintProps = import_zod.z.object({
|
|
274
|
+
for: import_zod.z.string(),
|
|
275
|
+
order: import_zod.z.number().optional(),
|
|
276
|
+
offset: import_soup.route_hint_point.optional(),
|
|
277
|
+
offsets: import_zod.z.array(import_soup.route_hint_point).optional()
|
|
278
|
+
});
|
|
279
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
280
|
+
0 && (module.exports = {
|
|
281
|
+
boardProps,
|
|
282
|
+
bugProps,
|
|
283
|
+
capacitorPins,
|
|
284
|
+
capacitorProps,
|
|
285
|
+
commonComponentProps,
|
|
286
|
+
commonLayoutProps,
|
|
287
|
+
componentProps,
|
|
288
|
+
constrainedLayoutProps,
|
|
289
|
+
constraintProps,
|
|
290
|
+
diodePins,
|
|
291
|
+
diodeProps,
|
|
292
|
+
direction,
|
|
293
|
+
explicitPinSideDefinition,
|
|
294
|
+
footprintProps,
|
|
295
|
+
groupProps,
|
|
296
|
+
holeProps,
|
|
297
|
+
inductorPins,
|
|
298
|
+
inductorProps,
|
|
299
|
+
ledPins,
|
|
300
|
+
ledProps,
|
|
301
|
+
lrPins,
|
|
302
|
+
lrPolarPins,
|
|
303
|
+
netAliasProps,
|
|
304
|
+
pcbLayoutProps,
|
|
305
|
+
platedHoleProps,
|
|
306
|
+
portProps,
|
|
307
|
+
powerSourceProps,
|
|
308
|
+
relativeDirection,
|
|
309
|
+
resistorPins,
|
|
310
|
+
resistorProps,
|
|
311
|
+
schematicBoxProps,
|
|
312
|
+
schematicLineProps,
|
|
313
|
+
schematicPathProps,
|
|
314
|
+
schematicTextProps,
|
|
315
|
+
silkscreenLineProps,
|
|
316
|
+
silkscreenPathProps,
|
|
317
|
+
silkscreenTextProps,
|
|
318
|
+
smtPadProps,
|
|
319
|
+
supplierProps,
|
|
320
|
+
traceHintProps,
|
|
321
|
+
traceProps,
|
|
322
|
+
viaProps
|
|
323
|
+
});
|
|
324
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../lib/index.ts"],"sourcesContent":["import { z } from \"zod\"\nimport {\n distance,\n rotation,\n layer_ref,\n supplier_name,\n resistance,\n capacitance,\n inductance,\n point,\n voltage,\n route_hint_point,\n} from \"@tscircuit/soup\"\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { LayoutBuilder } from \"@tscircuit/layout\"\n\nexport const direction = z.enum([\"up\", \"down\", \"left\", \"right\"])\n\nexport const relativeDirection = z.enum([\n \"top-to-bottom\",\n \"left-to-right\",\n \"bottom-to-top\",\n \"right-to-left\",\n])\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 type Footprint = string | ReactElement\nexport const pcbLayoutProps = z.object({\n pcbX: distance,\n pcbY: distance,\n pcbRotation: rotation.optional(),\n layer: layer_ref.optional(),\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\n // TODO pull in literals from @tscircuit/footprint\n // TODO footprint can be a string or react child\n footprint: z.custom<Footprint>((v) => true).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 children: z.any().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 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 boardProps = z.object({\n width: distance,\n height: distance,\n pcbCenterX: distance.optional().default(0),\n pcbCenterY: distance.optional().default(0),\n layout: z.any().optional(),\n children: z.any(),\n})\nexport type BoardProps = z.input<typeof boardProps>\n\nexport const bugProps = commonComponentProps.extend({\n pinLabels: z.record(z.number(), z.string()),\n schPortArrangement: z\n .object({\n leftSize: z.number().optional(),\n topSize: z.number().optional(),\n rightSize: z.number().optional(),\n bottomSize: z.number().optional(),\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})\nexport type BugProps = z.input<typeof bugProps>\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 traceProps = z\n .object({\n path: z.array(z.string()),\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: z.string(),\n to: z.string(),\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: z.array(z.string()).optional(),\n }),\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"rect\"),\n width: distance.optional(),\n height: distance.optional(),\n portHints: z.array(z.string()).optional(),\n }),\n])\nexport type SmtPadProps = z.input<typeof smtPadProps>\n\nexport const platedHoleProps = pcbLayoutProps\n .omit({ pcbRotation: true, layer: true })\n .extend({\n holeDiameter: distance,\n outerDiameter: distance,\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})\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 font: z.enum([\"tscircuit2024\"]).optional(),\n})\nexport type SilkscreenTextProps = z.input<typeof silkscreenTextProps>\n\nexport const silkscreenPathProps = pcbLayoutProps.extend({\n route: z.array(route_hint_point),\n})\nexport type SilkscreenPathProps = z.input<typeof silkscreenPathProps>\n\nexport const silkscreenLineProps = pcbLayoutProps.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 traceHintProps = z.object({\n for: z.string(),\n order: z.number().optional(),\n offset: route_hint_point.optional(),\n offsets: z.array(route_hint_point).optional(),\n})\n\nexport type TraceHintProps = z.input<typeof traceHintProps>\n"],"mappings":"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","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tscircuit/props",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Props for tscircuit builtin component types",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "tsup lib/index.ts --dts --sourcemap"
|
|
8
|
+
},
|
|
9
|
+
"keywords": [],
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"author": "",
|
|
14
|
+
"license": "ISC",
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"@tscircuit/layout": "^0.0.11",
|
|
17
|
+
"@tscircuit/soup": "^0.0.17",
|
|
18
|
+
"@types/node": "^20.12.11",
|
|
19
|
+
"ava": "^6.1.3",
|
|
20
|
+
"react": "^18.3.1",
|
|
21
|
+
"tsup": "^8.0.2",
|
|
22
|
+
"tsx": "^4.10.2",
|
|
23
|
+
"typescript": "^5.4.5",
|
|
24
|
+
"zod": "^3.23.8"
|
|
25
|
+
},
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"@tscircuit/layout": "*",
|
|
28
|
+
"@tscircuit/soup": "*",
|
|
29
|
+
"react": "*",
|
|
30
|
+
"zod": "*"
|
|
31
|
+
}
|
|
32
|
+
}
|