Installation

Red Hat CDN

CDN Prerelease

We are currently working on our CDN, which will be soon moving into beta. This will be the preferred method of installation in the near future. If you are a Red Hat associate and have questions or comments about the CDN or installation process please join us in our Red Hat Design System Google chat.

In the meantime, install this component using npm

The recommended way to load RHDS is via the Red Hat Digital Experience CDN, and using an import map.

If you have full control over the page you are using, add an import map to the <head>, pointing to the CDN, or update any existing import map. If you are not responsible for the page's <head>, request that the page owner makes the change on your behalf.

<script type="importmap">
{
"imports": {
"@rhds/elements/": "https://www.redhatstatic.com/dx/v1-alpha/@rhds/elements@1.1.0/elements/",
"@patternfly/elements/": "https://www.redhatstatic.com/dx/v1-alpha/@patternfly/elements@2.2.2/"
}
}
</script>

Once the import map is established, you can load the element with the following module, containing a bare module specifier:

<script type="module">
import '@rhds/elements/rh-avatar/rh-avatar.js';
</script>

Note that Modules may be placed in the <head>: since they are deferred by default, they will not block rendering.

NPM

Install RHDS using your team's preferred NPM package manager, e.g.

npm install @rhds/elements

Once that's been accomplished, you will need to use a bundler to resolve the bare module specifiers and optionally optimize the package for your site's particular use case and needs. Comprehensive guides to bundling are beyond the scope of this page; read more about bundlers on their websites:

JSPM

Public CDNs

JSPM and other public CDNs should not be used on corporate domains. Use them for development purposes only!

Add an import map to the <head>, pointing to the CDN, or update any existing import map.

<script type="importmap">
{
"imports": {
"@rhds/elements/": "https://jspm.dev/@rhds/elements/",
"@patternfly/elements/": "https://jspm.dev/@patternfly/elements/"
}
}
</script>

Once the import map is established, you can load the element with the following module, containing a bare module specifier:

<script type="module">
import '@rhds/elements/rh-avatar/rh-avatar.js';
</script>

Note that Modules may be placed in the <head>: since they are deferred by default, they will not block rendering.

Usage

  <rh-avatar></rh-avatar>

rh-avatar

Slots

Default Slot

The subject's name

subtitle

auxiliary information about the subject, e.g. job title

Attributes

src

The URL to the user's custom avatar image.

It will be displayed instead of a random pattern.

DOM Property
src
Type
string | undefined
Default
unknown

name

The user's name, either given name and family name, or username.

When displaying a pattern, the name will be used to seed the pattern generator.

DOM Property
name
Type
string | undefined
Default
unknown

subtitle

The auxiliary information about the user, e.g. job title

DOM Property
subtitle
Type
string | undefined
Default
unknown

layout

The type of pattern to display.

DOM Property
layout
Type
'inline' | 'block' | undefined
Default
unknown

pattern

The type of pattern to display.

DOM Property
pattern
Type
'squares' | 'triangles' | undefined
Default
unknown

plain

When true, hides the title and subtitle

DOM Property
plain
Type
boolean
Default
false

on

DOM Property
on
Type
ColorTheme | undefined
Default
unknown

Methods

updatePattern()

Events

None

CSS Shadow Parts

None

CSS Custom Properties

CSS Property Description Default
--rh-avatar-colors

List of colors to use when generating avatars

--rh-avatar-size

Size of the avatar,

64px

Design Tokens

Token Copy
--rh-border-radius-pill
--rh-color-blue-30
--rh-color-blue-50
--rh-color-green-60
--rh-color-green-70
--rh-color-interactive-blue-darker
--rh-color-interactive-blue-darkest
--rh-color-interactive-blue-lighter
--rh-color-interactive-blue-lightest
--rh-color-interactive-purple-darker
--rh-color-interactive-purple-lighter
--rh-color-purple-60
--rh-color-purple-70
--rh-color-red-40
--rh-color-red-50
--rh-color-teal-50
--rh-color-teal-70
--rh-color-text-secondary-on-dark
--rh-color-text-secondary-on-light
--rh-font-family-heading
--rh-font-size-body-text-sm
--rh-font-weight-heading-medium
--rh-font-weight-heading-regular
--rh-size-icon-06
--rh-space-lg
© 2021-2024 Red Hat, Inc. Deploys by Netlify