class Playbook::PbAvatar::Avatar

def default_configuration

def default_configuration
  DEFAULT
end

def image

def image
  if is_set? configured_image
    pb_image = Playbook::PbImage::Image.new(configured_image)
    ApplicationController.renderer.render(partial: pb_image, as: :object)
  end
end

def initialize(aria: default_configuration,

def initialize(aria: default_configuration,
               classname: default_configuration,
               data: default_configuration,
               id: default_configuration,
               image: default_configuration,
               name: default_configuration,
               size: default_configuration,
               status: default_configuration)
  self.configured_aria = aria
  self.configured_classname = classname
  self.configured_data = data
  self.configured_id = id
  self.configured_image = image
  self.configured_name = name
  self.configured_size = size
  self.configured_status = status
end

def initials

def initials
  adjusted_value(configured_name, configured_name.split.map(&:first).join.downcase, "")
end

def kit_class

def kit_class
  avatar_options = [
    "pb_avatar",
    size,
  ]
  avatar_options.join("_")
end

def size

def size
  size_options = %w[xs sm md base lg xl]
  one_of_value(configured_size, size_options, "md")
end

def status

def status
  if is_set? configured_status
    online_status_props = { status: configured_status, classname: "size_#{size}" }
    pb_status = Playbook::PbOnlineStatus::OnlineStatus.new(online_status_props)
    ApplicationController.renderer.render(partial: pb_status, as: :object)
  end
end

def to_partial_path

def to_partial_path
  "pb_avatar/avatar"
end