From 9d3c5be1d504f6ad00ea1befe6cac60202332fa5 Mon Sep 17 00:00:00 2001 From: Will Abbott Date: Wed, 23 Jul 2025 21:39:38 +0100 Subject: [PATCH] fix placeholder rules --- .gitignore | 5 ++++- tailwind_merge/core.py | 2 ++ tests/test_merge.py | 29 ++++++++++++++++++++++++++++- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 01f94a3..59a63c9 100644 --- a/.gitignore +++ b/.gitignore @@ -160,4 +160,7 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. .idea/ -.DS_Store \ No newline at end of file +.DS_Store + +# Claude Code guidance file +CLAUDE.md \ No newline at end of file diff --git a/tailwind_merge/core.py b/tailwind_merge/core.py index 39d0d93..ba3ad25 100644 --- a/tailwind_merge/core.py +++ b/tailwind_merge/core.py @@ -206,6 +206,8 @@ def __init__(self): ('border_opacity', ['border-opacity-']), # Text Opacity ('text_opacity', ['text-opacity-']), + # Placeholder Color + ('placeholder_color', ['placeholder-']), # Box Shadow diff --git a/tests/test_merge.py b/tests/test_merge.py index 6314bc6..25b1ab4 100644 --- a/tests/test_merge.py +++ b/tests/test_merge.py @@ -90,4 +90,31 @@ def test_with_modifiers(): "hover:text-red-500", "hover:text-green-500" ) - assert result == "hover:text-green-500" \ No newline at end of file + assert result == "hover:text-green-500" + +def test_placeholder_merge(): + """Test that placeholder colors merge correctly""" + twmerge = TailwindMerge() + result = twmerge.merge( + "placeholder-gray-400", + "placeholder-red-500" + ) + assert result == "placeholder-red-500" + +def test_dark_placeholder_merge(): + """Test that dark:placeholder-* variants merge correctly - Issue #6""" + twmerge = TailwindMerge() + result = twmerge.merge( + "dark:placeholder-gray-400", + "dark:placeholder-red-500" + ) + assert result == "dark:placeholder-red-500" + +def test_multiple_modifier_placeholder_merge(): + """Test placeholder with multiple modifiers""" + twmerge = TailwindMerge() + result = twmerge.merge( + "hover:dark:placeholder-gray-400", + "hover:dark:placeholder-red-500" + ) + assert result == "hover:dark:placeholder-red-500" \ No newline at end of file