Module: UI::CollapsibleContentBehavior

Included in:
CollapsibleContent, CollapsibleContentComponent
Defined in:
app/behaviors/ui/collapsible_content_behavior.rb

Overview

ContentBehavior

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

Instance Method Summary collapse

Instance Method Details

#collapsible_content_classesObject



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

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

#collapsible_content_data_attributesObject



26
27
28
29
30
31
32
# File 'app/behaviors/ui/collapsible_content_behavior.rb', line 26

def collapsible_content_data_attributes
  {
    slot: "collapsible-content",
    state: "closed",
    ui__collapsible_target: "content"
  }
end

#collapsible_content_html_attributesObject



9
10
11
12
13
14
15
16
# File 'app/behaviors/ui/collapsible_content_behavior.rb', line 9

def collapsible_content_html_attributes
  attrs = {
    class: collapsible_content_classes,
    data: collapsible_content_data_attributes
  }
  attrs[:hidden] = true unless @force_mount
  attrs
end