@tscircuit/props 0.0.17 → 0.0.19

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.js CHANGED
@@ -22,6 +22,7 @@ var lib_exports = {};
22
22
  __export(lib_exports, {
23
23
  boardProps: () => boardProps,
24
24
  bugProps: () => bugProps,
25
+ cadModelBase: () => cadModelBase,
25
26
  cadModelJscad: () => cadModelJscad,
26
27
  cadModelObj: () => cadModelObj,
27
28
  cadModelStl: () => cadModelStl,
@@ -115,14 +116,24 @@ var commonLayoutProps = import_zod.z.object({
115
116
  var supplierProps = import_zod.z.object({
116
117
  supplierPartNumbers: import_zod.z.record(import_soup.supplier_name, import_zod.z.array(import_zod.z.string())).optional()
117
118
  });
118
- var cadModelStl = import_zod.z.object({
119
+ var point3 = import_zod.z.object({
120
+ x: import_zod.z.union([import_zod.z.number(), import_zod.z.string()]),
121
+ y: import_zod.z.union([import_zod.z.number(), import_zod.z.string()]),
122
+ z: import_zod.z.union([import_zod.z.number(), import_zod.z.string()])
123
+ });
124
+ var cadModelBase = import_zod.z.object({
125
+ rotationOffset: import_zod.z.number().or(point3).optional(),
126
+ positionOffset: point3.optional(),
127
+ size: point3.optional()
128
+ });
129
+ var cadModelStl = cadModelBase.extend({
119
130
  stlUrl: import_zod.z.string()
120
131
  });
121
- var cadModelObj = import_zod.z.object({
132
+ var cadModelObj = cadModelBase.extend({
122
133
  objUrl: import_zod.z.string(),
123
134
  mtlUrl: import_zod.z.string().optional()
124
135
  });
125
- var cadModelJscad = import_zod.z.object({
136
+ var cadModelJscad = cadModelBase.extend({
126
137
  jscad: import_zod.z.any()
127
138
  });
128
139
  var commonComponentProps = commonLayoutProps.merge(supplierProps).extend({
@@ -162,8 +173,8 @@ var ledPins = lrPolarPins;
162
173
  var boardProps = import_zod.z.object({
163
174
  width: import_soup.distance,
164
175
  height: import_soup.distance,
165
- pcbCenterX: import_soup.distance.optional().default(0),
166
- pcbCenterY: import_soup.distance.optional().default(0),
176
+ pcbX: import_soup.distance.optional().default(0),
177
+ pcbY: import_soup.distance.optional().default(0),
167
178
  layout: import_zod.z.any().optional(),
168
179
  children: import_zod.z.any()
169
180
  });
@@ -350,6 +361,7 @@ var fabricationNotePathProps = pcbLayoutProps.omit({ pcbX: true, pcbY: true, pcb
350
361
  0 && (module.exports = {
351
362
  boardProps,
352
363
  bugProps,
364
+ cadModelBase,
353
365
  cadModelJscad,
354
366
  cadModelObj,
355
367
  cadModelStl,
package/dist/index.js.map CHANGED
@@ -1 +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 length,\n type AnySoupElementInput,\n} from \"@tscircuit/soup\"\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { LayoutBuilder } from \"@tscircuit/layout\"\n\nexport const portHints = z.array(z.string().or(z.number()))\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 | AnySoupElementInput[]\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 cadModelStl = z.object({\n stlUrl: z.string(),\n})\n\nexport const cadModelObj = z.object({\n objUrl: z.string(),\n mtlUrl: z.string().optional(),\n})\n\nexport const cadModelJscad = z.object({\n jscad: z.any(),\n})\n\nexport const commonComponentProps = commonLayoutProps\n .merge(supplierProps)\n .extend({\n name: z.string(),\n cadModel: z.union([cadModelStl, cadModelObj, cadModelJscad]).optional(),\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 distanceOrMultiplier = distance.or(z.enum([\"2x\", \"3x\", \"4x\"]))\n\nexport const schematicPortArrangement = 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 const bugProps = commonComponentProps.extend({\n pinLabels: z.record(z.number(), z.string()),\n schPortArrangement: schematicPortArrangement,\n schPinSpacing: distanceOrMultiplier\n .or(z.literal(\"auto\"))\n .optional()\n .default(\"auto\"),\n schWidth: distanceOrMultiplier\n .or(z.literal(\"auto\"))\n .optional()\n .default(\"auto\"),\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: portHints.optional(),\n }),\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"rect\"),\n width: distance.optional(),\n height: distance.optional(),\n portHints: portHints.optional(),\n }),\n])\nexport type SmtPadProps = z.input<typeof smtPadProps>\n\nexport const platedHoleProps = z.union([\n pcbLayoutProps\n .omit({ pcbRotation: true, layer: true })\n .extend({\n shape: z.literal(\"circle\"),\n holeDiameter: distance,\n outerDiameter: distance,\n portHints: portHints.optional(),\n }),\n pcbLayoutProps\n .omit({ pcbRotation: true, layer: true })\n .extend({\n shape: z.literal(\"oval\"),\n outerWidth: distance,\n outerHeight: distance,\n innerWidth: distance,\n innerHeight: distance,\n portHints: portHints.optional(),\n })\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 anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: length.optional(),\n})\nexport type SilkscreenTextProps = z.input<typeof silkscreenTextProps>\n\nexport const silkscreenPathProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n route: z.array(route_hint_point),\n strokeWidth: length.optional(),\n })\nexport type SilkscreenPathProps = z.input<typeof silkscreenPathProps>\n\nexport const silkscreenLineProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .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 silkscreenRectProps = pcbLayoutProps\n .omit({ pcbRotation: true })\n .extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n width: distance,\n height: distance,\n })\nexport type SilkscreenRectProps = z.input<typeof silkscreenRectProps>\n\nexport const silkscreenCircleProps = pcbLayoutProps\n .omit({ pcbRotation: true })\n .extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n radius: distance,\n })\nexport type SilkscreenCircleProps = z.input<typeof silkscreenCircleProps>\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\nexport const pcbTraceProps = z.object({\n layer: z.string().optional(),\n thickness: distance.optional(),\n route: z.array(route_hint_point),\n})\nexport type PcbTraceProps = z.input<typeof pcbTraceProps>\n\nexport const fabricationNoteTextProps = pcbLayoutProps.extend({\n text: z.string(),\n anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: length.optional(),\n})\nexport type FabricationNoteTextProps = z.input<typeof fabricationNoteTextProps>\n\nexport const fabricationNotePathProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n route: z.array(route_hint_point),\n strokeWidth: length.optional(),\n })\nexport type FabricationNotePathProps = z.input<typeof fabricationNotePathProps>\n"],"mappings":"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","names":[]}
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 length,\n type AnySoupElementInput,\n} from \"@tscircuit/soup\"\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { LayoutBuilder } from \"@tscircuit/layout\"\n\nexport const portHints = z.array(z.string().or(z.number()))\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 | AnySoupElementInput[]\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\nconst point3 = z.object({\n x: z.union([z.number(), z.string()]),\n y: z.union([z.number(), z.string()]),\n z: z.union([z.number(), z.string()]),\n})\n\nexport const cadModelBase = z.object({\n rotationOffset: z.number().or(point3).optional(),\n positionOffset: point3.optional(),\n size: point3.optional(),\n})\n\nexport const cadModelStl = cadModelBase.extend({\n stlUrl: z.string(),\n})\n\nexport const cadModelObj = cadModelBase.extend({\n objUrl: z.string(),\n mtlUrl: z.string().optional(),\n})\n\nexport const cadModelJscad = cadModelBase.extend({\n jscad: z.any(),\n})\n\nexport const commonComponentProps = commonLayoutProps\n .merge(supplierProps)\n .extend({\n name: z.string(),\n cadModel: z.union([cadModelStl, cadModelObj, cadModelJscad]).optional(),\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 pcbX: distance.optional().default(0),\n pcbY: distance.optional().default(0),\n layout: z.any().optional(),\n children: z.any(),\n})\nexport type BoardProps = z.input<typeof boardProps>\n\nexport const distanceOrMultiplier = distance.or(z.enum([\"2x\", \"3x\", \"4x\"]))\n\nexport const schematicPortArrangement = 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 const bugProps = commonComponentProps.extend({\n pinLabels: z.record(z.number(), z.string()),\n schPortArrangement: schematicPortArrangement,\n schPinSpacing: distanceOrMultiplier\n .or(z.literal(\"auto\"))\n .optional()\n .default(\"auto\"),\n schWidth: distanceOrMultiplier\n .or(z.literal(\"auto\"))\n .optional()\n .default(\"auto\"),\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: portHints.optional(),\n }),\n pcbLayoutProps.omit({ pcbRotation: true }).extend({\n shape: z.literal(\"rect\"),\n width: distance.optional(),\n height: distance.optional(),\n portHints: portHints.optional(),\n }),\n])\nexport type SmtPadProps = z.input<typeof smtPadProps>\n\nexport const platedHoleProps = z.union([\n pcbLayoutProps\n .omit({ pcbRotation: true, layer: true })\n .extend({\n shape: z.literal(\"circle\"),\n holeDiameter: distance,\n outerDiameter: distance,\n portHints: portHints.optional(),\n }),\n pcbLayoutProps\n .omit({ pcbRotation: true, layer: true })\n .extend({\n shape: z.literal(\"oval\"),\n outerWidth: distance,\n outerHeight: distance,\n innerWidth: distance,\n innerHeight: distance,\n portHints: portHints.optional(),\n })\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 anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: length.optional(),\n})\nexport type SilkscreenTextProps = z.input<typeof silkscreenTextProps>\n\nexport const silkscreenPathProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n route: z.array(route_hint_point),\n strokeWidth: length.optional(),\n })\nexport type SilkscreenPathProps = z.input<typeof silkscreenPathProps>\n\nexport const silkscreenLineProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .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 silkscreenRectProps = pcbLayoutProps\n .omit({ pcbRotation: true })\n .extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n width: distance,\n height: distance,\n })\nexport type SilkscreenRectProps = z.input<typeof silkscreenRectProps>\n\nexport const silkscreenCircleProps = pcbLayoutProps\n .omit({ pcbRotation: true })\n .extend({\n isFilled: z.boolean().optional(),\n isOutline: z.boolean().optional(),\n strokeWidth: distance.optional(),\n radius: distance,\n })\nexport type SilkscreenCircleProps = z.input<typeof silkscreenCircleProps>\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\nexport const pcbTraceProps = z.object({\n layer: z.string().optional(),\n thickness: distance.optional(),\n route: z.array(route_hint_point),\n})\nexport type PcbTraceProps = z.input<typeof pcbTraceProps>\n\nexport const fabricationNoteTextProps = pcbLayoutProps.extend({\n text: z.string(),\n anchorAlignment: z\n .enum([\"center\", \"top_left\", \"top_right\", \"bottom_left\", \"bottom_right\"])\n .default(\"center\"),\n font: z.enum([\"tscircuit2024\"]).optional(),\n fontSize: length.optional(),\n})\nexport type FabricationNoteTextProps = z.input<typeof fabricationNoteTextProps>\n\nexport const fabricationNotePathProps = pcbLayoutProps\n .omit({ pcbX: true, pcbY: true, pcbRotation: true })\n .extend({\n route: z.array(route_hint_point),\n strokeWidth: length.optional(),\n })\nexport type FabricationNotePathProps = z.input<typeof fabricationNotePathProps>\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/props",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "description": "Props for tscircuit builtin component types",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -13,6 +13,7 @@
13
13
  "author": "",
14
14
  "license": "ISC",
15
15
  "devDependencies": {
16
+ "@biomejs/biome": "^1.8.3",
16
17
  "@tscircuit/layout": "^0.0.11",
17
18
  "@tscircuit/soup": "^0.0.17",
18
19
  "@types/node": "^20.12.11",