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
-
#drawer_header_base_classes ⇒ Object
Base CSS classes for drawer header.
-
#drawer_header_classes ⇒ Object
Merge base classes with custom classes using TailwindMerge.
-
#drawer_header_html_attributes ⇒ Object
Build complete HTML attributes hash for header.
Instance Method Details
#drawer_header_base_classes ⇒ Object
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_classes ⇒ Object
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_attributes ⇒ Object
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 |