Repository navigation
Domma v0.50.0
v0.50.0 - Faces and Fine Print (2026-09-28)
Avatars - E.avatar() draws a person as their picture, their initials or an icon, and
E.avatarGroup() stacks a team with a "+N" for the rest. Plus a small set of accessibility and text
utilities: screen-reader-only text, skip links, line clamping, whole-card links and a divider with a
word in it.
👤 Avatar
-
E.avatar(target, {name, src, size, shape, status, ring}). Initials come from the first and last
word, one letter for a single name, the part before the @ of an email address, in any script.
The name picks one of eight tints by a stable hash, so a person has the same colour on every page. -
Every tint follows the theme on both sides - the hue mixed into the surface, the initials into the
text - so the initials stay AA on all 39 themes (the weakest pair measures 5.2:1). -
A picture that fails to load falls back to the initials. Five sizes (
xstoxl), circle,
rounded or square, a status dot (online,away,busy,offline- busy barred and offline
hollow, so colour is not the only cue) and a ring. -
Each avatar is named for screen readers - "Jane Smith (online)" - and the picture has an empty
alt.data-avatar="Jane Smith"withE.avatar.scan()does it without script.
👥 Avatar groups
-
E.avatarGroup(target, {people, max, size, overlap})renders a list of overlapping avatars
separated by a ring in the background colour, with a small lift on hover. Earlier avatars sit on
top, so status dots stay in view. -
Past
max, a "+N" button names the hidden people for screen readers and opens a popover listing
them - or calls youronMore. People with anhrefbecome links.
♿ Accessibility and text utilities
-
.sr-only(Bootstrap's.visually-hiddenworks too) keeps text for screen readers only;
.sr-only-focusableshows it again on focus, and.skip-linkis a ready-made skip link that
appears top left when Tab reaches it..not-sr-onlyundoes it. -
.line-clamp-1to.line-clamp-5cut text after that many lines;.line-clamp-noneundoes it.
.text-truncatejoins.truncate. -
.stretched-linkmakes a whole card follow its main link, with the focus ring round the card. -
.divider-textdraws a rule either side of a word - "or" between two sign-in buttons. -
The showcase layout keeps a page's skip link ahead of its navbar.
-
New showcase pages for Avatar and for the utilities, with a tutorial, and
docs/Avatar.md.