diff --git a/generated/COMPONENT_TYPES.md b/generated/COMPONENT_TYPES.md index 61ed731..baa2182 100644 --- a/generated/COMPONENT_TYPES.md +++ b/generated/COMPONENT_TYPES.md @@ -38,6 +38,7 @@ export interface CadModelBase { pcbRotationOffset?: number zOffsetFromSurface?: Distance showAsTranslucentModel?: boolean + stepUrl?: string } export const cadModelBase = z.object({ rotationOffset: z.number().or(rotationPoint3).optional(), @@ -49,6 +50,7 @@ export const cadModelBase = z.object({ pcbRotationOffset: z.number().optional(), zOffsetFromSurface: distance.optional(), showAsTranslucentModel: z.boolean().optional(), + stepUrl: url.optional(), }) export interface CadModelStl extends CadModelBase { stlUrl: string @@ -1325,6 +1327,7 @@ export const courtyardCircleProps = pcbLayoutProps .omit({ pcbRotation: true }) .extend({ radius: distance, + anchorAlignment: ninePointAnchor.optional(), }) ``` @@ -1349,6 +1352,7 @@ export const courtyardOutlineProps = pcbLayoutProps isClosed: z.boolean().optional(), isStrokeDashed: z.boolean().optional(), color: z.string().optional(), + anchorAlignment: ninePointAnchor.optional(), }) ``` @@ -1361,6 +1365,7 @@ export const courtyardPillProps = pcbLayoutProps width: distance, height: distance, radius: distance, + anchorAlignment: ninePointAnchor.optional(), }) ``` @@ -1377,6 +1382,7 @@ export const courtyardRectProps = pcbLayoutProps hasStroke: z.boolean().optional(), isStrokeDashed: z.boolean().optional(), color: z.string().optional(), + anchorAlignment: ninePointAnchor.optional(), }) ``` diff --git a/generated/PROPS_OVERVIEW.md b/generated/PROPS_OVERVIEW.md index ffbfecd..7884101 100644 --- a/generated/PROPS_OVERVIEW.md +++ b/generated/PROPS_OVERVIEW.md @@ -304,6 +304,7 @@ export interface CadModelBase { pcbRotationOffset?: number zOffsetFromSurface?: Distance showAsTranslucentModel?: boolean + stepUrl?: string } diff --git a/lib/components/courtyard-circle.ts b/lib/components/courtyard-circle.ts index d5efe95..4688c02 100644 --- a/lib/components/courtyard-circle.ts +++ b/lib/components/courtyard-circle.ts @@ -1,9 +1,11 @@ import { distance } from "circuit-json" import { pcbLayoutProps } from "lib/common/layout" +import { ninePointAnchor } from "lib/common/ninePointAnchor" import { z } from "zod" export const courtyardCircleProps = pcbLayoutProps .omit({ pcbRotation: true }) .extend({ radius: distance, + anchorAlignment: ninePointAnchor.optional(), }) export type CourtyardCircleProps = z.input diff --git a/lib/components/courtyard-outline.ts b/lib/components/courtyard-outline.ts index 1ee44df..91f9ec2 100644 --- a/lib/components/courtyard-outline.ts +++ b/lib/components/courtyard-outline.ts @@ -1,5 +1,6 @@ import { length } from "circuit-json" import { pcbLayoutProps } from "lib/common/layout" +import { ninePointAnchor } from "lib/common/ninePointAnchor" import { point } from "lib/common/point" import { z } from "zod" @@ -21,5 +22,6 @@ export const courtyardOutlineProps = pcbLayoutProps isClosed: z.boolean().optional(), isStrokeDashed: z.boolean().optional(), color: z.string().optional(), + anchorAlignment: ninePointAnchor.optional(), }) export type CourtyardOutlineProps = z.input diff --git a/lib/components/courtyard-pill.ts b/lib/components/courtyard-pill.ts index dc9d5e4..9932eb0 100644 --- a/lib/components/courtyard-pill.ts +++ b/lib/components/courtyard-pill.ts @@ -1,5 +1,6 @@ import { distance } from "circuit-json" import { pcbLayoutProps } from "lib/common/layout" +import { ninePointAnchor } from "lib/common/ninePointAnchor" import { z } from "zod" export const courtyardPillProps = pcbLayoutProps .omit({ pcbRotation: true }) @@ -7,5 +8,6 @@ export const courtyardPillProps = pcbLayoutProps width: distance, height: distance, radius: distance, + anchorAlignment: ninePointAnchor.optional(), }) export type CourtyardPillProps = z.input diff --git a/lib/components/courtyard-rect.ts b/lib/components/courtyard-rect.ts index a1034b4..ee5a1fe 100644 --- a/lib/components/courtyard-rect.ts +++ b/lib/components/courtyard-rect.ts @@ -1,5 +1,6 @@ import { distance } from "circuit-json" import { pcbLayoutProps } from "lib/common/layout" +import { ninePointAnchor } from "lib/common/ninePointAnchor" import { z } from "zod" export const courtyardRectProps = pcbLayoutProps @@ -12,5 +13,6 @@ export const courtyardRectProps = pcbLayoutProps hasStroke: z.boolean().optional(), isStrokeDashed: z.boolean().optional(), color: z.string().optional(), + anchorAlignment: ninePointAnchor.optional(), }) export type CourtyardRectProps = z.input diff --git a/tests/courtyard.test.ts b/tests/courtyard.test.ts index 44416b6..879e527 100644 --- a/tests/courtyard.test.ts +++ b/tests/courtyard.test.ts @@ -65,6 +65,7 @@ test("courtyard outline parses outline points", () => { isClosed: true, isStrokeDashed: true, color: "#123456", + anchorAlignment: "bottom_left", } const parsed = courtyardOutlineProps.parse(outline) @@ -74,6 +75,7 @@ test("courtyard outline parses outline points", () => { expect(parsed.isClosed).toBe(true) expect(parsed.isStrokeDashed).toBe(true) expect(parsed.color).toBe("#123456") + expect(parsed.anchorAlignment).toBe("bottom_left") }) test("courtyard circle parses radius", () => {