Skip to content

Notifications

Persona

Bit.BlazorUIAvatar

The Persona shows who someone is. Its coin holds their picture, or the initials derived from their name, or an icon when there is neither, in nine sizes from a bare presence dot up to 120px and in any custom size beside them. Up to four lines of detail sit next to the coin, each of them a text or a template of your own, and the size decides how many of them there is room for. A presence dot marks availability across eight statuses, carrying a glyph and a name of your choosing; the coin can be a circle, a rounded square or a sharp one, filled, outlined or bare, colored from the palette or from a stable hash of the person's identity, ringed while they are the one a view is about and pushed back while they are not, and turned into a button that reveals an overlay for changing the picture or into a link that opens their profile.

Usage

Every example is live. Open its code to see exactly what produced the component running underneath.

Basic

A persona is a coin and the details beside it. PrimaryText is the name, and what the coin shows falls back through three steps: the picture at ImageUrl, then the initials taken from the name, then a generic person icon when the name gives no initials to take. SecondaryText is the second line, usually the role.

Xafan Salina
Software Engineer


Saleh Khafan
Developer


+1 (555) 016 7788
No initials to take

Presence

Presence marks the dot on the coin with one of eight statuses. Online, Away, Busy and Dnd say the person is signed in; Offline, Blocked, OutOfOffice and Unknown say they are not reachable, each in its own way. The dot names itself to screen readers after its status, and PresenceTitles replaces those names - and the tooltip - with your own wording, one entry per status; PresenceTitle does the same for a single persona. PresenceIconNames puts a glyph inside the dot, and PresenceIconName does the same for a persona that only ever shows the one status. The dot is a quarter of the coin, so a coin under 40px across - by its Size or by a custom CoinSize - has no room left for a glyph and shows none.

Xafan Salina
Online


Xafan Salina
Away


Xafan Salina
Busy


Xafan Salina
Dnd (do not disturb)


Xafan Salina
Offline


Xafan Salina
Blocked


Xafan Salina
OutOfOffice


Xafan Salina
Unknown




With a glyph inside the dot (PresenceIconNames):

Xafan Salina
Software Engineer




A single status, without a map of all eight (PresenceIconName):

Xafan Salina
Out of office




Named for the reader (PresenceTitles) - hover the dot to see the tooltip:

Xafan Salina
Software Engineer

Initials

With no picture the coin shows initials, taken from PrimaryText by the rule the rest of the industry settled on: two words give the first letter of each, three skip the middle one, and anything else gives the first letter alone. What a display name carries around those words is taken off first - a parenthesized aside, punctuation, an address written for a machine - and a name that has no letters in it at all, a phone number for instance, yields the person icon instead of two arbitrary numerals, unless AllowPhoneInitials says the numbers are the name. ImageInitials overrides all of it with exactly what you pass - and since the coin is sized for the two letters a name can yield, anything longer is stepped down to fit rather than clipped by it.

Saleh Khafan
Two words


Ted Alan Randall
Three words - the middle one is skipped


Elvia Atkins (Contoso)
The aside is dropped


An address, not a name


+1 (555) 016 7788
No letters - the icon stands in


+1 (555) 016 7788
AllowPhoneInitials


Saleh Khafan
ImageInitials


Saleh Khafan
Three letters, stepped down to fit


Saleh Khafan
Four letters, stepped down further




ShowInitialsUntilImageLoads fills the coin while the picture is on its way, and the initials stay when it never arrives:

Saleh Khafan
Broken image url

Coin icon

CoinIconName puts an icon in the coin in place of the initials, which is how a persona stands for something that is not a person - a team, a room, a service account. Pass a BitIconInfo to CoinIcon instead to use an icon from outside the built-in set. The icon also stands in when a picture fails and the name gives no initials.

Design Team
12 members


Meeting Room 4
Second floor


Build Bot
Service account

Unknown

Unknown is the coin for a person nobody has been able to resolve. It takes precedence over the picture and the initials both, and shows a question mark that UnknownIconName - or UnknownIcon, for an icon from outside the built-in set - replaces with something else.

Unknown
Developer


Unresolved
Custom unknown icon

Shape

Shape decides the outline of the coin. Circular is the default and what a picture of a person belongs in; Rounded is the square most design systems reserve for entities rather than people - a team, a room, a service account; and Square takes the corners off entirely, for a logo or a tile that has to fill the coin edge to edge. The presence dot follows the corner out so it keeps clearing the coin. Squared is the older shorthand for Rounded, and a Shape of its own wins over it.

Xafan Salina
Circular (default)


Xafan Salina
Rounded


Xafan Salina
Square


Design Team
A coin that is not a face

Variant

CoinVariant decides how the coin color is spent when there is no picture in it: Fill paints the whole coin, Outline keeps only the ring and the initials, and Text drops the ring too and leaves the initials alone on the page.

Saleh Xafan
Fill (default)


Saleh Xafan
Outline


Saleh Xafan
Text

Active

Active points at the one person a view is about - whoever is speaking, whoever wrote the message being read - without moving them out of the list they belong to. ActiveAppearance picks how: a Ring in the coin color, a Shadow under the coin, or RingShadow for both. The ring is separated from the coin by a gap cut in the page color, and both are a proportion of the coin rather than a constant, so they stay in scale across the size ramp; a persona sitting on a surface of its own retunes that gap with the --bit-prs-ring-gap-clr variable, and its width with --bit-prs-ring-gap and --bit-prs-ring-width. Inactive is the other half of the same idea: it shrinks the coin slightly and fades it back - by --bit-prs-inactive-scale and --bit-prs-inactive-opacity - which is what everyone who is not speaking looks like in a call grid. It stands down while Active is true, since a persona cannot be both at once.

Xafan Salina
Not active


Xafan Salina
Ring (default)


Xafan Salina
Shadow


Xafan Salina
RingShadow




On a surface of its own, with the gap cut in that surface instead of the page:

Xafan Salina
Default gap color


Xafan Salina
Retuned gap color




The speaker and everyone else (Active and Inactive):

Xafan Salina
Speaking


Saleh Khafan
Listening


Ted Randall
Listening

Action

Two different things can be clicked. OnActionClick adds a small button under the coin - ActionIconName and ActionButtonTitle dress it, and ActionTemplate replaces it outright. OnImageClick turns the whole coin into a button instead: it reveals the overlay labelled by ImageOverlayText, and is a real button element - announced as one, focusable, and answering Enter and Space without the page scrolling underneath it. The overlay belongs to the click rather than to the picture, so a coin carrying initials, an icon or the unknown glyph reveals it just the same. The action button sits at the foot of the coin and the presence dot in its trailing corner, so a persona can carry both. TabIndex reaches whichever control the coin has become, and Href makes it a link rather than a button - see Link.

Action button (hover, or tab to it, at the bottom of the coin):

Xafan Salina
Software Engineer
In a meeting
Available at 4:00pm

Action Click Count: 0





Clickable coin (hover or focus it to reveal the overlay):

Xafan Salina
Software Engineer
In a meeting
Available at 4:00pm

Image Click Count: 0





A clickable coin with no picture in it reveals the same overlay:

Saleh Khafan
Developer




An empty ImageOverlayText leaves the coin a plain button with no veil over it, which is what a coin that opens a profile rather than changing the picture wants:

Xafan Salina
Opens the profile




A whole action of your own (ActionTemplate):

Xafan Salina
Software Engineer

Disabled

IsEnabled set to false dims the coin, greys the texts and stops every click and key the persona would otherwise answer - the action button is disabled outright and a clickable coin leaves the tab order.

Xafan Salina
Software Engineer


Saleh Khafan
Developer

Image events

OnImageLoad and OnImageError report what became of the picture. The coin falls back to the initials by itself when the load fails, so the callbacks are there for logging it, or for reaching for a second source. The picture itself is never held back waiting for the load event: a statically rendered page has nothing attached to fire one, and a prerendered page can have the picture in the cache before it does.

Xafan Salina
Loads

Image Load Count: 0





Xafan Salina
Fails

Image Error Count: 0

Image loading

ImageLoading decides when the browser fetches the picture: Lazy holds off until it is nearly in view, which is what a long list of people wants, and Eager fetches it straight away. ImageAttributes is where any other attribute of the img element goes - crossorigin, referrerpolicy, decoding, fetchpriority, draggable. ImageFadeIn holds the picture back until it has loaded and then fades it in, so a long list of faces arrives as something the eye can follow instead of popping in one picture at a time.

Xafan Salina
Lazy loaded


Xafan Salina
Eagerly loaded, not draggable




Faded in on arrival (ImageFadeIn) - hide the persona and show it again to watch the fade:



Xafan Salina
Faded in

Responsive image

ImageSrcSet offers the browser several copies of the picture and ImageSizes tells it how much room the coin will take, so a retina screen gets the sharp copy and a phone does not download it. A set of candidates is a picture in its own right: ImageUrl is only the source the browser falls back to, and a coin given nothing but candidates still shows one instead of dropping to its initials. ImageAlt describes the picture itself; leave it unset and the picture is marked decorative, since the name beside it already says who this is.

Xafan Salina smiling at the camera
Xafan Salina
Software Engineer




Candidates alone, with no ImageUrl behind them:

Xafan Salina
Software Engineer

Templates

Every text has a template beside it - PrimaryTextTemplate, SecondaryTextTemplate, TertiaryTextTemplate and OptionalTextTemplate - for when a line has to hold more than a string. ImageOverlayTemplate replaces the text of the overlay, and CoinTemplate replaces the contents of the coin outright, which is the way in for a picture the component would not otherwise know how to render.

Text and overlay templates:

Xafan Salina
Software Engineer
In a meeting
Available at 7:00pm




Coin template:

Xafan Salina
Software Engineer

AutoCoinColor

AutoCoinColor picks the coin color by a stable hash, so the same person keeps the same color everywhere and two people in a list are told apart at a glance. What is hashed is CoinColorSeed when it is set - a user id or an address, which keeps the color from moving when the displayed name does, and keeps two people who share a name apart - and otherwise ImageInitials or PrimaryText. AutoCoinColors replaces the set the hash picks from - a palette of one pins every persona to that color, and one that leaves the semantic colors out keeps a list of people from reading as a list of statuses. An explicit CoinColor wins over all of it.

Xafan Salina
Software Engineer


Saleh Khafan
Developer


Ted Randall
Designer


Carlos Slattery
Manager


Elvia Atkins
QA Engineer




Both of these are the same person under a different display name, held together by CoinColorSeed:

Xafan Salina
Software Engineer


X. Salina
Same seed, same color




Hashed out of a palette of your own (AutoCoinColors):

Xafan Salina
Software Engineer


Saleh Khafan
Developer


Ted Randall
Designer


Carlos Slattery
Manager




CoinColor takes precedence over AutoCoinColor when set explicitly:

Xafan Salina
Always green

Reversed

Reversed puts the coin after the texts instead of before them, which is what a row aligned to the right edge of a panel wants. The presence dot moves to the other corner with it.

Xafan Salina
Software Engineer

FullWidth

A persona is only as wide as it needs to be. FullWidth stretches it across its container instead, and the texts take everything the coin leaves - which is what finally gives a long name something to ellipsize against. Each of the four rows carries itself as a native tooltip so the clipped part can still be read; set ShowOverflowTooltip to false where the rows are known to be wide enough and the tooltip is only noise.

Xafan Salina
Software Engineer

Xafan Salina
Software Engineer

Xafan Salina Abdollahzadeh Yusefnejad
Principal Software Engineer, Platform and Developer Experience

Xafan Salina Abdollahzadeh Yusefnejad
No tooltip on hover

Link

Href turns the coin into a real link, which is what an avatar that opens a profile is: it is announced as a link, answers Enter, and can be opened in a new tab, copied or previewed the way every other link on the page can - none of which a coin that only runs a handler can offer. Target picks the browsing context it opens in, and setting it to _blank adds rel="noopener" of its own accord unless a Rel of your own says otherwise. A coin that only navigates takes no Edit image veil - it is not offering to change the picture - so it is named after the person instead; pass ImageOverlayText to put one back. OnImageClick still fires alongside the navigation where both are given, and a disabled persona drops the href rather than pretending to be a link that goes nowhere.

Xafan Salina
Opens this page




In a new tab, with rel="noopener" added for you:

bit platform
Opens in a new tab




With a veil of its own (ImageOverlayText) and a click handler beside the navigation:

Xafan Salina
Software Engineer

Image Click Count: 0





A disabled link coin keeps its place but goes nowhere:

Xafan Salina
Disabled

Color

CoinColor paints the coin from the general palette. It is what the initials, the coin icon and the overlay are drawn against, so the pairing of background and foreground comes from the theme and stays legible in both schemes.

Primary


Secondary


Tertiary


Info
(default)


Success


Warning


SevereWarning


Error


PrimaryBackground


SecondaryBackground


TertiaryBackground


PrimaryForeground


SecondaryForeground


TertiaryForeground


PrimaryBorder


SecondaryBorder


TertiaryBorder

External Icons

Every icon of the persona - the action button, the presence glyphs, the coin icon and the unknown coin - accepts a BitIconInfo beside its name, which is what lets an icon come from FontAwesome, Bootstrap Icons or any other font instead of the built-in set.


FontAwesome action icon (hover over the image):

Xafan Salina
Software Engineer
In a meeting
Available at 4:00pm

Action Click Count: 0



FontAwesome coin icon:

Design Team
12 members




Bootstrap Icons presence icons:

Xafan Salina
Online


Xafan Salina
Busy


Xafan Salina
Away


Xafan Salina
Dnd


Xafan Salina
Offline

Size

Size runs from Size8, which is a presence dot and a name and no coin at all, up to Size120. The size also decides how many of the four texts there is room for: the secondary from 40 up, the tertiary from 72, the optional from 100. ShowSecondaryText puts the second line back on the sizes that leave no room for it, which is what a compact list of people with a role under each name wants. CoinSize overrides the coin with a pixel size of your own, and scales the initials, the presence dot and the glyph inside it along with it. HidePersonaDetails drops the texts and leaves the coin alone, which then names itself after the primary text for anyone who cannot see it - and a persona given no texts at all drops the column of its own accord, so the coin is not left trailing the gap that would have sat between them.





Size 8 Persona:

Xafan Salina
Secondary




Size 24 Persona:

Xafan Salina
Secondary




Size 32 Persona:

Xafan Salina
Secondary




Size 40 Persona:

Xafan Salina
Software Engineer




Size 48 Persona:

Xafan Salina
Software Engineer




Size 56 Persona:

Xafan Salina
Software Engineer




Size 72 Persona:

Xafan Salina
Software Engineer
In a meeting




Size 100 Persona:

Xafan Salina
Software Engineer
Off
Available at 4:00pm




Size 120 Persona:

Xafan Salina
Software Engineer
In a meeting
Available at 4:00pm




CoinSize 150:

Xafan Salina
Software Engineer
In a meeting
Available at 4:00pm




CoinSize 150 with initials:

Xafan Salina
Software Engineer




The second line on a size that has no room for it (ShowSecondaryText):

Xafan Salina
Software Engineer


Xafan Salina
Software Engineer

Style & Class

Style and Class reach the root element, while Styles and Classes reach every part of the persona by name - the coin container, the image, the initials, the presence dot, the overlay, the action button and each of the four text rows.

Component's Style & Class:

Saleh Khafan


Saleh Khafan




Styles & Classes:

Saleh Khafan


Saleh Khafan

RTL

Set Dir to Rtl to lay the persona out right to left. The coin moves to the right of the texts and the presence dot moves with it. A pair of Latin initials is written back to front so that the layout reads them in the right order, while initials taken from a right-to-left name are already in that order and are left as they are.

صالح یوسف نژاد
مهندس نرم افزار


Saleh Khafan
یک نام لاتین


صالح یوسف نژاد
مهندس نرم افزار

API

Every parameter, public member, sub-class and enum this component exposes.

BitPersona parameters

Name Type Default value Description
ActionButtonTitle string Edit image The title of the action button (tooltip).
ActionIcon BitIconInfo? null Icon for the icon button of the custom action using BitIconInfo. Takes precedence over ActionIconName when both are set.
ActionIconName string? Icon name for the icon button of the custom action.
ActionTemplate RenderFragment? Optional Custom template for the custom action element.
Active bool false Marks the persona as active, which decorates its coin according to ActiveAppearance.
ActiveAppearance BitPersonaActiveAppearance? null How the coin is decorated while Active is true. The default is a ring.
AllowPhoneInitials bool false Whether initials are derived from names that carry no letters at all - a phone number, an order id, a project named after a number sequence. Such a name otherwise falls back to the coin icon.
AutoCoinColor bool false If true, automatically generates a stable coin background color derived from CoinColorSeed, ImageInitials or PrimaryText. Only takes effect when CoinColor is not explicitly set.
AutoCoinColors IEnumerable<BitColor>? null The colors AutoCoinColor is allowed to pick from, in place of the built-in set. An empty or null value falls back to the built-in set.
Classes BitPersonaClassStyles null Custom CSS classes for different parts of the BitPersona component.
CoinColor BitColor? null The background color when the user's initials are displayed.
CoinColorSeed string? null The text AutoCoinColor hashes to pick a coin color, so the color follows the identity of the person rather than the name being displayed. Falls back to ImageInitials and then PrimaryText.
CoinIcon BitIconInfo? null The icon rendered inside the coin in place of the initials. Takes precedence over CoinIconName when both are set.
CoinIconName string? null The name of the icon rendered inside the coin in place of the initials.
CoinSize int? Optional custom persona coin size in pixel.
CoinTemplate RenderFragment? Custom persona coin's image template.
CoinVariant BitVariant? null The variant of the coin.
FullWidth bool false Renders the persona in full width of its container element.
HidePersonaDetails bool false Whether to not render persona details, and just render the persona image/initials.
Href string? null The url the coin navigates to, which renders it as a link (an anchor element) instead of a plain box.
ImageAlt string? null Alt text for the image to use. default is empty string.
ImageAttributes Dictionary<string, object> new Dictionary<string, object>() Captures additional HTML attributes to be applied to the rendered img element of the coin (crossorigin, referrerpolicy, decoding, fetchpriority, draggable, ...).
ImageFadeIn bool false Fades the picture in once it has loaded, instead of letting it appear the instant the last byte arrives.
ImageInitials string? null The user's initials to display in the image area when there is no image. When it is not set, the initials are derived from PrimaryText.
ImageLoading BitImageLoading? null Specifies the loading behavior of the image. Maps to the HTML loading attribute (e.g., "lazy" or "eager").
ImageOverlayTemplate RenderFragment? Optional Custom template for the image overlay.
ImageOverlayText string Edit image The text of the image overlay.
ImageSizes string? null The set of media conditions that tells the browser which of the ImageSrcSet candidates to pick. Maps to the HTML img sizes attribute.
ImageSrcSet string? null A set of image source URLs for different display densities or sizes. Maps to the HTML img srcset attribute. A coin given nothing but this still shows a picture: ImageUrl is only the source the browser falls back to.
ImageUrl string? null Url to the image to use, should be a square aspect ratio and big enough to fit in the image area.
Inactive bool false Marks the persona as one of the people a view is not about, which shrinks its coin slightly and fades it back. Ignored while Active is true.
OnActionClick EventCallback<MouseEventArgs> null Callback for the persona custom action.
OnImageClick EventCallback<MouseEventArgs> null Callback for when the image clicked. Assigning it renders the coin as a real button element, so it is announced as one, takes the focus, answers Enter and Space, and goes inert with the rest of the persona when it is disabled.
OnImageError EventCallback<ErrorEventArgs> null Callback for when the image fails to load.
OnImageLoad EventCallback<ProgressEventArgs> null Callback for when the image successfully loads.
OptionalText string? null Optional text to display, usually a custom message set. The optional text will only be shown when using size100 or size120.
OptionalTextTemplate RenderFragment? Custom optional text template.
Presence BitPersonaPresence BitPersonaPresence.None Presence of the person to display - will not display presence if undefined.
PresenceIcon BitIconInfo? null The icon rendered inside the presence dot of the current Presence, for a persona that shows a single status and needs no map of all of them. A matching entry of PresenceIcons or PresenceIconNames takes precedence over it.
PresenceIconName string? null The name of the icon rendered inside the presence dot of the current Presence. Ignored when PresenceIcon is set.
PresenceIcons Dictionary<BitPersonaPresence, BitIconInfo>? null The icons to be used for the presence status with BitIconInfo. Takes precedence over PresenceIconNames when both are set.
PresenceIconNames Dictionary<BitPersonaPresence, string>? null The icon names to be used for the presence status.
PresenceTitle string? null Presence title to be shown as a tooltip on hover over the presence icon.
PresenceTitles Dictionary<BitPersonaPresence, string>? null The titles to be shown as a tooltip on hover over the presence dot, one per status. The matching entry also becomes the accessible name of the dot and takes precedence over PresenceTitle.
PrimaryText string? null Primary text to display, usually the name of the person.
PrimaryTextTemplate RenderFragment? Custom primary text template.
SecondaryText string? null Secondary text to display, usually the role of the user.
SecondaryTextTemplate RenderFragment? Custom secondary text template.
Shape BitPersonaShape? null The outline of the coin: a circle, a rounded square or a sharp one. Supersedes Squared, and wins over it when both are set.
ShowInitialsUntilImageLoads bool false If true renders the initials while the image is loading. This only applies when an imageUrl is provided. The initials sit behind the picture and are covered the moment it arrives.
ShowOverflowTooltip bool true Whether each of the four detail texts carries itself as a native tooltip, for reading the part of it that the row had to clip.
ShowSecondaryText bool false Shows the secondary text at every size, including the small ones that normally leave no room for it.
Unknown bool false If true, show the special coin for unknown persona. It shows an icon in place of the initials, and takes precedence over the image and the initials.
UnknownIcon BitIconInfo? null Icon for the unknown persona coin using BitIconInfo. Takes precedence over UnknownIconName when both are set.
UnknownIconName string? null Icon name for the unknown persona coin.
Rel BitLinkRels? null Sets the rel attribute of the coin when Href renders it as a link. When it is not set and Target is _blank, rel="noopener" is added automatically.
Reversed bool false Reverses the texts and image location.
Size BitPersonaSize BitPersonaSize.Size48 Decides the size of the control.
Squared bool false If true, renders the coin with a rounded square shape instead of the default circular shape. This is the shorthand for Shape=Rounded; a Shape of its own takes precedence over it.
Styles BitPersonaClassStyles null Custom CSS styles for different parts of the BitPersona component.
Target string? null Sets the target attribute of the coin when Href renders it as a link.
TertiaryText string? null Tertiary text to display, usually the status of the user. The tertiary text will only be shown when using size72, size100 or size120.
TertiaryTextTemplate RenderFragment? null Custom tertiary text template.

BitComponentBase parameters

Name Type Default value Description
AriaLabel string? null Gets or sets the accessible label for the component, used by assistive technologies.
Class string? null Gets or sets the CSS class name(s) to apply to the rendered element.
Dir BitDir? null Gets or sets the text directionality for the component's content.
ForceAnimation bool false Gets or sets a value indicating whether the component's animations play at their full duration even when reduced motion is requested.
HtmlAttributes Dictionary<string, object> new Dictionary<string, object>() Captures additional HTML attributes to be applied to the rendered element, in addition to the component's parameters.
Id string? null Gets or sets the unique identifier for the component's root element.
IsEnabled bool true Gets or sets a value indicating whether the component is enabled and can respond to user interaction.
Style string? null Gets or sets the CSS style string to apply to the rendered element.
TabIndex string? null Gets or sets the tab order index for the component when navigating with the keyboard.
Visibility BitVisibility BitVisibility.Visible Gets or sets the visibility state (visible, hidden, or collapsed) of the component.

BitComponentBase public members

Name Type Default value Description
UniqueId Guid Guid.NewGuid() Gets the readonly unique identifier for the component's root element, assigned when the component instance is constructed.
RootElement ElementReference Gets the reference to the root HTML element associated with this component.

BitPersonaClassStyles properties

Name Type Default value Description
Root string? null Custom CSS classes/styles for the root element of the BitPersona.
CoinContainer string? null Custom CSS classes/styles for the coin container of the BitPersona.
PresentationIcon string? null Custom CSS classes/styles for the presentation icon of the BitPersona.
Presentation string? null Custom CSS classes/styles for the presence dot of the BitPersona at Size8. Kept for backward compatibility - Presence is applied to the dot at every size and is what new code should use.
ImageContainer string? null Custom CSS classes/styles for the image container of the BitPersona.
UnknownIcon string? null Custom CSS classes/styles for the unknown icon of the BitPersona.
CoinIcon string? null Custom CSS classes/styles for the coin icon of the BitPersona, which is the icon shown inside the coin in place of the initials.
ImageOverlay string? null Custom CSS classes/styles for the image overlay of the BitPersona.
ImageOverlayText string? null Custom CSS classes/styles for the image overlay text of the BitPersona.
Initials string? null Custom CSS classes/styles for the initials of the BitPersona.
Image string? null Custom CSS classes/styles for the image of the BitPersona.
ActionButton string? null Custom CSS classes/styles for the action button of the BitPersona.
ActionButtonIcon string? null Custom CSS classes/styles for the action button icon of the BitPersona.
Presence string? null Custom CSS classes/styles for the presence dot of the BitPersona.
DetailsContainer string? null Custom CSS classes/styles for the details container of the BitPersona.
PrimaryTextContainer string? null Custom CSS classes/styles for the primary text container of the BitPersona.
SecondaryTextContainer string? null Custom CSS classes/styles for the secondary text container of the BitPersona.
TertiaryTextContainer string? null Custom CSS classes/styles for the tertiary text container of the BitPersona.
OptionalTextContainer string? null Custom CSS classes/styles for the optional text container of the BitPersona.

BitIconInfo properties

Name Type Default value Description
Name string? null Gets or sets the name of the icon. For external icons, this can be the full CSS class name if "BaseClass" and "Prefix" are empty.
BaseClass string? null Gets or sets the base CSS class for the icon. For external icon libraries like FontAwesome, you might set this to "fa" or leave empty.
Prefix string? null Gets or sets the CSS class prefix used before the icon name. For external icon libraries, you might set this to "fa-" or leave empty.

BitPersonaPresence enum

Name Value Description
None 0 No presence is known or worth showing, so no dot is rendered at all.
Offline 1 The person is signed out.
Online 2 The person is signed in and available.
Away 3 The person is signed in but idle.
Dnd 4 The person has asked not to be interrupted.
Blocked 5 The person cannot be reached from here.
Busy 6 The person is signed in and occupied.
OutOfOffice 7 The person is away from work for an extended period.
Unknown 8 The presence of the person could not be determined.

BitPersonaSize enum

Name Value Description
Size8 0 A presence dot and the primary text only, with no coin at all.
Size24 1 A 24px coin with the primary text.
Size32 2 A 32px coin with the primary text.
Size40 3 A 40px coin with the primary and secondary texts.
Size48 4 A 48px coin with the primary and secondary texts.
Size56 5 A 56px coin with the primary and secondary texts.
Size72 6 A 72px coin with the primary, secondary and tertiary texts.
Size100 7 A 100px coin with all four texts.
Size120 8 A 120px coin with all four texts.

BitColor enum

Name Value Description
Primary 0 Primary general color.
Secondary 1 Secondary general color.
Tertiary 2 Tertiary general color.
Info 3 Info general color.
Success 4 Success general color.
Warning 5 Warning general color.
SevereWarning 6 SevereWarning general color.
Error 7 Error general color.
PrimaryBackground 8 Primary background color.
SecondaryBackground 9 Secondary background color.
TertiaryBackground 10 Tertiary background color.
PrimaryForeground 11 Primary foreground color.
SecondaryForeground 12 Secondary foreground color.
TertiaryForeground 13 Tertiary foreground color.
PrimaryBorder 14 Primary border color.
SecondaryBorder 15 Secondary border color.
TertiaryBorder 16 Tertiary border color.

BitPersonaShape enum

Name Value Description
Circular 0 A circle, which is the shape a picture of a person is shown in.
Rounded 1 A square with the rounded corners of a control, which is the shape most design systems reserve for entities - teams, rooms, service accounts - rather than people.
Square 2 A square with sharp corners, for a tile or a logo that has to fill the coin edge to edge.

BitPersonaActiveAppearance enum

Name Value Description
Ring 0 Draws a ring around the coin in the coin color, separated from it by a gap in the page background color.
Shadow 1 Lifts the coin with an elevation shadow.
RingShadow 2 Combines the ring and the elevation shadow.

BitVariant enum

Name Value Description
Fill 0 Fill styled variant.
Outline 1 Outline styled variant.
Text 2 Text styled variant.

BitImageLoading enum

Name Value Description
Eager 0 The default behavior, eager tells the browser to load the image as soon as the img element is processed.
Lazy 1 Tells the user agent to hold off on loading the image until the browser estimates that it will be needed imminently.

BitVisibility enum

Name Value Description
Visible 0 The content of the component is visible.
Hidden 1 The content of the component is hidden, but the space it takes on the page remains (visibility:hidden).
Collapsed 2 The component is hidden (display:none).

BitDir enum

Name Value Description
Ltr 0 Ltr (left to right) is to be used for languages that are written from the left to the right (like English).
Rtl 1 Rtl (right to left) is to be used for languages that are written from the right to the left (like Arabic).
Auto 2 Auto lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then applies that directionality to the whole element.

Feedback

Found a mistake, a gap, or something that could be clearer? Every page and every component is one click from its source.