Примитивы
20

Avatar

Лицо — или инициалы вместо него. Имя живёт на корне, а не на картинке: с инициалами никакого <img> нет, а сами буквы — украшение: «AB» вслух это шум. Поэтому же initials необязателен: имя у аватара уже есть, буквы выводятся из него, а передавать их вручную нужно там, где такой вывод неверен.

чистая разметка — библиотеки на странице нет
отрендерил aura-react
отрендерил aura-vue
отрендерил aura-svelte
собрано из классов самого aura-angular

Код

index.html
<span role="img" aria-label="Ann Lee" class="aura-avatar aura-avatar--sm"><span aria-hidden="true">AL</span></span>
<span role="img" aria-label="Bo Ng" class="aura-avatar"><span aria-hidden="true">BN</span></span>
<span role="img" aria-label="Cy Kim" class="aura-avatar aura-avatar--lg"><span aria-hidden="true">CK</span></span>
Demo.tsx
import { Avatar } from '@ilomee/aura-react';

export default function Demo() {
  // `initials` здесь не передан: имя для скринридера у аватара уже есть, поэтому буквы выводятся из
  // него. Передавайте `initials` только там, где такой вывод неверен.
  return (
    <>
      <Avatar alt="Ann Lee" size="sm" />
      <Avatar alt="Bo Ng" />
      <Avatar alt="Cy Kim" size="lg" />
    </>
  );
}
Demo.vue
<script setup lang="ts">
import { Avatar } from '@ilomee/aura-vue';
</script>

<template>
  <Avatar alt="Ann Lee" />
  <Avatar alt="Cy Kim" size="lg" />
</template>
Demo.svelte
<script lang="ts">
  import { Avatar } from '@ilomee/aura-svelte';
</script>

<Avatar alt="Ann Lee" />
<Avatar alt="Cy Kim" size="lg" />

Используется как aura-avatar.

demo.component.ts
import { AuraAvatar } from '@ilomee/aura-angular';

@Component({
  standalone: true,
  imports: [AuraAvatar],
  template: `
    <aura-avatar alt="Ann Lee" />
    <aura-avatar alt="Cy Kim" size="lg" />
  `,
})
export class DemoComponent {}

Пропсы

У чистой разметки нет пропсов — классы ниже и есть весь API. Четыре пакета не делают ничего сверх того, что проставляют вам те же самые классы.
ИмяТипПо умолчаниюПримечания
srcstring
altstringДоступное имя, на корне, — и источник инициалов.
initialsstringЕсли не передан, выводится из alt. Передавайте для имён, где такой вывод неверен.
size'sm' | 'md' | 'lg''md'
ИмяТипПо умолчаниюПримечания
srcstring
altstring
initialsstring
size'sm' | 'md' | 'lg''md'
ИмяТипПо умолчаниюПримечания
srcstring
altstring
initialsstring
size'sm' | 'md' | 'lg''md'
ИмяТипПо умолчаниюПримечания
srcstring
altstring
initialsstring
size'sm' | 'md' | 'lg''md'

Какие классы отдаёт

Все фреймворки отдают одни и те же классы — именно поэтому четыре библиотеки выглядят одинаково. Их можно использовать напрямую, вообще без библиотеки компонентов.

КлассРольПримечания
.aura-avatarбазаОбязательный. Без него модификатор не работает.
.aura-avatar--smмодификатор
.aura-avatar--lgмодификатор

Токены и правила

components.css
размер
var(--avatar-sm|md|lg) — modifiers generated from the tokens
инициалы
initialsFrom(alt) — first letter of the first and last word