From 727eb7460437f2ec731dfd74946b50d7d48f76ce Mon Sep 17 00:00:00 2001 From: Javier Aranda Date: Thu, 17 Oct 2024 17:20:29 +0200 Subject: [PATCH] Allow passing additional classes when render --- CHANGELOG.md | 1 + lib/class_variants/instance.rb | 5 +++++ test/class_variants_test.rb | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e39c1a2..61f5396 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ ## Unreleased +- Allow passing additional classes when render ([#17](https://github.com/avo-hq/class_variants/pull/17)) ## 0.0.7 (2023-12-07) - Add support for compound variants ([#8](https://github.com/avo-hq/class_variants/pull/8)) diff --git a/lib/class_variants/instance.rb b/lib/class_variants/instance.rb index 2ee5cdc..a1cdf69 100644 --- a/lib/class_variants/instance.rb +++ b/lib/class_variants/instance.rb @@ -12,6 +12,8 @@ def initialize(classes = "", variants: {}, compoundVariants: [], defaults: {}) # rubocop:enable Naming/VariableName def render(**overrides) + classes = overrides.delete(:class) + # Start with our default classes result = [@classes] @@ -29,6 +31,9 @@ def render(**overrides) end end + # add the passed in classes to the result + result << classes + # Compact out any nil values we may have dug up result.compact! diff --git a/test/class_variants_test.rb b/test/class_variants_test.rb index cae1123..a9c2f4f 100644 --- a/test/class_variants_test.rb +++ b/test/class_variants_test.rb @@ -54,4 +54,8 @@ def test_compound_variants @cv.render(ring: true, color: :green) ) end + + def test_additional_classes + assert_equal "rounded border text-md text-black", @cv.render(class: "text-black") + end end