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