Class: Plutonium::UI::NavUser::SectionLink

Inherits:
Component::Base show all
Includes:
Phlex::Slotable
Defined in:
lib/plutonium/ui/nav_user.rb

Instance Method Summary collapse

Methods included from Component::Behaviour

#around_template

Methods included from Component::Tokens

#classes, #tokens

Methods included from Component::Kit

#BuildActionButton, #BuildBlock, #BuildBreadcrumbs, #BuildColorModeSelector, #BuildDynaFrameContent, #BuildDynaFrameHost, #BuildEmptyCard, #BuildFrameNavigatorPanel, #BuildPageHeader, #BuildPanel, #BuildSkeletonTable, #BuildTabList, #BuildTableInfo, #BuildTablePagination, #BuildTableScopesBar, #BuildTableSearchBar, #method_missing, #respond_to_missing?

Constructor Details

#initialize(label:, href:, **attributes) ⇒ SectionLink

Returns a new instance of SectionLink.



12
13
14
15
16
# File 'lib/plutonium/ui/nav_user.rb', line 12

def initialize(label:, href:, **attributes)
  @label = label
  @href = href
  @attributes = attributes
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Plutonium::UI::Component::Kit

Instance Method Details

#view_templateObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/plutonium/ui/nav_user.rb', line 18

def view_template
  a(
    class: tokens(
      "flex justify-between items-center py-2 px-4 text-sm hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white",
      @attributes.delete(:class)
    ),
    href: @href,
    **@attributes
  ) do
    span(class: "flex items-center") do
      render leading_slot if leading_slot
      plain @label
    end
    render trailing_slot if trailing_slot?
  end
end