class Playbook::PbNav::Item

def active_class

def active_class
  active ? "active" : nil
end

def classname

def classname
  if collapsible
    "#{generate_classname('pb_nav_list_kit_item', active_class)} #{generate_classname('pb_collapsible_nav_item', active_class, collapsible_trail_class)} #{font_size_class} #{font_weight_class}"
  else
    "#{generate_classname('pb_nav_list_kit_item', active_class)} #{font_size_class} #{font_weight_class}"
  end
end

def collapsible_icons

def collapsible_icons
  icon_right.present? ? icon_right : %w[plus minus]
end

def collapsible_trail_class

def collapsible_trail_class
  collapsible_trail ? "collapsible_trail" : nil
end

def font_size_class

def font_size_class
  font_size === "small" ? "font_size_small" : "font_size_normal"
end

def font_weight_class

def font_weight_class
  case font_weight
  when "bold"
    "font_bold"
  when "bolder"
    "font_bolder"
  else
    "font_regular"
  end
end

def link_options

def link_options
  options.merge(
    href: link,
    target: target
  )
end

def options

def options
  {
    class: collapsible ? "pb_nav_list_item_link_collapsible" : "pb_nav_list_item_link",
  }.compact
end

def tag

def tag
  link ? "a" : "div"
end