Module: UI::DrawerHeaderBehavior

Included in:
DrawerHeader, DrawerHeaderComponent
Defined in:
app/behaviors/ui/drawer_header_behavior.rb

Overview

Shared behavior for Drawer Header component Reuses Dialog header pattern with drawer-specific spacing

Instance Method Summary collapse

Instance Method Details

#drawer_header_base_classesObject

Base CSS classes for drawer header



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

def drawer_header_base_classes
  [
    "flex flex-col gap-0.5 p-4",
    # Center text for bottom/top drawers, left-align on desktop
    "group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center",
    "group-data-[vaul-drawer-direction=top]/drawer-content:text-center",
    "md:gap-1.5 md:text-left"
  ].join(" ")
end

#drawer_header_classesObject

Merge base classes with custom classes using TailwindMerge



20
21
22
# File 'app/behaviors/ui/drawer_header_behavior.rb', line 20

def drawer_header_classes
  TailwindMerge::Merger.new.merge([drawer_header_base_classes, @classes].compact.join(" "))
end

#drawer_header_html_attributesObject

Build complete HTML attributes hash for header



25
26
27
28
# File 'app/behaviors/ui/drawer_header_behavior.rb', line 25

def drawer_header_html_attributes
  base_attrs = @attributes || {}
  base_attrs.merge(class: drawer_header_classes)
end