Skip to content

Avatar

A pixel-style avatar component for displaying user initials.

NameCategoryDescriptionTypeDefault
shape? StyleShape'circle' | 'square''circle'
border? StyleWhether to show borderbooleantrue
size? SizeSize'large' | 'default' | 'small''default'
color? ColorCustom hex background colorstring
default? SlotAvatar content (e.g. text initials)

Basic Usage

Display text initials inside an avatar.

<template>
  <div class="demo-avatar">
    <px-avatar>AB</px-avatar>
    <px-avatar>JD</px-avatar>
    <px-avatar>Px</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

Sizes

Use size property to set the avatar size.

<template>
  <div class="demo-avatar">
    <px-avatar size="large">LG</px-avatar>
    <px-avatar>DF</px-avatar>
    <px-avatar size="small">SM</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

Shapes

Use shape property to switch between circle (default) and square.

<template>
  <div class="demo-avatar">
    <px-avatar>AB</px-avatar>
    <px-avatar shape="square">AB</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

Border

Use :border="false" to hide the pixel-style border (shown by default).

<template>
  <div class="demo-avatar">
    <px-avatar>AB</px-avatar>
    <px-avatar :border="false">AB</px-avatar>
    <px-avatar shape="square">AB</px-avatar>
    <px-avatar shape="square" :border="false">AB</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

Status Indicator

Use status property to show an indicator dot. Set to 'online' for green or 'offline' for gray. Omit the prop to hide the indicator.

<template>
  <div class="demo-avatar">
    <px-indicator type="success" :offset="[-4, 4]">
      <px-avatar>AB</px-avatar>
    </px-indicator>
    <px-indicator type="info" :offset="[-4, 4]">
      <px-avatar>JD</px-avatar>
    </px-indicator>
    <px-avatar>Px</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

Custom Color

Use color property to set a custom hex background color.

<template>
  <div class="demo-avatar">
    <px-avatar color="#8839ef">AB</px-avatar>
    <px-avatar color="#1e66f5">JD</px-avatar>
    <px-avatar color="#40a02b">Px</px-avatar>
    <px-avatar color="#fe640b" shape="square" border>SK</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>