From 5edf9c95b7d13dcbd325aa4cf6b48d58a53b07c6 Mon Sep 17 00:00:00 2001 From: shadcn Date: Sun, 8 Mar 2026 12:05:55 +0400 Subject: [PATCH] fix(shadcn): fallback style resolving issue --- .changeset/dark-lemons-invite.md | 5 +++++ packages/shadcn/src/utils/get-config.ts | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 .changeset/dark-lemons-invite.md diff --git a/.changeset/dark-lemons-invite.md b/.changeset/dark-lemons-invite.md new file mode 100644 index 0000000000..69d26e04d3 --- /dev/null +++ b/.changeset/dark-lemons-invite.md @@ -0,0 +1,5 @@ +--- +"shadcn": patch +--- + +fix fallback style resolving issue diff --git a/packages/shadcn/src/utils/get-config.ts b/packages/shadcn/src/utils/get-config.ts index 9e7784ab70..45b5cdfd5d 100644 --- a/packages/shadcn/src/utils/get-config.ts +++ b/packages/shadcn/src/utils/get-config.ts @@ -213,7 +213,17 @@ export function findCommonRoot(cwd: string, resolvedPath: string) { // TODO: Cache this call. export async function getTargetStyleFromConfig(cwd: string, fallback: string) { const projectInfo = await getProjectInfo(cwd) - return projectInfo?.tailwindVersion === "v4" ? "new-york-v4" : fallback + + // Only override legacy v3 style names for Tailwind v4 projects. + // Preserve v4 style names like "base-nova", "radix-nova", etc. + if ( + projectInfo?.tailwindVersion === "v4" && + (!fallback || fallback === "new-york" || fallback === "default") + ) { + return "new-york-v4" + } + + return fallback } export function getBase(style: string | undefined) {