class Playbook::PbIcon::Icon

def border_class

def border_class
  border ? "fa-border" : nil
end

def classname

def classname
  generate_classname(
    "pb_icon_kit",
    "far",
    icon_class,
    border_class,
    fixed_width_class,
    flip_class,
    inverse_class,
    list_item_class,
    pull_class,
    pulse_class,
    rotation_class,
    size_class,
    spin_class,
    separator: " "
  )
end

def fixed_width_class

def fixed_width_class
  fixed_width ? "fa-fw" : nil
end

def flip_class

def flip_class
  case flip
  when "horizontal"
    "fa-flip-horizontal"
  when "vertical"
    "fa-flip-vertical"
  when "both"
    "fa-flip-horizontal fa-flip-vertical"
  end
end

def icon_class

def icon_class
  icon ? "fa-#{icon}" : nil
end

def inverse_class

def inverse_class
  inverse ? "fa-inverse" : nil
end

def list_item_class

def list_item_class
  list_item ? "fa-li" : nil
end

def pull_class

def pull_class
  pull ? "fa-pull-#{pull}" : nil
end

def pulse_class

def pulse_class
  pulse ? "fa-pulse" : nil
end

def rotation_class

def rotation_class
  rotation ? "fa-rotate-#{rotation}" : nil
end

def size_class

def size_class
  size ? "fa-#{size}" : nil
end

def spin_class

def spin_class
  spin ? "fa-spin" : nil
end