Class: Phlexi::Menu::Theme

Inherits:
Field::Theme
  • Object
show all
Defined in:
lib/phlexi/menu/theme.rb

Direct Known Subclasses

Component::Theme

Class Method Summary collapse

Class Method Details

.themeHash

Defines the default theme structure with nil values Can be overridden in subclasses to provide custom styling

Returns:

  • (Hash)

    Default theme structure with nil values



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/phlexi/menu/theme.rb', line 10

def self.theme
  @theme ||= {
    # Container elements
    nav: nil,                    # Navigation wrapper
    items_container: nil,        # <ul> list container

    # Item structure elements
    item_wrapper: nil,           # <li> item wrapper
    item_parent: nil,            # Additional class for items with visible children
    item_link: nil,              # <a> for clickable items
    item_span: nil,              # <span> for non-clickable items
    item_label: nil,             # Label text wrapper

    # Interactive states
    active: nil,                 # Active/selected state
    hover: nil,                  # Hover state

    # Badge elements
    leading_badge_wrapper: nil,  # Wrapper for leading badge
    trailing_badge_wrapper: nil, # Wrapper for trailing badge
    leading_badge: nil,          # Badge before label
    trailing_badge: nil,         # Badge after label

    # Icon elements
    icon: nil,                   # Icon styling
    icon_wrapper: nil            # Icon container
  }.freeze
end