From abbdd32953a3c65d00591b8e0ce2fcc41c66ef79 Mon Sep 17 00:00:00 2001 From: akazwz <50396286+akazwz@users.noreply.github.com> Date: Wed, 22 Apr 2026 13:50:30 +0800 Subject: [PATCH] fix(v4): add missing sera styles to public schema (#10452) * Add Sera styles to v4 public schema Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(v4): tighten public schema style assertion Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: shadcn --- apps/v4/public/schema.json | 26 ++++++++++++++++++++++++-- apps/v4/registry/config.test.ts | 13 +++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/apps/v4/public/schema.json b/apps/v4/public/schema.json index 7560477fab..6c12ae2929 100644 --- a/apps/v4/public/schema.json +++ b/apps/v4/public/schema.json @@ -4,7 +4,24 @@ "properties": { "style": { "type": "string", - "enum": ["default", "new-york", "radix-vega", "radix-nova", "radix-maia", "radix-lyra", "radix-mira", "radix-luma", "base-vega", "base-nova", "base-maia", "base-lyra", "base-mira", "base-luma"] + "enum": [ + "default", + "new-york", + "radix-vega", + "radix-nova", + "radix-maia", + "radix-lyra", + "radix-mira", + "radix-luma", + "radix-sera", + "base-vega", + "base-nova", + "base-maia", + "base-lyra", + "base-mira", + "base-luma", + "base-sera" + ] }, "tailwind": { "type": "object", @@ -59,7 +76,12 @@ }, "menuColor": { "type": "string", - "enum": ["default", "inverted", "default-translucent", "inverted-translucent"] + "enum": [ + "default", + "inverted", + "default-translucent", + "inverted-translucent" + ] }, "menuAccent": { "type": "string", diff --git a/apps/v4/registry/config.test.ts b/apps/v4/registry/config.test.ts index d80621c663..6f4b1d13fb 100644 --- a/apps/v4/registry/config.test.ts +++ b/apps/v4/registry/config.test.ts @@ -1,13 +1,17 @@ import { describe, expect, it } from "vitest" +import publicSchema from "../public/schema.json" import { buildPartialRegistryBase, buildRegistryBase, DEFAULT_CONFIG, designSystemConfigSchema, parseRegistryBaseParts, + PRESETS, } from "./config" +const legacyPublicSchemaStyles = ["default", "new-york"] as const + describe("buildRegistryBase", () => { it("seeds a font-heading fallback when heading inherits the body font", () => { const result = buildRegistryBase(DEFAULT_CONFIG) @@ -84,6 +88,15 @@ describe("buildRegistryBase", () => { expect(result.chartColor).toBe("taupe") }) + it("keeps the public schema style enum in sync with presets", () => { + expect([...publicSchema.properties.style.enum].sort()).toEqual( + [ + ...legacyPublicSchemaStyles, + ...PRESETS.map((preset) => preset.name), + ].sort() + ) + }) + it("rejects chartColor values that are unavailable for the selected base color", () => { const result = designSystemConfigSchema.safeParse({ base: "radix",