Module: UI::SidebarMenuButtonBehavior
- Included in:
- SidebarMenuButton
- Defined in:
- app/behaviors/ui/sidebar_menu_button_behavior.rb
Overview
UI::SidebarMenuButtonBehavior
Constant Summary collapse
- VARIANTS =
{ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground", outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] " \ "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]" }.freeze
- SIZES =
{ default: "h-8 text-sm", sm: "h-7 text-xs", lg: "h-12 text-sm group-data-[state=collapsed]:group-data-[collapsible=icon]:p-0!" }.freeze
Instance Method Summary collapse
- #sidebar_menu_button_classes ⇒ Object
- #sidebar_menu_button_data_attributes ⇒ Object
- #sidebar_menu_button_html_attributes ⇒ Object
Instance Method Details
#sidebar_menu_button_classes ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/behaviors/ui/sidebar_menu_button_behavior.rb', line 37 def variant_value = respond_to?(:variant, true) ? variant : @variant 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([ , VARIANTS[variant_value], SIZES[size_value], is_active ? : nil, classes_value ].compact.join(" ")) end |
#sidebar_menu_button_data_attributes ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'app/behaviors/ui/sidebar_menu_button_behavior.rb', line 52 def is_active = respond_to?(:active, true) ? active : @active attrs = { slot: "sidebar-menu-button", size: @size } attrs[:active] = true if is_active attrs end |
#sidebar_menu_button_html_attributes ⇒ Object
30 31 32 33 34 35 |
# File 'app/behaviors/ui/sidebar_menu_button_behavior.rb', line 30 def { class: , data: } end |