menu

Avatars

Usage

Avatars are for displaying user initials (usually 1-2 letters).

/ user => User(id: 9, first_name: "John", last_name: "Doe")
.avatar.avatar-sm
  = avatar_image(user: user)
import { Avatar } from 'n2-styles'

function myComponent(props) {
  // props.user = { id: 9, first_name: "John", last_name: "Doe" };
  return (
    <Avatar user={props.user} />
  );
}
<div class="avatar-sm">
  <div class="rounded-circle skittles-avatar skittles-avatar-0" data-initials="JD" title="John Doe"></div>
</div>

Colors

Avatars come in nine colors, which can be set using the class skittles-avatar-N where N is an integer 0 thru 8.

If you use the Rails helper / React component, the color is chosen through an equation based on the user ID: user_id % 9

Sizes

Avatars come in 5 sizes: xs, sm, md, lg, and xl. The default size for the React component is sm.

.avatar.avatar-xs
  = avatar_image(user: user)
.avatar.avatar-sm
  = avatar_image(user: user)
.avatar.avatar-md
  = avatar_image(user: user)
.avatar.avatar-lg
  = avatar_image(user: user)
.avatar.avatar-xl
  = avatar_image(user: user)
import { Avatar } from 'n2-styles'

function avatarSizes(props) {
  return (
    <Avatar user={props.user} size="xs" />
    <Avatar user={props.user} size="sm" />
    <Avatar user={props.user} size="md" />
    <Avatar user={props.user} size="lg" />
    <Avatar user={props.user} size="xl" />
  );
}
<div class="avatar avatar-xs">
  <div class="rounded-circle skittles-avatar skittles-avatar-0" data-initials="JD" title="John Doe"></div>
</div>
<div class="avatar avatar-sm">
  <div class="rounded-circle skittles-avatar skittles-avatar-1" data-initials="JD" title="John Doe"></div>
</div>
<div class="avatar avatar-md">
  <div class="rounded-circle skittles-avatar skittles-avatar-2" data-initials="JD" title="John Doe"></div>
</div>
<div class="avatar avatar-lg">
  <div class="rounded-circle skittles-avatar skittles-avatar-3" data-initials="JD" title="John Doe"></div>
</div>
<div class="avatar avatar-xl">
  <div class="rounded-circle skittles-avatar skittles-avatar-4" data-initials="JD" title="John Doe"></div>
</div>

Images

If you provide an image URL, the image will be displayed instead of the user's initials with the colored background.

.avatar.avatar-lg
  = avatar_image(user: user, photo_attr: :photo)
import { Avatar } from 'n2-styles'

function imageAvatar(props) {
  return (
    <Avatar user={props.user} image_url="https://placekitten.com/200/200" size="lg" />
  );
}
<div class="avatar avatar-lg">
  <img src="https://placekitten.com/200/200" alt="John Doe" title="John Doe" class="rounded-circle img-fluid">
</div>