Class: UI::NavigationMenu
- Inherits:
-
Phlex::HTML
- Object
- Phlex::HTML
- UI::NavigationMenu
- Includes:
- NavigationMenuBehavior
- Defined in:
- app/components/ui/navigation_menu.rb
Overview
NavigationMenu - Phlex implementation
A collection of links for navigating websites. Built on Radix UI patterns. Uses NavigationMenuBehavior concern for shared styling logic.
Instance Method Summary collapse
-
#initialize(viewport: true, delay_duration: 200, skip_delay_duration: 300, classes: "", **attributes) ⇒ NavigationMenu
constructor
A new instance of NavigationMenu.
- #view_template(&block) ⇒ Object
Methods included from NavigationMenuBehavior
#navigation_menu_classes, #navigation_menu_data_attributes, #navigation_menu_html_attributes
Constructor Details
#initialize(viewport: true, delay_duration: 200, skip_delay_duration: 300, classes: "", **attributes) ⇒ NavigationMenu
Returns a new instance of NavigationMenu.
32 33 34 35 36 37 38 |
# File 'app/components/ui/navigation_menu.rb', line 32 def initialize(viewport: true, delay_duration: 200, skip_delay_duration: 300, classes: "", **attributes) @viewport = @delay_duration = delay_duration @skip_delay_duration = skip_delay_duration @classes = classes @attributes = attributes end |
Instance Method Details
#view_template(&block) ⇒ Object
40 41 42 43 44 45 46 47 48 49 |
# File 'app/components/ui/navigation_menu.rb', line 40 def view_template(&block) nav(**.deep_merge(@attributes)) do yield if block_given? # Render viewport if enabled if @viewport render UI::Viewport.new end end end |