Module: UI::NavigationMenuBehavior
- Included in:
- NavigationMenu, NavigationMenuComponent
- Defined in:
- app/behaviors/ui/navigation_menu_behavior.rb
Overview
UI::NavigationMenuBehavior
Instance Method Summary collapse
-
#navigation_menu_classes ⇒ Object
Returns combined CSS classes for the navigation menu.
-
#navigation_menu_data_attributes ⇒ Object
Returns data attributes for Stimulus controller.
-
#navigation_menu_html_attributes ⇒ Object
Returns HTML attributes for the navigation menu container.
Instance Method Details
#navigation_menu_classes ⇒ Object
Returns combined CSS classes for the navigation menu
47 48 49 50 51 52 53 |
# File 'app/behaviors/ui/navigation_menu_behavior.rb', line 47 def classes_value = respond_to?(:classes, true) ? classes : @classes TailwindMerge::Merger.new.merge([ "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", classes_value ].compact.join(" ")) end |
#navigation_menu_data_attributes ⇒ Object
Returns data attributes for Stimulus controller
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'app/behaviors/ui/navigation_menu_behavior.rb', line 56 def attributes_value = respond_to?(:attributes, true) ? attributes : @attributes = defined?(@viewport) ? @viewport : true delay_value = defined?(@delay_duration) ? @delay_duration : 200 skip_delay_value = defined?(@skip_delay_duration) ? @skip_delay_duration : 300 base_data = { controller: "ui--navigation-menu", "ui--navigation-menu-viewport-value": , "ui--navigation-menu-delay-duration-value": delay_value, "ui--navigation-menu-skip-delay-duration-value": skip_delay_value } (attributes_value&.fetch(:data, {}) || {}).merge(base_data) end |
#navigation_menu_html_attributes ⇒ Object
Returns HTML attributes for the navigation menu container
39 40 41 42 43 44 |
# File 'app/behaviors/ui/navigation_menu_behavior.rb', line 39 def { class: , data: } end |