From a182c27e09492057f3246734945939fb21b05ac1 Mon Sep 17 00:00:00 2001 From: Giuliano Crivelli Date: Mon, 30 Oct 2023 14:47:02 -0400 Subject: [PATCH] fix: variant as array when extending --- src/__tests__/tv.test.ts | 12 +++++++++--- src/utils.js | 2 ++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/__tests__/tv.test.ts b/src/__tests__/tv.test.ts index 0e8f86e..c3723ac 100644 --- a/src/__tests__/tv.test.ts +++ b/src/__tests__/tv.test.ts @@ -1938,7 +1938,7 @@ describe("Tailwind Variants (TV) - Extends", () => { false: "text-2xl", }, color: { - red: "text-red-500 bg-red-100", + red: "text-red-500 bg-red-100 tracking-normal", blue: "text-blue-500", }, }, @@ -1949,7 +1949,7 @@ describe("Tailwind Variants (TV) - Extends", () => { base: "text-3xl font-bold", variants: { color: { - red: "text-red-200", + red: ["text-red-200", "bg-red-200"], green: "text-green-500", }, }, @@ -1960,7 +1960,13 @@ describe("Tailwind Variants (TV) - Extends", () => { color: "red", }); - const expectedResult = ["font-bold", "text-red-200", "bg-red-100", "text-5xl"]; + const expectedResult = [ + "font-bold", + "text-red-200", + "bg-red-200", + "tracking-normal", + "text-5xl", + ]; expectTv(result, expectedResult); }); diff --git a/src/utils.js b/src/utils.js index fbfe45b..04692ef 100644 --- a/src/utils.js +++ b/src/utils.js @@ -37,6 +37,8 @@ export const mergeObjects = (obj1, obj2) => { if (typeof val1 === "object" && typeof val2 === "object") { result[key] = mergeObjects(val1, val2); + } else if (Array.isArray(val1) || Array.isArray(val2)) { + result[key] = flatMergeArrays(val2, val1); } else { result[key] = val2 + " " + val1; }