@tscircuit/core 0.0.365 → 0.0.366
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 +120 -16
- package/dist/index.js +19 -5
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -5596,7 +5596,7 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
|
|
|
5596
5596
|
isPcbPrimitive: boolean;
|
|
5597
5597
|
get config(): {
|
|
5598
5598
|
componentName: string;
|
|
5599
|
-
zodProps: zod.ZodUnion<[zod.ZodObject<zod.objectUtil.extendShape<Omit<{
|
|
5599
|
+
zodProps: zod.ZodEffects<zod.ZodUnion<[zod.ZodObject<zod.objectUtil.extendShape<Omit<{
|
|
5600
5600
|
pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
5601
5601
|
pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
5602
5602
|
pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
@@ -5649,19 +5649,23 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
|
|
|
5649
5649
|
shape: zod.ZodLiteral<"oval">;
|
|
5650
5650
|
outerWidth: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
5651
5651
|
outerHeight: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
5652
|
-
holeWidth: zod.ZodEffects<zod.
|
|
5653
|
-
holeHeight: zod.ZodEffects<zod.
|
|
5652
|
+
holeWidth: zod.ZodEffects<zod.ZodType<string | number, zod.ZodTypeDef, string | number>, number | undefined, string | number>;
|
|
5653
|
+
holeHeight: zod.ZodEffects<zod.ZodType<string | number, zod.ZodTypeDef, string | number>, number | undefined, string | number>;
|
|
5654
|
+
innerWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
5655
|
+
innerHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
5654
5656
|
portHints: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, "many">>;
|
|
5655
5657
|
}>, "strip", zod.ZodTypeAny, {
|
|
5656
5658
|
shape: "oval";
|
|
5657
5659
|
outerWidth: number;
|
|
5658
5660
|
outerHeight: number;
|
|
5659
|
-
holeWidth: number;
|
|
5660
|
-
holeHeight: number;
|
|
5661
5661
|
pcbX?: number | undefined;
|
|
5662
5662
|
pcbY?: number | undefined;
|
|
5663
5663
|
name?: string | undefined;
|
|
5664
5664
|
portHints?: (string | number)[] | undefined;
|
|
5665
|
+
holeWidth?: number | undefined;
|
|
5666
|
+
holeHeight?: number | undefined;
|
|
5667
|
+
innerWidth?: number | undefined;
|
|
5668
|
+
innerHeight?: number | undefined;
|
|
5665
5669
|
}, {
|
|
5666
5670
|
shape: "oval";
|
|
5667
5671
|
outerWidth: string | number;
|
|
@@ -5672,6 +5676,8 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
|
|
|
5672
5676
|
pcbY?: string | number | undefined;
|
|
5673
5677
|
name?: string | undefined;
|
|
5674
5678
|
portHints?: (string | number)[] | undefined;
|
|
5679
|
+
innerWidth?: string | number | undefined;
|
|
5680
|
+
innerHeight?: string | number | undefined;
|
|
5675
5681
|
}>, zod.ZodObject<zod.objectUtil.extendShape<Omit<{
|
|
5676
5682
|
pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
5677
5683
|
pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
@@ -5690,19 +5696,23 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
|
|
|
5690
5696
|
shape: zod.ZodLiteral<"pill">;
|
|
5691
5697
|
outerWidth: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
5692
5698
|
outerHeight: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
5693
|
-
holeWidth: zod.ZodEffects<zod.
|
|
5694
|
-
holeHeight: zod.ZodEffects<zod.
|
|
5699
|
+
holeWidth: zod.ZodEffects<zod.ZodType<string | number, zod.ZodTypeDef, string | number>, number | undefined, string | number>;
|
|
5700
|
+
holeHeight: zod.ZodEffects<zod.ZodType<string | number, zod.ZodTypeDef, string | number>, number | undefined, string | number>;
|
|
5701
|
+
innerWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
5702
|
+
innerHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
5695
5703
|
portHints: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, "many">>;
|
|
5696
5704
|
}>, "strip", zod.ZodTypeAny, {
|
|
5697
5705
|
shape: "pill";
|
|
5698
5706
|
outerWidth: number;
|
|
5699
5707
|
outerHeight: number;
|
|
5700
|
-
holeWidth: number;
|
|
5701
|
-
holeHeight: number;
|
|
5702
5708
|
pcbX?: number | undefined;
|
|
5703
5709
|
pcbY?: number | undefined;
|
|
5704
5710
|
name?: string | undefined;
|
|
5705
5711
|
portHints?: (string | number)[] | undefined;
|
|
5712
|
+
holeWidth?: number | undefined;
|
|
5713
|
+
holeHeight?: number | undefined;
|
|
5714
|
+
innerWidth?: number | undefined;
|
|
5715
|
+
innerHeight?: number | undefined;
|
|
5706
5716
|
}, {
|
|
5707
5717
|
shape: "pill";
|
|
5708
5718
|
outerWidth: string | number;
|
|
@@ -5713,6 +5723,8 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
|
|
|
5713
5723
|
pcbY?: string | number | undefined;
|
|
5714
5724
|
name?: string | undefined;
|
|
5715
5725
|
portHints?: (string | number)[] | undefined;
|
|
5726
|
+
innerWidth?: string | number | undefined;
|
|
5727
|
+
innerHeight?: string | number | undefined;
|
|
5716
5728
|
}>, zod.ZodEffects<zod.ZodObject<zod.objectUtil.extendShape<Omit<{
|
|
5717
5729
|
pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
5718
5730
|
pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
@@ -5779,7 +5791,93 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
|
|
|
5779
5791
|
portHints?: (string | number)[] | undefined;
|
|
5780
5792
|
holeShape?: "circle" | undefined;
|
|
5781
5793
|
padShape?: "rect" | undefined;
|
|
5782
|
-
}>]
|
|
5794
|
+
}>]>, {
|
|
5795
|
+
shape: "circle";
|
|
5796
|
+
holeDiameter: number;
|
|
5797
|
+
outerDiameter: number;
|
|
5798
|
+
pcbX?: number | undefined;
|
|
5799
|
+
pcbY?: number | undefined;
|
|
5800
|
+
name?: string | undefined;
|
|
5801
|
+
portHints?: (string | number)[] | undefined;
|
|
5802
|
+
} | {
|
|
5803
|
+
shape: "oval";
|
|
5804
|
+
outerWidth: number;
|
|
5805
|
+
outerHeight: number;
|
|
5806
|
+
pcbX?: number | undefined;
|
|
5807
|
+
pcbY?: number | undefined;
|
|
5808
|
+
name?: string | undefined;
|
|
5809
|
+
portHints?: (string | number)[] | undefined;
|
|
5810
|
+
holeWidth?: number | undefined;
|
|
5811
|
+
holeHeight?: number | undefined;
|
|
5812
|
+
innerWidth?: number | undefined;
|
|
5813
|
+
innerHeight?: number | undefined;
|
|
5814
|
+
} | {
|
|
5815
|
+
shape: "pill";
|
|
5816
|
+
outerWidth: number;
|
|
5817
|
+
outerHeight: number;
|
|
5818
|
+
pcbX?: number | undefined;
|
|
5819
|
+
pcbY?: number | undefined;
|
|
5820
|
+
name?: string | undefined;
|
|
5821
|
+
portHints?: (string | number)[] | undefined;
|
|
5822
|
+
holeWidth?: number | undefined;
|
|
5823
|
+
holeHeight?: number | undefined;
|
|
5824
|
+
innerWidth?: number | undefined;
|
|
5825
|
+
innerHeight?: number | undefined;
|
|
5826
|
+
} | {
|
|
5827
|
+
holeDiameter: number;
|
|
5828
|
+
rectPadWidth: number;
|
|
5829
|
+
rectPadHeight: number;
|
|
5830
|
+
pcbX?: number | undefined;
|
|
5831
|
+
pcbY?: number | undefined;
|
|
5832
|
+
name?: string | undefined;
|
|
5833
|
+
shape?: "circularHoleWithRectPad" | undefined;
|
|
5834
|
+
portHints?: (string | number)[] | undefined;
|
|
5835
|
+
holeShape?: "circle" | undefined;
|
|
5836
|
+
padShape?: "rect" | undefined;
|
|
5837
|
+
}, {
|
|
5838
|
+
shape: "circle";
|
|
5839
|
+
holeDiameter: string | number;
|
|
5840
|
+
outerDiameter: string | number;
|
|
5841
|
+
pcbX?: string | number | undefined;
|
|
5842
|
+
pcbY?: string | number | undefined;
|
|
5843
|
+
name?: string | undefined;
|
|
5844
|
+
portHints?: (string | number)[] | undefined;
|
|
5845
|
+
} | {
|
|
5846
|
+
shape: "oval";
|
|
5847
|
+
outerWidth: string | number;
|
|
5848
|
+
outerHeight: string | number;
|
|
5849
|
+
holeWidth: string | number;
|
|
5850
|
+
holeHeight: string | number;
|
|
5851
|
+
pcbX?: string | number | undefined;
|
|
5852
|
+
pcbY?: string | number | undefined;
|
|
5853
|
+
name?: string | undefined;
|
|
5854
|
+
portHints?: (string | number)[] | undefined;
|
|
5855
|
+
innerWidth?: string | number | undefined;
|
|
5856
|
+
innerHeight?: string | number | undefined;
|
|
5857
|
+
} | {
|
|
5858
|
+
shape: "pill";
|
|
5859
|
+
outerWidth: string | number;
|
|
5860
|
+
outerHeight: string | number;
|
|
5861
|
+
holeWidth: string | number;
|
|
5862
|
+
holeHeight: string | number;
|
|
5863
|
+
pcbX?: string | number | undefined;
|
|
5864
|
+
pcbY?: string | number | undefined;
|
|
5865
|
+
name?: string | undefined;
|
|
5866
|
+
portHints?: (string | number)[] | undefined;
|
|
5867
|
+
innerWidth?: string | number | undefined;
|
|
5868
|
+
innerHeight?: string | number | undefined;
|
|
5869
|
+
} | {
|
|
5870
|
+
holeDiameter: string | number;
|
|
5871
|
+
rectPadWidth: string | number;
|
|
5872
|
+
rectPadHeight: string | number;
|
|
5873
|
+
pcbX?: string | number | undefined;
|
|
5874
|
+
pcbY?: string | number | undefined;
|
|
5875
|
+
name?: string | undefined;
|
|
5876
|
+
shape?: "circularHoleWithRectPad" | undefined;
|
|
5877
|
+
portHints?: (string | number)[] | undefined;
|
|
5878
|
+
holeShape?: "circle" | undefined;
|
|
5879
|
+
padShape?: "rect" | undefined;
|
|
5880
|
+
}>;
|
|
5783
5881
|
};
|
|
5784
5882
|
getAvailablePcbLayers(): string[];
|
|
5785
5883
|
getPcbSize(): {
|
|
@@ -11382,18 +11480,24 @@ type PolarizedSel = Record<`C${Nums40}` | `L${Nums40}` | `LED${Nums40}` | `D${Nu
|
|
|
11382
11480
|
}>;
|
|
11383
11481
|
type CommonNetNames = "VCC" | "GND" | "VDD" | "PWR" | "V5" | "V3_3";
|
|
11384
11482
|
type TransistorSel = Record<`Q${Nums40}`, Record<TransistorPinNames, string>>;
|
|
11385
|
-
type JumperSel = Record<`J${Nums40}`, Record<PinNumbers100 | CommonPinNames, string>>;
|
|
11483
|
+
type JumperSel = Record<`J${Nums40}` | `CN${Nums40}`, Record<PinNumbers100 | CommonPinNames, string>>;
|
|
11386
11484
|
type ChipSel = Record<`U${Nums40}`, Record<CommonPinNames, string> & ChipFnSel>;
|
|
11387
11485
|
type NetSel = Record<"net", Record<CommonNetNames, string>>;
|
|
11388
|
-
type
|
|
11389
|
-
type
|
|
11390
|
-
|
|
11486
|
+
type ExplicitModuleSel = Record<"subcircuit" | "module" | "group", Record<`S${Nums40}` | `M${Nums40}` | `G${Nums40}`, SelWithoutSubcircuit>>;
|
|
11487
|
+
type GenericConnectionsAndSelectorsSel = Record<string, <CMP_FN extends (props: any) => any>(component: CMP_FN) => CMP_FN extends (props: infer P) => any ? P extends {
|
|
11488
|
+
connections: infer CN;
|
|
11489
|
+
} ? CN : P extends {
|
|
11490
|
+
selectors: infer SEL;
|
|
11491
|
+
} ? SEL extends Record<string, Record<string, string>> ? {
|
|
11492
|
+
[K in keyof SEL]: SEL[K] extends Record<string, string> ? SEL[K] : never;
|
|
11493
|
+
} : never : never : never>;
|
|
11494
|
+
type SelWithoutSubcircuit = NonPolarizedSel & PolarizedSel & TransistorSel & JumperSel & ChipSel & SwSel & NetSel & GenericConnectionsAndSelectorsSel;
|
|
11391
11495
|
type UnionToIntersection<U> = (U extends any ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
|
|
11392
11496
|
type ChipFn<T extends ChipProps<any>> = (props: T) => any;
|
|
11393
11497
|
type ChipFnSel = <T extends ChipFn<any> | string>(chipFn?: T) => UnionToIntersection<T extends ChipFn<any> ? ChipConnections<T> : T extends string ? {
|
|
11394
11498
|
[K in T]: string;
|
|
11395
11499
|
} : never>;
|
|
11396
|
-
type Sel =
|
|
11500
|
+
type Sel = ExplicitModuleSel & SelWithoutSubcircuit;
|
|
11397
11501
|
declare const sel: Sel;
|
|
11398
11502
|
|
|
11399
11503
|
type AutorouterCompleteEvent = {
|
|
@@ -11501,4 +11605,4 @@ declare module "react/jsx-runtime" {
|
|
|
11501
11605
|
}
|
|
11502
11606
|
}
|
|
11503
11607
|
|
|
11504
|
-
export { type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Crystal, Diode, FabricationNotePath, FabricationNoteText, Footprint, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Mosfet, Net, NetAlias, NormalComponent, type Obstacle, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, Subcircuit, Switch, Trace, TraceHint, Transistor, Via, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
|
|
11608
|
+
export { type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Crystal, Diode, FabricationNotePath, FabricationNoteText, Footprint, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Mosfet, Net, NetAlias, NormalComponent, type Obstacle, PinHeader, type PinLabelSpec, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, Subcircuit, Switch, Trace, TraceHint, Transistor, Via, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
|
package/dist/index.js
CHANGED
|
@@ -7431,7 +7431,7 @@ import { identity as identity4 } from "transformation-matrix";
|
|
|
7431
7431
|
var package_default = {
|
|
7432
7432
|
name: "@tscircuit/core",
|
|
7433
7433
|
type: "module",
|
|
7434
|
-
version: "0.0.
|
|
7434
|
+
version: "0.0.365",
|
|
7435
7435
|
types: "dist/index.d.ts",
|
|
7436
7436
|
main: "dist/index.js",
|
|
7437
7437
|
module: "dist/index.js",
|
|
@@ -7488,7 +7488,7 @@ var package_default = {
|
|
|
7488
7488
|
"@tscircuit/circuit-json-util": "^0.0.45",
|
|
7489
7489
|
"@tscircuit/infgrid-ijump-astar": "^0.0.33",
|
|
7490
7490
|
"@tscircuit/math-utils": "^0.0.12",
|
|
7491
|
-
"@tscircuit/props": "^0.0.
|
|
7491
|
+
"@tscircuit/props": "^0.0.170",
|
|
7492
7492
|
"@tscircuit/schematic-autolayout": "^0.0.6",
|
|
7493
7493
|
"@tscircuit/soup-util": "^0.0.41",
|
|
7494
7494
|
"circuit-json": "^0.0.153",
|
|
@@ -7821,13 +7821,27 @@ var sel = new Proxy(
|
|
|
7821
7821
|
}
|
|
7822
7822
|
return `.${prop1} > .${prop2}`;
|
|
7823
7823
|
},
|
|
7824
|
-
// This handles function calls like
|
|
7824
|
+
// This handles function calls like...
|
|
7825
|
+
// - sel.U1(MyChip)
|
|
7826
|
+
// - sel.U1(({ selectors: { U1: { GND: "GND", VCC: "VCC" } } }) => ...)
|
|
7827
|
+
// - sel.U1(({ connections: { GND: "GND", VCC: "VCC" } }) => ...)
|
|
7825
7828
|
apply: (target, _2, args) => {
|
|
7826
7829
|
return new Proxy(
|
|
7827
7830
|
{},
|
|
7828
7831
|
{
|
|
7829
|
-
get: (_3,
|
|
7830
|
-
|
|
7832
|
+
get: (_3, pinOrSubComponentName) => {
|
|
7833
|
+
const pinResult = `.${prop1} > .${pinOrSubComponentName}`;
|
|
7834
|
+
if (prop1.startsWith("U")) {
|
|
7835
|
+
return pinResult;
|
|
7836
|
+
}
|
|
7837
|
+
return new Proxy(new String(pinResult), {
|
|
7838
|
+
get: (_4, nestedProp) => {
|
|
7839
|
+
if (typeof nestedProp === "symbol" || nestedProp === "toString") {
|
|
7840
|
+
return () => pinResult;
|
|
7841
|
+
}
|
|
7842
|
+
return `.${prop1} > .${pinOrSubComponentName} > .${nestedProp}`;
|
|
7843
|
+
}
|
|
7844
|
+
});
|
|
7831
7845
|
}
|
|
7832
7846
|
}
|
|
7833
7847
|
);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.366",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"@tscircuit/circuit-json-util": "^0.0.45",
|
|
59
59
|
"@tscircuit/infgrid-ijump-astar": "^0.0.33",
|
|
60
60
|
"@tscircuit/math-utils": "^0.0.12",
|
|
61
|
-
"@tscircuit/props": "^0.0.
|
|
61
|
+
"@tscircuit/props": "^0.0.170",
|
|
62
62
|
"@tscircuit/schematic-autolayout": "^0.0.6",
|
|
63
63
|
"@tscircuit/soup-util": "^0.0.41",
|
|
64
64
|
"circuit-json": "^0.0.153",
|