class Primer::Alpha::Dropdown::Menu::Item

Items to be rendered in the ‘Dropdown` menu.

def call

def call
  component = if BUTTON_TAGS.include?(@system_arguments[:tag])
                # rubocop:disable Primer/ComponentNameMigration
                Primer::ButtonComponent.new(scheme: :link, **@system_arguments)
                # rubocop:enable Primer/ComponentNameMigration
              else
                Primer::BaseComponent.new(**@system_arguments)
              end
  # divider has no content
  render(component) if divider?
  render(component) { content }
end

def divider?

def divider?
  @divider
end

def initialize(as:, tag: TAG_DEFAULT, divider: false, **system_arguments)

def initialize(as:, tag: TAG_DEFAULT, divider: false, **system_arguments)
  @divider = divider
  @as = as
  @system_arguments = system_arguments
  @system_arguments[:tag] = fetch_or_fallback(TAG_OPTIONS, tag, TAG_DEFAULT)
  @system_arguments[:tag] = :li if list? && divider?
  @system_arguments[:role] ||= :menuitem
  @system_arguments[:role] = :presentation if divider
  @system_arguments[:classes] = class_names(
    @system_arguments[:classes],
    "dropdown-item" => !divider,
    "dropdown-divider" => divider
  )
end

def list?

def list?
  @as == :list
end