Detalhes do pacote

@jamesonhodge/avvvatars-react

jamesonhodge136MIT0.5.1

Generates unique placeholder avatars with either characters or shapes for React projects and Node.js environments.

placeholder avatars, avatars, react, svg

readme (leia-me)

Avvvatars

Avvvatars

Beautifully crafted unique avatar placeholder for your next react project

Lightweight and customizable ❤️

https://user-images.githubusercontent.com/1702215/158075475-c23004ab-827a-45ad-bdba-aee29ac5b582.mp4

Live Demo 🧩 | Website 🧘‍♀️

Built by Nusu Alabuga and Oguz Yagiz Kara

🙏 Special thanks to Monika Michalczyk for awesome shapes 🙏

Features

  • 🌈 40 Colors - Colors are so on point that most of the projects can use it without changing it
  • 💠 60 Shapes - Beautifully crafted shapes that are unique to your user with color combination
  • 🆎 Text or Shapes 🔸 - Use letters (eg. JD for John Doe) or unique shapes
  • 🤠 Unique to user - Generated avatars are unique to the string that you provide, it means if you pass janedoe@gmail.com you will always get the same avatar
  • 🕊 Lightweight - less than 20kb compressed + gzipped
  • ✍️ Customizable - use shadows, change size, provide alternative text to display
  • 🎯 Headless Mode - Use the core avatar generation logic in any environment, not just React

Installation

With yarn

yarn add avvvatars-react

With npm

npm install avvvatars-react

Getting Started

Import Avvvatars to your app, then use it anywhere you want.

import Avvvatars from "avvvatars-react";

export default function MyAvatar() {
  return <Avvvatars value="best_user@gmail.com" />;
}

Headless Usage

For non-React environments or when you need just the SVG generation logic, you can use the headless version:

import { createAvatar } from "avvvatars-react/headless";

// Generate an SVG string
const svgString = createAvatar("best_user@gmail.com", {
  style: "character", // or 'shape'
  size: 32,
  shadow: false,
  border: false,
  borderSize: 2,
  borderColor: "#fff",
  radius: 32,
  displayValue: "BU", // optional
});

// Use the SVG string as needed
console.log(svgString);

The headless version provides the same customization options as the React component but returns an SVG string instead of a React component. This is useful for:

  • Server-side rendering
  • Non-React environments
  • Custom implementations
  • Generating avatars for emails or other non-browser contexts

Customization

value: string

This is required for plugin to work, each value generates a random avatar to unique to this value, so each time plugin renders, you will get the same results.

<Avvvatars value="best_user@gmail.com" />

displayValue?: string

Override default text by providing displayValue

for example if you provide value="best_user@gmail.com" the character output will be the first 2 letters of value which is "BE", if you pass displayValue="BU" you can override it to BU

<Avvvatars value="best_user@gmail.com" displayValue="BE" />

style?: character | shape (default character)

Use shape or character as avatar.

<Avvvatars value="best_user@gmail.com" style="character" />

size?: number (default 32)

Override default size (32px) by providing a number.

<Avvvatars value="best_user@gmail.com" size={32} />

shadow?: boolean (default false)

Enable shadow around the avatar.

<Avvvatars value="best_user@gmail.com" shadow={false} />

radius?: number (default size)

Override the radius of the avatar, it takes size by default to always turn it to a circle

<Avvvatars value="best_user@gmail.com" radius={10} />

border?: boolean (default false)

Toggle border

<Avvvatars value="best_user@gmail.com" border={false} />

borderSize?: number (default 2)

Override border width

<Avvvatars value="best_user@gmail.com" borderSize={2} />

borderColor?: string (default #fff)

Override border color

<Avvvatars value="best_user@gmail.com" borderColor="#fff" />

Figma

If you want to access design files to change something or customize it to your own, use our Figma File>)

License

MIT