@tscircuit/props 0.0.607 → 0.0.609
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 +7 -0
- package/dist/index.d.ts +345 -2
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/lib/components/smtpad.ts +33 -0
- package/lib/platformConfig.ts +8 -0
- package/package.json +1 -1
package/lib/components/smtpad.ts
CHANGED
|
@@ -66,6 +66,20 @@ export interface PillSmtPadProps extends Omit<PcbLayoutProps, "pcbRotation"> {
|
|
|
66
66
|
solderPasteMargin?: Distance
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
export interface RotatedPillSmtPadProps
|
|
70
|
+
extends Omit<PcbLayoutProps, "pcbRotation"> {
|
|
71
|
+
name?: string
|
|
72
|
+
shape: "rotated_pill"
|
|
73
|
+
width: Distance
|
|
74
|
+
height: Distance
|
|
75
|
+
radius: Distance
|
|
76
|
+
ccwRotation: number
|
|
77
|
+
portHints?: PortHints
|
|
78
|
+
coveredWithSolderMask?: boolean
|
|
79
|
+
solderMaskMargin?: Distance
|
|
80
|
+
solderPasteMargin?: Distance
|
|
81
|
+
}
|
|
82
|
+
|
|
69
83
|
export interface PolygonSmtPadProps
|
|
70
84
|
extends Omit<PcbLayoutProps, "pcbRotation"> {
|
|
71
85
|
name?: string
|
|
@@ -82,6 +96,7 @@ export type SmtPadProps =
|
|
|
82
96
|
| CircleSmtPadProps
|
|
83
97
|
| RotatedRectSmtPadProps
|
|
84
98
|
| PillSmtPadProps
|
|
99
|
+
| RotatedPillSmtPadProps
|
|
85
100
|
| PolygonSmtPadProps
|
|
86
101
|
|
|
87
102
|
// ----------------------------------------------------------------------------
|
|
@@ -160,6 +175,23 @@ export const pillSmtPadProps = pcbLayoutProps
|
|
|
160
175
|
type InferredPillSmtPadProps = z.input<typeof pillSmtPadProps>
|
|
161
176
|
expectTypesMatch<InferredPillSmtPadProps, PillSmtPadProps>(true)
|
|
162
177
|
|
|
178
|
+
export const rotatedPillSmtPadProps = pcbLayoutProps
|
|
179
|
+
.omit({ pcbRotation: true })
|
|
180
|
+
.extend({
|
|
181
|
+
name: z.string().optional(),
|
|
182
|
+
shape: z.literal("rotated_pill"),
|
|
183
|
+
width: distance,
|
|
184
|
+
height: distance,
|
|
185
|
+
radius: distance,
|
|
186
|
+
ccwRotation: z.number(),
|
|
187
|
+
portHints: portHints.optional(),
|
|
188
|
+
coveredWithSolderMask: z.boolean().optional(),
|
|
189
|
+
solderMaskMargin: distance.optional(),
|
|
190
|
+
solderPasteMargin: distance.optional(),
|
|
191
|
+
})
|
|
192
|
+
type InferredRotatedPillSmtPadProps = z.input<typeof rotatedPillSmtPadProps>
|
|
193
|
+
expectTypesMatch<InferredRotatedPillSmtPadProps, RotatedPillSmtPadProps>(true)
|
|
194
|
+
|
|
163
195
|
export const polygonSmtPadProps = pcbLayoutProps
|
|
164
196
|
.omit({ pcbRotation: true })
|
|
165
197
|
.extend({
|
|
@@ -179,6 +211,7 @@ export const smtPadProps = z.discriminatedUnion("shape", [
|
|
|
179
211
|
rectSmtPadProps,
|
|
180
212
|
rotatedRectSmtPadProps,
|
|
181
213
|
pillSmtPadProps,
|
|
214
|
+
rotatedPillSmtPadProps,
|
|
182
215
|
polygonSmtPadProps,
|
|
183
216
|
])
|
|
184
217
|
|
package/lib/platformConfig.ts
CHANGED
|
@@ -65,6 +65,13 @@ export interface PlatformConfig {
|
|
|
65
65
|
|
|
66
66
|
autorouterMap?: Record<string, AutorouterDefinition>
|
|
67
67
|
|
|
68
|
+
/**
|
|
69
|
+
* Allows the deprecated sequential_trace and auto_cloud autorouter presets.
|
|
70
|
+
* Defaults to false because these presets are otherwise disabled.
|
|
71
|
+
* Platforms should only enable this temporarily while migrating projects.
|
|
72
|
+
*/
|
|
73
|
+
allowLegacyAutorouters?: boolean
|
|
74
|
+
|
|
68
75
|
// TODO this follows a subset of the localStorage interface
|
|
69
76
|
localCacheEngine?: any
|
|
70
77
|
|
|
@@ -202,6 +209,7 @@ export const platformConfig = z.object({
|
|
|
202
209
|
partsEngine: partsEngine.optional(),
|
|
203
210
|
autorouter: autorouterProp.optional(),
|
|
204
211
|
autorouterMap: z.record(z.string(), autorouterDefinition).optional(),
|
|
212
|
+
allowLegacyAutorouters: z.boolean().optional(),
|
|
205
213
|
registryApiUrl: url.optional(),
|
|
206
214
|
cloudAutorouterUrl: url.optional(),
|
|
207
215
|
projectName: z.string().optional(),
|