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