Module: UI::CardHeaderBehavior

Included in:
CardHeader, CardHeaderComponent
Defined in:
app/behaviors/ui/card_header_behavior.rb

Overview

HeaderBehavior

Shared behavior for CardHeader component across ERB, ViewComponent, and Phlex implementations.

Instance Method Summary collapse

Instance Method Details

#card_header_classesObject



19
20
21
22
23
24
25
# File 'app/behaviors/ui/card_header_behavior.rb', line 19

def card_header_classes
  classes_value = respond_to?(:classes, true) ? classes : @classes
  TailwindMerge::Merger.new.merge([
    card_header_base_classes,
    classes_value
  ].compact.join(" "))
end

#card_header_html_attributesObject



12
13
14
15
16
17
# File 'app/behaviors/ui/card_header_behavior.rb', line 12

def card_header_html_attributes
  {
    class: card_header_classes,
    data: {slot: "card-header"}
  }
end

#render_card_header(&content_block) ⇒ Object



7
8
9
10
# File 'app/behaviors/ui/card_header_behavior.rb', line 7

def render_card_header(&content_block)
  all_attributes = card_header_html_attributes.deep_merge(@attributes)
  (:div, **all_attributes, &content_block)
end