Module: UI::SidebarMenuSubButtonBehavior

Included in:
SidebarMenuSubButton
Defined in:
app/behaviors/ui/sidebar_menu_sub_button_behavior.rb

Overview

UI::SidebarMenuSubButtonBehavior

Constant Summary collapse

SIZES =
{
  sm: "text-xs",
  md: "text-sm"
}.freeze

Instance Method Summary collapse

Instance Method Details



30
31
32
33
34
35
36
37
38
39
40
41
# File 'app/behaviors/ui/sidebar_menu_sub_button_behavior.rb', line 30

def sidebar_menu_sub_button_classes
  size_value = respond_to?(:size, true) ? size : @size
  is_active = respond_to?(:active, true) ? active : @active
  classes_value = respond_to?(:classes, true) ? classes : @classes

  TailwindMerge::Merger.new.merge([
    sidebar_menu_sub_button_base_classes,
    SIZES[size_value],
    is_active ? sidebar_menu_sub_button_active_classes : nil,
    classes_value
  ].compact.join(" "))
end


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

def sidebar_menu_sub_button_data_attributes
  is_active = respond_to?(:active, true) ? active : @active
  attrs = {
    slot: "sidebar-menu-sub-button",
    size: @size
  }
  attrs[:active] = true if is_active
  attrs
end


23
24
25
26
27
28
# File 'app/behaviors/ui/sidebar_menu_sub_button_behavior.rb', line 23

def sidebar_menu_sub_button_html_attributes
  {
    class: sidebar_menu_sub_button_classes,
    data: sidebar_menu_sub_button_data_attributes
  }
end