@tscircuit/props 0.0.448 → 0.0.450
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 +75130 -19574
- package/dist/index.js +1065 -1009
- package/dist/index.js.map +1 -1
- package/lib/common/kicadSymbolMetadata.ts +115 -0
- package/lib/common/layout.ts +8 -0
- package/lib/index.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { distance } from "circuit-json"
|
|
2
|
+
import { expectTypesMatch } from "lib/typecheck"
|
|
3
|
+
import { z } from "zod"
|
|
4
|
+
import {
|
|
5
|
+
kicadAt,
|
|
6
|
+
kicadFont,
|
|
7
|
+
type KicadAt,
|
|
8
|
+
type KicadFont,
|
|
9
|
+
} from "./kicadFootprintMetadata"
|
|
10
|
+
|
|
11
|
+
export interface KicadSymbolPinNumbers {
|
|
12
|
+
hide?: boolean
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const kicadSymbolPinNumbers = z.object({
|
|
16
|
+
hide: z.boolean().optional(),
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
type InferredKicadSymbolPinNumbers = z.input<typeof kicadSymbolPinNumbers>
|
|
20
|
+
expectTypesMatch<KicadSymbolPinNumbers, InferredKicadSymbolPinNumbers>(true)
|
|
21
|
+
|
|
22
|
+
export interface KicadSymbolPinNames {
|
|
23
|
+
offset?: number | string
|
|
24
|
+
hide?: boolean
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const kicadSymbolPinNames = z.object({
|
|
28
|
+
offset: distance.optional(),
|
|
29
|
+
hide: z.boolean().optional(),
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
type InferredKicadSymbolPinNames = z.input<typeof kicadSymbolPinNames>
|
|
33
|
+
expectTypesMatch<KicadSymbolPinNames, InferredKicadSymbolPinNames>(true)
|
|
34
|
+
|
|
35
|
+
export interface KicadSymbolEffects {
|
|
36
|
+
font?: KicadFont
|
|
37
|
+
justify?: string | string[]
|
|
38
|
+
hide?: boolean
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export const kicadSymbolEffects = z.object({
|
|
42
|
+
font: kicadFont.optional(),
|
|
43
|
+
justify: z.union([z.string(), z.array(z.string())]).optional(),
|
|
44
|
+
hide: z.boolean().optional(),
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
type InferredKicadSymbolEffects = z.input<typeof kicadSymbolEffects>
|
|
48
|
+
expectTypesMatch<KicadSymbolEffects, InferredKicadSymbolEffects>(true)
|
|
49
|
+
|
|
50
|
+
export interface KicadSymbolProperty {
|
|
51
|
+
value: string
|
|
52
|
+
id?: number | string
|
|
53
|
+
at?: KicadAt
|
|
54
|
+
effects?: KicadSymbolEffects
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const kicadSymbolProperty = z.object({
|
|
58
|
+
value: z.string(),
|
|
59
|
+
id: z.union([z.number(), z.string()]).optional(),
|
|
60
|
+
at: kicadAt.optional(),
|
|
61
|
+
effects: kicadSymbolEffects.optional(),
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
type InferredKicadSymbolProperty = z.input<typeof kicadSymbolProperty>
|
|
65
|
+
expectTypesMatch<KicadSymbolProperty, InferredKicadSymbolProperty>(true)
|
|
66
|
+
|
|
67
|
+
export interface KicadSymbolProperties {
|
|
68
|
+
Reference?: KicadSymbolProperty
|
|
69
|
+
Value?: KicadSymbolProperty
|
|
70
|
+
Footprint?: KicadSymbolProperty
|
|
71
|
+
Datasheet?: KicadSymbolProperty
|
|
72
|
+
Description?: KicadSymbolProperty
|
|
73
|
+
ki_keywords?: KicadSymbolProperty
|
|
74
|
+
ki_fp_filters?: KicadSymbolProperty
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export const kicadSymbolProperties = z.object({
|
|
78
|
+
Reference: kicadSymbolProperty.optional(),
|
|
79
|
+
Value: kicadSymbolProperty.optional(),
|
|
80
|
+
Footprint: kicadSymbolProperty.optional(),
|
|
81
|
+
Datasheet: kicadSymbolProperty.optional(),
|
|
82
|
+
Description: kicadSymbolProperty.optional(),
|
|
83
|
+
ki_keywords: kicadSymbolProperty.optional(),
|
|
84
|
+
ki_fp_filters: kicadSymbolProperty.optional(),
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
type InferredKicadSymbolProperties = z.input<typeof kicadSymbolProperties>
|
|
88
|
+
expectTypesMatch<KicadSymbolProperties, InferredKicadSymbolProperties>(true)
|
|
89
|
+
|
|
90
|
+
export interface KicadSymbolMetadata {
|
|
91
|
+
symbolName?: string
|
|
92
|
+
extends?: string
|
|
93
|
+
pinNumbers?: KicadSymbolPinNumbers
|
|
94
|
+
pinNames?: KicadSymbolPinNames
|
|
95
|
+
excludeFromSim?: boolean
|
|
96
|
+
inBom?: boolean
|
|
97
|
+
onBoard?: boolean
|
|
98
|
+
properties?: KicadSymbolProperties
|
|
99
|
+
embeddedFonts?: boolean
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export const kicadSymbolMetadata = z.object({
|
|
103
|
+
symbolName: z.string().optional(),
|
|
104
|
+
extends: z.string().optional(),
|
|
105
|
+
pinNumbers: kicadSymbolPinNumbers.optional(),
|
|
106
|
+
pinNames: kicadSymbolPinNames.optional(),
|
|
107
|
+
excludeFromSim: z.boolean().optional(),
|
|
108
|
+
inBom: z.boolean().optional(),
|
|
109
|
+
onBoard: z.boolean().optional(),
|
|
110
|
+
properties: kicadSymbolProperties.optional(),
|
|
111
|
+
embeddedFonts: z.boolean().optional(),
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
type InferredKicadSymbolMetadata = z.input<typeof kicadSymbolMetadata>
|
|
115
|
+
expectTypesMatch<KicadSymbolMetadata, InferredKicadSymbolMetadata>(true)
|
package/lib/common/layout.ts
CHANGED
|
@@ -14,6 +14,10 @@ import {
|
|
|
14
14
|
type KicadFootprintMetadata,
|
|
15
15
|
kicadFootprintMetadata,
|
|
16
16
|
} from "./kicadFootprintMetadata"
|
|
17
|
+
import {
|
|
18
|
+
type KicadSymbolMetadata,
|
|
19
|
+
kicadSymbolMetadata,
|
|
20
|
+
} from "./kicadSymbolMetadata"
|
|
17
21
|
import { pcbStyle, type PcbStyle } from "./pcbStyle"
|
|
18
22
|
import { schStyle, type SchStyle } from "./schStyle"
|
|
19
23
|
import { type SymbolProp, symbolProp } from "./symbolProp"
|
|
@@ -253,6 +257,7 @@ export interface CommonComponentProps<PinLabel extends string = string>
|
|
|
253
257
|
supplierPartNumbers?: SupplierPartNumbers
|
|
254
258
|
cadModel?: CadModelProp
|
|
255
259
|
kicadFootprintMetadata?: KicadFootprintMetadata
|
|
260
|
+
kicadSymbolMetadata?: KicadSymbolMetadata
|
|
256
261
|
children?: any
|
|
257
262
|
symbolName?: string
|
|
258
263
|
doNotPlace?: boolean
|
|
@@ -266,6 +271,7 @@ export interface CommonComponentProps<PinLabel extends string = string>
|
|
|
266
271
|
* Whether to show this component's CAD model as translucent in the 3D viewer.
|
|
267
272
|
*/
|
|
268
273
|
showAsTranslucentModel?: boolean
|
|
274
|
+
mfn?: string
|
|
269
275
|
}
|
|
270
276
|
|
|
271
277
|
export const commonComponentProps = commonLayoutProps
|
|
@@ -277,6 +283,7 @@ export const commonComponentProps = commonLayoutProps
|
|
|
277
283
|
datasheetUrl: z.string().optional(),
|
|
278
284
|
cadModel: cadModelProp.optional(),
|
|
279
285
|
kicadFootprintMetadata: kicadFootprintMetadata.optional(),
|
|
286
|
+
kicadSymbolMetadata: kicadSymbolMetadata.optional(),
|
|
280
287
|
children: z.any().optional(),
|
|
281
288
|
symbolName: z.string().optional(),
|
|
282
289
|
doNotPlace: z.boolean().optional(),
|
|
@@ -293,6 +300,7 @@ export const commonComponentProps = commonLayoutProps
|
|
|
293
300
|
"Whether to show this component's CAD model as translucent in the 3D viewer.",
|
|
294
301
|
),
|
|
295
302
|
pinAttributes: z.record(z.string(), pinAttributeMap).optional(),
|
|
303
|
+
mfn: z.string().describe("Manufacturer Part Number").optional(),
|
|
296
304
|
})
|
|
297
305
|
|
|
298
306
|
type InferredCommonComponentProps = z.input<typeof commonComponentProps>
|
package/lib/index.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./common/cadModel"
|
|
|
15
15
|
export * from "./common/schematicPinLabel"
|
|
16
16
|
export * from "./common/schematicSize"
|
|
17
17
|
export * from "./common/kicadFootprintMetadata"
|
|
18
|
+
export * from "./common/kicadSymbolMetadata"
|
|
18
19
|
|
|
19
20
|
export * from "./components/board"
|
|
20
21
|
export * from "./components/panel"
|