@tscircuit/core 0.0.647 → 0.0.649

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 CHANGED
@@ -11,7 +11,7 @@ import { CircuitJsonUtilObjects } from '@tscircuit/circuit-json-util';
11
11
  import { ConnectivityMap } from 'circuit-json-to-connectivity-map';
12
12
  import { GraphicsObject } from 'graphics-debug';
13
13
 
14
- declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "PcbFootprintStringRender", "InitializePortsFromChildren", "CreateNetsFromProps", "CreateTracesFromProps", "CreateTracesFromNetLabels", "CreateTraceHintsFromProps", "SourceGroupRender", "AssignNameToUnnamedComponents", "SourceRender", "SourceParentAttachment", "PortMatching", "OptimizeSelectorCache", "SourceTraceRender", "SourceAddConnectivityMapKey", "SimulationRender", "SchematicComponentRender", "SchematicPortRender", "SchematicPrimitiveRender", "SchematicLayout", "SchematicTraceRender", "SchematicReplaceNetLabelsWithSymbols", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbComponentSizeCalculation", "PcbLayout", "PcbBoardAutoSize", "PcbTraceHintRender", "PcbManualTraceRender", "PcbTraceRender", "PcbRouteNetIslands", "PcbDesignRuleChecks", "CadModelRender", "PartsEngineRender"];
14
+ declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "PcbFootprintStringRender", "InitializePortsFromChildren", "CreateNetsFromProps", "AssignFallbackProps", "CreateTracesFromProps", "CreateTracesFromNetLabels", "CreateTraceHintsFromProps", "SourceGroupRender", "AssignNameToUnnamedComponents", "SourceRender", "SourceParentAttachment", "PortMatching", "OptimizeSelectorCache", "SourceTraceRender", "SourceAddConnectivityMapKey", "SimulationRender", "SchematicComponentRender", "SchematicPortRender", "SchematicPrimitiveRender", "SchematicLayout", "SchematicTraceRender", "SchematicReplaceNetLabelsWithSymbols", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbComponentSizeCalculation", "PcbLayout", "PcbBoardAutoSize", "PcbTraceHintRender", "PcbManualTraceRender", "PcbTraceRender", "PcbRouteNetIslands", "PcbDesignRuleChecks", "CadModelRender", "PartsEngineRender"];
15
15
  type RenderPhase = (typeof orderedRenderPhases)[number];
16
16
  type RenderPhaseFn<K extends RenderPhase = RenderPhase> = `doInitial${K}` | `update${K}` | `remove${K}`;
17
17
  type RenderPhaseStates = Record<RenderPhase, {
@@ -1084,6 +1084,7 @@ declare class NormalComponent<ZodProps extends z.ZodType = any, PortNames extend
1084
1084
  private _getSupplierPartNumbers;
1085
1085
  doInitialPartsEngineRender(): void;
1086
1086
  updatePartsEngineRender(): void;
1087
+ doInitialAssignFallbackProps(): void;
1087
1088
  doInitialCreateTracesFromProps(): void;
1088
1089
  _createTracesFromConnectionsProp(): void;
1089
1090
  }
@@ -2723,39 +2724,41 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, Polarized
2723
2724
 
2724
2725
  declare class Chip<PinLabels extends string = never> extends NormalComponent<typeof chipProps, PinLabels> {
2725
2726
  schematicBoxDimensions: SchematicBoxDimensions | null;
2727
+ private _invalidPinLabelMessages;
2728
+ constructor(props: z.input<typeof chipProps>);
2726
2729
  get config(): {
2727
2730
  componentName: string;
2728
- zodProps: zod.ZodObject<{
2729
- pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2730
- pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2731
- pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2732
- schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2733
- schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2734
- schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2735
- layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
2736
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2737
- }, "strip", zod.ZodTypeAny, {
2731
+ zodProps: z.ZodObject<{
2732
+ pcbX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
2733
+ pcbY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
2734
+ pcbRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
2735
+ schX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
2736
+ schY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
2737
+ schRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
2738
+ layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
2739
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2740
+ }, "strip", z.ZodTypeAny, {
2738
2741
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2739
2742
  }, {
2740
2743
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2741
2744
  }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2742
2745
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2743
2746
  }>>;
2744
- footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.FootprintProp, zod.ZodTypeDef, _tscircuit_props.FootprintProp>>;
2745
- relative: zod.ZodOptional<zod.ZodBoolean>;
2746
- schRelative: zod.ZodOptional<zod.ZodBoolean>;
2747
- pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
2747
+ footprint: z.ZodOptional<z.ZodType<_tscircuit_props.FootprintProp, z.ZodTypeDef, _tscircuit_props.FootprintProp>>;
2748
+ relative: z.ZodOptional<z.ZodBoolean>;
2749
+ schRelative: z.ZodOptional<z.ZodBoolean>;
2750
+ pcbRelative: z.ZodOptional<z.ZodBoolean>;
2748
2751
  } & {
2749
- supplierPartNumbers: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
2752
+ supplierPartNumbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
2750
2753
  } & {
2751
- key: zod.ZodOptional<zod.ZodAny>;
2752
- name: zod.ZodString;
2753
- cadModel: zod.ZodOptional<zod.ZodUnion<[zod.ZodNull, zod.ZodString, zod.ZodObject<{
2754
- rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
2755
- x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
2756
- y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
2757
- z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
2758
- }, "strip", zod.ZodTypeAny, {
2754
+ key: z.ZodOptional<z.ZodAny>;
2755
+ name: z.ZodString;
2756
+ cadModel: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString, z.ZodObject<{
2757
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
2758
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
2759
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
2760
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
2761
+ }, "strip", z.ZodTypeAny, {
2759
2762
  x: string | number;
2760
2763
  y: string | number;
2761
2764
  z: string | number;
@@ -2764,11 +2767,11 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2764
2767
  y: string | number;
2765
2768
  z: string | number;
2766
2769
  }>]>>;
2767
- positionOffset: zod.ZodOptional<zod.ZodObject<{
2768
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2769
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2770
- z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2771
- }, "strip", zod.ZodTypeAny, {
2770
+ positionOffset: z.ZodOptional<z.ZodObject<{
2771
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2772
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2773
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2774
+ }, "strip", z.ZodTypeAny, {
2772
2775
  x: number;
2773
2776
  y: number;
2774
2777
  z: number;
@@ -2777,11 +2780,11 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2777
2780
  y: string | number;
2778
2781
  z: string | number;
2779
2782
  }>>;
2780
- size: zod.ZodOptional<zod.ZodObject<{
2781
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2782
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2783
- z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2784
- }, "strip", zod.ZodTypeAny, {
2783
+ size: z.ZodOptional<z.ZodObject<{
2784
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2785
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2786
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2787
+ }, "strip", z.ZodTypeAny, {
2785
2788
  x: number;
2786
2789
  y: number;
2787
2790
  z: number;
@@ -2791,8 +2794,8 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2791
2794
  z: string | number;
2792
2795
  }>>;
2793
2796
  } & {
2794
- stlUrl: zod.ZodString;
2795
- }, "strip", zod.ZodTypeAny, {
2797
+ stlUrl: z.ZodString;
2798
+ }, "strip", z.ZodTypeAny, {
2796
2799
  stlUrl: string;
2797
2800
  rotationOffset?: number | {
2798
2801
  x: string | number;
@@ -2826,12 +2829,12 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2826
2829
  y: string | number;
2827
2830
  z: string | number;
2828
2831
  } | undefined;
2829
- }>, zod.ZodObject<{
2830
- rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
2831
- x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
2832
- y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
2833
- z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
2834
- }, "strip", zod.ZodTypeAny, {
2832
+ }>, z.ZodObject<{
2833
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
2834
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
2835
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
2836
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
2837
+ }, "strip", z.ZodTypeAny, {
2835
2838
  x: string | number;
2836
2839
  y: string | number;
2837
2840
  z: string | number;
@@ -2840,11 +2843,11 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2840
2843
  y: string | number;
2841
2844
  z: string | number;
2842
2845
  }>]>>;
2843
- positionOffset: zod.ZodOptional<zod.ZodObject<{
2844
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2845
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2846
- z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2847
- }, "strip", zod.ZodTypeAny, {
2846
+ positionOffset: z.ZodOptional<z.ZodObject<{
2847
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2848
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2849
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2850
+ }, "strip", z.ZodTypeAny, {
2848
2851
  x: number;
2849
2852
  y: number;
2850
2853
  z: number;
@@ -2853,11 +2856,11 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2853
2856
  y: string | number;
2854
2857
  z: string | number;
2855
2858
  }>>;
2856
- size: zod.ZodOptional<zod.ZodObject<{
2857
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2858
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2859
- z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2860
- }, "strip", zod.ZodTypeAny, {
2859
+ size: z.ZodOptional<z.ZodObject<{
2860
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2861
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2862
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2863
+ }, "strip", z.ZodTypeAny, {
2861
2864
  x: number;
2862
2865
  y: number;
2863
2866
  z: number;
@@ -2867,9 +2870,9 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2867
2870
  z: string | number;
2868
2871
  }>>;
2869
2872
  } & {
2870
- objUrl: zod.ZodString;
2871
- mtlUrl: zod.ZodOptional<zod.ZodString>;
2872
- }, "strip", zod.ZodTypeAny, {
2873
+ objUrl: z.ZodString;
2874
+ mtlUrl: z.ZodOptional<z.ZodString>;
2875
+ }, "strip", z.ZodTypeAny, {
2873
2876
  objUrl: string;
2874
2877
  rotationOffset?: number | {
2875
2878
  x: string | number;
@@ -2905,12 +2908,12 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2905
2908
  z: string | number;
2906
2909
  } | undefined;
2907
2910
  mtlUrl?: string | undefined;
2908
- }>, zod.ZodObject<{
2909
- rotationOffset: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodObject<{
2910
- x: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
2911
- y: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
2912
- z: zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>;
2913
- }, "strip", zod.ZodTypeAny, {
2911
+ }>, z.ZodObject<{
2912
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
2913
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
2914
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
2915
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
2916
+ }, "strip", z.ZodTypeAny, {
2914
2917
  x: string | number;
2915
2918
  y: string | number;
2916
2919
  z: string | number;
@@ -2919,11 +2922,11 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2919
2922
  y: string | number;
2920
2923
  z: string | number;
2921
2924
  }>]>>;
2922
- positionOffset: zod.ZodOptional<zod.ZodObject<{
2923
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2924
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2925
- z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2926
- }, "strip", zod.ZodTypeAny, {
2925
+ positionOffset: z.ZodOptional<z.ZodObject<{
2926
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2927
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2928
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2929
+ }, "strip", z.ZodTypeAny, {
2927
2930
  x: number;
2928
2931
  y: number;
2929
2932
  z: number;
@@ -2932,11 +2935,11 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2932
2935
  y: string | number;
2933
2936
  z: string | number;
2934
2937
  }>>;
2935
- size: zod.ZodOptional<zod.ZodObject<{
2936
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2937
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2938
- z: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2939
- }, "strip", zod.ZodTypeAny, {
2938
+ size: z.ZodOptional<z.ZodObject<{
2939
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2940
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2941
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2942
+ }, "strip", z.ZodTypeAny, {
2940
2943
  x: number;
2941
2944
  y: number;
2942
2945
  z: number;
@@ -2946,8 +2949,8 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2946
2949
  z: string | number;
2947
2950
  }>>;
2948
2951
  } & {
2949
- jscad: zod.ZodRecord<zod.ZodString, zod.ZodAny>;
2950
- }, "strip", zod.ZodTypeAny, {
2952
+ jscad: z.ZodRecord<z.ZodString, z.ZodAny>;
2953
+ }, "strip", z.ZodTypeAny, {
2951
2954
  jscad: Record<string, any>;
2952
2955
  rotationOffset?: number | {
2953
2956
  x: string | number;
@@ -2982,17 +2985,17 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
2982
2985
  z: string | number;
2983
2986
  } | undefined;
2984
2987
  }>]>>;
2985
- children: zod.ZodOptional<zod.ZodAny>;
2986
- symbolName: zod.ZodOptional<zod.ZodString>;
2987
- doNotPlace: zod.ZodOptional<zod.ZodBoolean>;
2988
- pinAttributes: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodObject<{
2989
- providesPower: zod.ZodOptional<zod.ZodBoolean>;
2990
- requiresPower: zod.ZodOptional<zod.ZodBoolean>;
2991
- providesGround: zod.ZodOptional<zod.ZodBoolean>;
2992
- requiresGround: zod.ZodOptional<zod.ZodBoolean>;
2993
- providesVoltage: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>>;
2994
- requiresVoltage: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>>;
2995
- }, "strip", zod.ZodTypeAny, {
2988
+ children: z.ZodOptional<z.ZodAny>;
2989
+ symbolName: z.ZodOptional<z.ZodString>;
2990
+ doNotPlace: z.ZodOptional<z.ZodBoolean>;
2991
+ pinAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2992
+ providesPower: z.ZodOptional<z.ZodBoolean>;
2993
+ requiresPower: z.ZodOptional<z.ZodBoolean>;
2994
+ providesGround: z.ZodOptional<z.ZodBoolean>;
2995
+ requiresGround: z.ZodOptional<z.ZodBoolean>;
2996
+ providesVoltage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
2997
+ requiresVoltage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
2998
+ }, "strip", z.ZodTypeAny, {
2996
2999
  providesPower?: boolean | undefined;
2997
3000
  requiresPower?: boolean | undefined;
2998
3001
  providesGround?: boolean | undefined;
@@ -3008,62 +3011,62 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
3008
3011
  requiresVoltage?: string | number | undefined;
3009
3012
  }>>>;
3010
3013
  } & {
3011
- manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
3012
- pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodUnion<[zod.ZodString, zod.ZodReadonly<zod.ZodArray<zod.ZodString, "many">>]>, zod.ZodArray<zod.ZodString, "many">]>>>;
3013
- showPinAliases: zod.ZodOptional<zod.ZodBoolean>;
3014
- pcbPinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodString>>;
3015
- internallyConnectedPins: zod.ZodOptional<zod.ZodArray<zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, "many">, "many">>;
3016
- externallyConnectedPins: zod.ZodOptional<zod.ZodArray<zod.ZodArray<zod.ZodString, "many">, "many">>;
3017
- schPinArrangement: zod.ZodOptional<zod.ZodObject<{
3018
- leftSize: zod.ZodOptional<zod.ZodNumber>;
3019
- topSize: zod.ZodOptional<zod.ZodNumber>;
3020
- rightSize: zod.ZodOptional<zod.ZodNumber>;
3021
- bottomSize: zod.ZodOptional<zod.ZodNumber>;
3022
- leftPinCount: zod.ZodOptional<zod.ZodNumber>;
3023
- rightPinCount: zod.ZodOptional<zod.ZodNumber>;
3024
- topPinCount: zod.ZodOptional<zod.ZodNumber>;
3025
- bottomPinCount: zod.ZodOptional<zod.ZodNumber>;
3026
- leftSide: zod.ZodOptional<zod.ZodObject<{
3027
- pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
3028
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3029
- }, "strip", zod.ZodTypeAny, {
3014
+ manufacturerPartNumber: z.ZodOptional<z.ZodString>;
3015
+ pinLabels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodReadonly<z.ZodArray<z.ZodString, "many">>]>, z.ZodArray<z.ZodString, "many">]>>>;
3016
+ showPinAliases: z.ZodOptional<z.ZodBoolean>;
3017
+ pcbPinLabels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3018
+ internallyConnectedPins: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">, "many">>;
3019
+ externallyConnectedPins: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">>;
3020
+ schPinArrangement: z.ZodOptional<z.ZodObject<{
3021
+ leftSize: z.ZodOptional<z.ZodNumber>;
3022
+ topSize: z.ZodOptional<z.ZodNumber>;
3023
+ rightSize: z.ZodOptional<z.ZodNumber>;
3024
+ bottomSize: z.ZodOptional<z.ZodNumber>;
3025
+ leftPinCount: z.ZodOptional<z.ZodNumber>;
3026
+ rightPinCount: z.ZodOptional<z.ZodNumber>;
3027
+ topPinCount: z.ZodOptional<z.ZodNumber>;
3028
+ bottomPinCount: z.ZodOptional<z.ZodNumber>;
3029
+ leftSide: z.ZodOptional<z.ZodObject<{
3030
+ pins: z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString]>, "many">;
3031
+ direction: z.ZodUnion<[z.ZodLiteral<"top-to-bottom">, z.ZodLiteral<"left-to-right">, z.ZodLiteral<"bottom-to-top">, z.ZodLiteral<"right-to-left">]>;
3032
+ }, "strip", z.ZodTypeAny, {
3030
3033
  pins: (string | number)[];
3031
3034
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3032
3035
  }, {
3033
3036
  pins: (string | number)[];
3034
3037
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3035
3038
  }>>;
3036
- rightSide: zod.ZodOptional<zod.ZodObject<{
3037
- pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
3038
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3039
- }, "strip", zod.ZodTypeAny, {
3039
+ rightSide: z.ZodOptional<z.ZodObject<{
3040
+ pins: z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString]>, "many">;
3041
+ direction: z.ZodUnion<[z.ZodLiteral<"top-to-bottom">, z.ZodLiteral<"left-to-right">, z.ZodLiteral<"bottom-to-top">, z.ZodLiteral<"right-to-left">]>;
3042
+ }, "strip", z.ZodTypeAny, {
3040
3043
  pins: (string | number)[];
3041
3044
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3042
3045
  }, {
3043
3046
  pins: (string | number)[];
3044
3047
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3045
3048
  }>>;
3046
- topSide: zod.ZodOptional<zod.ZodObject<{
3047
- pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
3048
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3049
- }, "strip", zod.ZodTypeAny, {
3049
+ topSide: z.ZodOptional<z.ZodObject<{
3050
+ pins: z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString]>, "many">;
3051
+ direction: z.ZodUnion<[z.ZodLiteral<"top-to-bottom">, z.ZodLiteral<"left-to-right">, z.ZodLiteral<"bottom-to-top">, z.ZodLiteral<"right-to-left">]>;
3052
+ }, "strip", z.ZodTypeAny, {
3050
3053
  pins: (string | number)[];
3051
3054
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3052
3055
  }, {
3053
3056
  pins: (string | number)[];
3054
3057
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3055
3058
  }>>;
3056
- bottomSide: zod.ZodOptional<zod.ZodObject<{
3057
- pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
3058
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3059
- }, "strip", zod.ZodTypeAny, {
3059
+ bottomSide: z.ZodOptional<z.ZodObject<{
3060
+ pins: z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString]>, "many">;
3061
+ direction: z.ZodUnion<[z.ZodLiteral<"top-to-bottom">, z.ZodLiteral<"left-to-right">, z.ZodLiteral<"bottom-to-top">, z.ZodLiteral<"right-to-left">]>;
3062
+ }, "strip", z.ZodTypeAny, {
3060
3063
  pins: (string | number)[];
3061
3064
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3062
3065
  }, {
3063
3066
  pins: (string | number)[];
3064
3067
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3065
3068
  }>>;
3066
- }, "strip", zod.ZodTypeAny, {
3069
+ }, "strip", z.ZodTypeAny, {
3067
3070
  leftSize?: number | undefined;
3068
3071
  topSize?: number | undefined;
3069
3072
  rightSize?: number | undefined;
@@ -3114,56 +3117,56 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
3114
3117
  topPinCount?: number | undefined;
3115
3118
  bottomPinCount?: number | undefined;
3116
3119
  }>>;
3117
- schPortArrangement: zod.ZodOptional<zod.ZodObject<{
3118
- leftSize: zod.ZodOptional<zod.ZodNumber>;
3119
- topSize: zod.ZodOptional<zod.ZodNumber>;
3120
- rightSize: zod.ZodOptional<zod.ZodNumber>;
3121
- bottomSize: zod.ZodOptional<zod.ZodNumber>;
3122
- leftPinCount: zod.ZodOptional<zod.ZodNumber>;
3123
- rightPinCount: zod.ZodOptional<zod.ZodNumber>;
3124
- topPinCount: zod.ZodOptional<zod.ZodNumber>;
3125
- bottomPinCount: zod.ZodOptional<zod.ZodNumber>;
3126
- leftSide: zod.ZodOptional<zod.ZodObject<{
3127
- pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
3128
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3129
- }, "strip", zod.ZodTypeAny, {
3120
+ schPortArrangement: z.ZodOptional<z.ZodObject<{
3121
+ leftSize: z.ZodOptional<z.ZodNumber>;
3122
+ topSize: z.ZodOptional<z.ZodNumber>;
3123
+ rightSize: z.ZodOptional<z.ZodNumber>;
3124
+ bottomSize: z.ZodOptional<z.ZodNumber>;
3125
+ leftPinCount: z.ZodOptional<z.ZodNumber>;
3126
+ rightPinCount: z.ZodOptional<z.ZodNumber>;
3127
+ topPinCount: z.ZodOptional<z.ZodNumber>;
3128
+ bottomPinCount: z.ZodOptional<z.ZodNumber>;
3129
+ leftSide: z.ZodOptional<z.ZodObject<{
3130
+ pins: z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString]>, "many">;
3131
+ direction: z.ZodUnion<[z.ZodLiteral<"top-to-bottom">, z.ZodLiteral<"left-to-right">, z.ZodLiteral<"bottom-to-top">, z.ZodLiteral<"right-to-left">]>;
3132
+ }, "strip", z.ZodTypeAny, {
3130
3133
  pins: (string | number)[];
3131
3134
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3132
3135
  }, {
3133
3136
  pins: (string | number)[];
3134
3137
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3135
3138
  }>>;
3136
- rightSide: zod.ZodOptional<zod.ZodObject<{
3137
- pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
3138
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3139
- }, "strip", zod.ZodTypeAny, {
3139
+ rightSide: z.ZodOptional<z.ZodObject<{
3140
+ pins: z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString]>, "many">;
3141
+ direction: z.ZodUnion<[z.ZodLiteral<"top-to-bottom">, z.ZodLiteral<"left-to-right">, z.ZodLiteral<"bottom-to-top">, z.ZodLiteral<"right-to-left">]>;
3142
+ }, "strip", z.ZodTypeAny, {
3140
3143
  pins: (string | number)[];
3141
3144
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3142
3145
  }, {
3143
3146
  pins: (string | number)[];
3144
3147
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3145
3148
  }>>;
3146
- topSide: zod.ZodOptional<zod.ZodObject<{
3147
- pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
3148
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3149
- }, "strip", zod.ZodTypeAny, {
3149
+ topSide: z.ZodOptional<z.ZodObject<{
3150
+ pins: z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString]>, "many">;
3151
+ direction: z.ZodUnion<[z.ZodLiteral<"top-to-bottom">, z.ZodLiteral<"left-to-right">, z.ZodLiteral<"bottom-to-top">, z.ZodLiteral<"right-to-left">]>;
3152
+ }, "strip", z.ZodTypeAny, {
3150
3153
  pins: (string | number)[];
3151
3154
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3152
3155
  }, {
3153
3156
  pins: (string | number)[];
3154
3157
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3155
3158
  }>>;
3156
- bottomSide: zod.ZodOptional<zod.ZodObject<{
3157
- pins: zod.ZodArray<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, "many">;
3158
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3159
- }, "strip", zod.ZodTypeAny, {
3159
+ bottomSide: z.ZodOptional<z.ZodObject<{
3160
+ pins: z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString]>, "many">;
3161
+ direction: z.ZodUnion<[z.ZodLiteral<"top-to-bottom">, z.ZodLiteral<"left-to-right">, z.ZodLiteral<"bottom-to-top">, z.ZodLiteral<"right-to-left">]>;
3162
+ }, "strip", z.ZodTypeAny, {
3160
3163
  pins: (string | number)[];
3161
3164
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3162
3165
  }, {
3163
3166
  pins: (string | number)[];
3164
3167
  direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3165
3168
  }>>;
3166
- }, "strip", zod.ZodTypeAny, {
3169
+ }, "strip", z.ZodTypeAny, {
3167
3170
  leftSize?: number | undefined;
3168
3171
  topSize?: number | undefined;
3169
3172
  rightSize?: number | undefined;
@@ -3214,26 +3217,26 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
3214
3217
  topPinCount?: number | undefined;
3215
3218
  bottomPinCount?: number | undefined;
3216
3219
  }>>;
3217
- pinCompatibleVariants: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
3218
- manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
3219
- supplierPartNumber: zod.ZodOptional<zod.ZodRecord<zod.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, zod.ZodArray<zod.ZodString, "many">>>;
3220
- }, "strip", zod.ZodTypeAny, {
3220
+ pinCompatibleVariants: z.ZodOptional<z.ZodArray<z.ZodObject<{
3221
+ manufacturerPartNumber: z.ZodOptional<z.ZodString>;
3222
+ supplierPartNumber: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3223
+ }, "strip", z.ZodTypeAny, {
3221
3224
  manufacturerPartNumber?: string | undefined;
3222
3225
  supplierPartNumber?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3223
3226
  }, {
3224
3227
  manufacturerPartNumber?: string | undefined;
3225
3228
  supplierPartNumber?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3226
3229
  }>, "many">>;
3227
- schPinStyle: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodObject<{
3228
- marginLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3229
- marginRight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3230
- marginTop: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3231
- marginBottom: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3232
- leftMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3233
- rightMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3234
- topMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3235
- bottomMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3236
- }, "strip", zod.ZodTypeAny, {
3230
+ schPinStyle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
3231
+ marginLeft: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3232
+ marginRight: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3233
+ marginTop: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3234
+ marginBottom: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3235
+ leftMargin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3236
+ rightMargin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3237
+ topMargin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3238
+ bottomMargin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3239
+ }, "strip", z.ZodTypeAny, {
3237
3240
  marginLeft?: number | undefined;
3238
3241
  marginRight?: number | undefined;
3239
3242
  marginTop?: number | undefined;
@@ -3252,12 +3255,12 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
3252
3255
  topMargin?: string | number | undefined;
3253
3256
  bottomMargin?: string | number | undefined;
3254
3257
  }>>>;
3255
- schPinSpacing: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3256
- schWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3257
- schHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3258
- noSchematicRepresentation: zod.ZodOptional<zod.ZodBoolean>;
3259
- connections: zod.ZodOptional<zod.ZodPipeline<zod.ZodType<Partial<Record<string, string | string[] | readonly string[]>>, zod.ZodTypeDef, Partial<Record<string, string | string[] | readonly string[]>>>, zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodUnion<[zod.ZodString, zod.ZodReadonly<zod.ZodArray<zod.ZodString, "many">>]>, zod.ZodArray<zod.ZodString, "many">]>>>>;
3260
- }, "strip", zod.ZodTypeAny, {
3258
+ schPinSpacing: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3259
+ schWidth: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3260
+ schHeight: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3261
+ noSchematicRepresentation: z.ZodOptional<z.ZodBoolean>;
3262
+ connections: z.ZodOptional<z.ZodPipeline<z.ZodType<Partial<Record<string, string | string[] | readonly string[]>>, z.ZodTypeDef, Partial<Record<string, string | string[] | readonly string[]>>>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodReadonly<z.ZodArray<z.ZodString, "many">>]>, z.ZodArray<z.ZodString, "many">]>>>>;
3263
+ }, "strip", z.ZodTypeAny, {
3261
3264
  name: string;
3262
3265
  pcbX?: number | undefined;
3263
3266
  pcbY?: number | undefined;
package/dist/index.js CHANGED
@@ -87,6 +87,7 @@ var orderedRenderPhases = [
87
87
  "PcbFootprintStringRender",
88
88
  "InitializePortsFromChildren",
89
89
  "CreateNetsFromProps",
90
+ "AssignFallbackProps",
90
91
  "CreateTracesFromProps",
91
92
  "CreateTracesFromNetLabels",
92
93
  "CreateTraceHintsFromProps",
@@ -7011,6 +7012,12 @@ var NormalComponent = class extends PrimitiveComponent2 {
7011
7012
  return;
7012
7013
  }
7013
7014
  }
7015
+ doInitialAssignFallbackProps() {
7016
+ const { _parsedProps: props } = this;
7017
+ if (props.connections && !this.name) {
7018
+ this.fallbackUnassignedName = this.getSubcircuit().getNextAvailableName(this);
7019
+ }
7020
+ }
7014
7021
  doInitialCreateTracesFromProps() {
7015
7022
  this._createTracesFromConnectionsProp();
7016
7023
  }
@@ -11246,13 +11253,72 @@ var Capacitor = class extends NormalComponent {
11246
11253
  };
11247
11254
 
11248
11255
  // lib/components/normal-components/Chip.ts
11256
+ import { chipProps as chipProps2 } from "@tscircuit/props";
11257
+
11258
+ // lib/utils/filterPinLabels.ts
11249
11259
  import { chipProps } from "@tscircuit/props";
11260
+ function filterPinLabels(pinLabels) {
11261
+ if (!pinLabels)
11262
+ return {
11263
+ validPinLabels: pinLabels,
11264
+ invalidPinLabelsMessages: []
11265
+ };
11266
+ const validPinLabels = {};
11267
+ const invalidPinLabelsMessages = [];
11268
+ for (const [pin, labelOrLabels] of Object.entries(pinLabels)) {
11269
+ const labels = Array.isArray(labelOrLabels) ? labelOrLabels.slice() : [labelOrLabels];
11270
+ const validLabels = [];
11271
+ for (const label of labels) {
11272
+ if (isValidPinLabel(pin, label)) {
11273
+ validLabels.push(label);
11274
+ } else {
11275
+ invalidPinLabelsMessages.push(
11276
+ `Invalid pin label: ${pin} = '${label}' - excluding from component. Please use a valid pin label.`
11277
+ );
11278
+ }
11279
+ }
11280
+ if (validLabels.length > 0) {
11281
+ validPinLabels[pin] = Array.isArray(labelOrLabels) ? validLabels : validLabels[0];
11282
+ }
11283
+ }
11284
+ return {
11285
+ validPinLabels: Object.keys(validPinLabels).length > 0 ? validPinLabels : void 0,
11286
+ invalidPinLabelsMessages
11287
+ };
11288
+ }
11289
+ function isValidPinLabel(pin, label) {
11290
+ try {
11291
+ const testProps = {
11292
+ name: "test",
11293
+ footprint: "test",
11294
+ pinLabels: { [pin]: label }
11295
+ };
11296
+ const result = chipProps.safeParse(testProps);
11297
+ return result.success;
11298
+ } catch (error) {
11299
+ return false;
11300
+ }
11301
+ }
11302
+
11303
+ // lib/components/normal-components/Chip.ts
11250
11304
  var Chip = class extends NormalComponent {
11251
11305
  schematicBoxDimensions = null;
11306
+ _invalidPinLabelMessages = [];
11307
+ constructor(props) {
11308
+ const filteredProps = { ...props };
11309
+ let invalidPinLabelsMessages = [];
11310
+ if (filteredProps.pinLabels) {
11311
+ const { validPinLabels, invalidPinLabelsMessages: messages } = filterPinLabels(filteredProps.pinLabels);
11312
+ filteredProps.pinLabels = validPinLabels;
11313
+ invalidPinLabelsMessages = messages;
11314
+ }
11315
+ super(filteredProps);
11316
+ this._invalidPinLabelMessages = invalidPinLabelsMessages;
11317
+ }
11252
11318
  get config() {
11253
11319
  return {
11254
11320
  componentName: "Chip",
11255
- zodProps: chipProps,
11321
+ zodProps: chipProps2,
11256
11322
  shouldRenderAsSchematicBox: true
11257
11323
  };
11258
11324
  }
@@ -11294,6 +11360,24 @@ var Chip = class extends NormalComponent {
11294
11360
  doInitialSchematicComponentRender() {
11295
11361
  const { _parsedProps: props } = this;
11296
11362
  if (props?.noSchematicRepresentation === true) return;
11363
+ if (this._invalidPinLabelMessages?.length && this.root?.db) {
11364
+ for (const message of this._invalidPinLabelMessages) {
11365
+ let property_name = "pinLabels";
11366
+ const match = message.match(
11367
+ /^Invalid pin label:\s*([^=]+)=\s*'([^']+)'/
11368
+ );
11369
+ if (match) {
11370
+ const label = match[2];
11371
+ property_name = `pinLabels['${label}']`;
11372
+ }
11373
+ this.root.db.source_property_ignored_warning.insert({
11374
+ source_component_id: this.source_component_id,
11375
+ property_name,
11376
+ message,
11377
+ error_type: "source_property_ignored_warning"
11378
+ });
11379
+ }
11380
+ }
11297
11381
  super.doInitialSchematicComponentRender();
11298
11382
  }
11299
11383
  doInitialSourceRender() {
@@ -13593,7 +13677,7 @@ import { identity as identity5 } from "transformation-matrix";
13593
13677
  var package_default = {
13594
13678
  name: "@tscircuit/core",
13595
13679
  type: "module",
13596
- version: "0.0.646",
13680
+ version: "0.0.648",
13597
13681
  types: "dist/index.d.ts",
13598
13682
  main: "dist/index.js",
13599
13683
  module: "dist/index.js",
@@ -13647,7 +13731,7 @@ var package_default = {
13647
13731
  "bun-match-svg": "0.0.12",
13648
13732
  "calculate-elbow": "^0.0.9",
13649
13733
  "chokidar-cli": "^3.0.0",
13650
- "circuit-json": "^0.0.232",
13734
+ "circuit-json": "^0.0.233",
13651
13735
  "circuit-json-to-bpc": "^0.0.13",
13652
13736
  "circuit-json-to-connectivity-map": "^0.0.22",
13653
13737
  "circuit-json-to-simple-3d": "^0.0.6",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.647",
4
+ "version": "0.0.649",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -55,7 +55,7 @@
55
55
  "bun-match-svg": "0.0.12",
56
56
  "calculate-elbow": "^0.0.9",
57
57
  "chokidar-cli": "^3.0.0",
58
- "circuit-json": "^0.0.232",
58
+ "circuit-json": "^0.0.233",
59
59
  "circuit-json-to-bpc": "^0.0.13",
60
60
  "circuit-json-to-connectivity-map": "^0.0.22",
61
61
  "circuit-json-to-simple-3d": "^0.0.6",