Avatar

Component

Interactive examples and API documentation

Basic Usage
Code
<%= render(Hakumi::Space::Component.new(size: :middle, align: :center)) do %>
  <%= render(Hakumi::Avatar::Component.new(icon: :user)) %>
  <%= render(Hakumi::Avatar::Component.new(icon: :user, shape: :square)) %>
<% end %>
Sizes
Code
<%= render(Hakumi::Space::Component.new(size: :middle, align: :center)) do %>
  <%= render(Hakumi::Avatar::Component.new(size: 64, icon: :user)) %>
  <%= render(Hakumi::Avatar::Component.new(size: :large, icon: :user)) %>
  <%= render(Hakumi::Avatar::Component.new(icon: :user)) %>
  <%= render(Hakumi::Avatar::Component.new(size: :small, icon: :user)) %>
<% end %>
Types
U USER U
Code
<%= render(Hakumi::Space::Component.new(size: :middle, align: :center)) do %>
  <%= render(Hakumi::Avatar::Component.new(icon: :user)) %>
  <%= render(Hakumi::Avatar::Component.new) do %>U<% end %>
  <%= render(Hakumi::Avatar::Component.new) do %>USER<% end %>
  <%= render(Hakumi::Avatar::Component.new(src: "https://api.dicebear.com/7.x/miniavs/svg?seed=1")) %>
  <%= render(Hakumi::Avatar::Component.new(style: "color: #f56a00; background-color: #fde3cf;")) do %>U<% end %>
  <%= render(Hakumi::Avatar::Component.new(style: "background-color: #87d068;", icon: :user)) %>
<% end %>
Auto-scale Text
A AB ABC ABCD LongText
Code
<%= render(Hakumi::Space::Component.new(size: :middle, align: :center)) do %>
  <%= render(Hakumi::Avatar::Component.new) do %>A<% end %>
  <%= render(Hakumi::Avatar::Component.new) do %>AB<% end %>
  <%= render(Hakumi::Avatar::Component.new) do %>ABC<% end %>
  <%= render(Hakumi::Avatar::Component.new) do %>ABCD<% end %>
  <%= render(Hakumi::Avatar::Component.new(size: 64)) do %>LongText<% end %>
<% end %>
With Badge
1
Code
<%= render(Hakumi::Space::Component.new(size: :middle, align: :center)) do %>
  <%= render(Hakumi::Badge::Component.new(count: 1)) do %>
    <%= render(Hakumi::Avatar::Component.new(shape: :square, icon: :user)) %>
  <% end %>
  <%= render(Hakumi::Badge::Component.new(dot: true)) do %>
    <%= render(Hakumi::Avatar::Component.new(shape: :square, icon: :user)) %>
  <% end %>
<% end %>

Avatar API

Prop Type Default Description
shape :circle or :square :circle Avatar frame shape.
size :small | :default | :large or Integer :default Preset token or custom pixel value.
src String - Image URL rendered inside the avatar.
icon Symbol or ViewComponent - Icon shown when no image is provided.
alt String - Alt text for the image avatar variant.
content slot Slot - Fallback initials/text when neither src nor icon.
**html_options Keyword args - Wrapper attributes passed as kwargs (e.g., `class:`, `style:`, `data:`).