Module: UI::CollapsibleBehavior

Included in:
Collapsible, CollapsibleComponent
Defined in:
app/behaviors/ui/collapsible_behavior.rb

Overview

UI::CollapsibleBehavior

Instance Method Summary collapse

Instance Method Details

#collapsible_classesObject



34
35
36
37
38
39
40
# File 'app/behaviors/ui/collapsible_behavior.rb', line 34

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

#collapsible_data_attributesObject



42
43
44
45
46
47
48
49
50
# File 'app/behaviors/ui/collapsible_behavior.rb', line 42

def collapsible_data_attributes
  {
    controller: "ui--collapsible",
    slot: "collapsible",
    state: @open ? "open" : "closed",
    ui__collapsible_open_value: @open.to_s,
    ui__collapsible_disabled_value: @disabled.to_s
  }
end

#collapsible_html_attributesObject



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

def collapsible_html_attributes
  attrs = {
    data: collapsible_data_attributes
  }
  unless @as_child
    attrs[:class] = collapsible_classes
  end
  attrs
end